NLP
文章平均质量分 72
得克特
深度学习 python
展开
-
生成模型与判别模型
决策函数Y=f(X)和条件概率分布P(Y|X)监督学习,以分类器为例,实际学习的是决策函数:输入X,计算Y。决策函数Y=f(X)Y=f(X)Y=f(X)时,将Y与一个阈值比较,判断X的类别,例如二分类,Y大于阈值,属于类别0,Y小于阈值,属于类别1.条件概率分布P(Y∣X)P(Y|X)P(Y∣X),输入X,比较输出概率最大的作为X对应的类别,例如二分类:P(Y=0∣X)>P(Y=1∣X)P(Y=0|X)>P(Y=1|X)P(Y=0∣X)>P(Y=1∣X),则属于类别0.上述两个原创 2021-08-13 00:57:21 · 103 阅读 · 0 评论 -
条件随机场-Conditional Random Field(CRF)
文章目录什么是条件随机场?隐马尔科夫模型HMM (生成模型)CRF什么是条件随机场?Random指的隐藏状态随机变量Y和观测状态随机变量X。Conditional指条件概率,所以CRF是一个判别式模型 (discriminative model)。而生成式模型则计算联合概率分布。关于生成模型和判别模型,这里有比较形象的描述 机器学习面试之生成模型VS判别模型隐马尔科夫模型HMM (生成模型)以词性标注任务为例,给定一个观测序列即输入文本X,计算输出词性序列YP(Y∣X)=P(X∣Y)∗P(Y)原创 2021-08-12 00:15:14 · 296 阅读 · 1 评论 -
L1和L2正则
文章目录正则化L1正则L2正则区别为什么权值衰减正则化L1正则L1正则化是所有参数的绝对值之和,这就要求所有参数的绝对值之和最小,求导,导数可能为1或-1,而绝对值的取值是大于等于0的,那么就可能导致某些参数在更新的时候趋于0L2正则L2正则化是所有参数平方和,导数为2w2w2w,每个参数更新的量与参数www本身相关,www在更新时,会逐渐变慢,www逐渐变小趋于0,而不会变为0。区别L0和L1的区别:L0范数是指向量中非0的元素的个数,如果我们用L0范数来规则化一个参数矩阵W的话,希望W原创 2021-07-28 23:45:26 · 762 阅读 · 0 评论 -
字典树trie与分词
刷LeetCode会遇到字典树这道题,但是还不知道有这么多的应用文本识别相关词其实就是匹配词表,找到包含的最长词,我在最后附一个样例代码分词读苏神【中文分词系列】 1. 基于AC自动机的快速分词发现字典树还用于分词,与AC自动机一起,AC自动机主要是KMP算法,python的实现库为pyahocorasick使用方式就是add + make,可以点这里简单看下ahocorasick使用苏神应用AC自动机主要做的分词,最大匹配法、最大概率组合这里贴个最大概率组合的代码,更多直接看原博客def原创 2021-01-12 18:25:05 · 347 阅读 · 0 评论 -
TimeDistributed 简介
TimeDistributed应用一个layer到每个时间步输入至少是三维(层的build函数里会判断),index 1 被认为是时间步的维度举个例子 输入(32,10,16) batch_size=32 sequence_length=10 hidden_size=16,应用Dense到每个时间步 # as the first layer in a model model = Sequential() model.add(TimeDistributed(Dense(8)原创 2021-01-21 10:26:21 · 2423 阅读 · 0 评论 -
分词 学习总结
本文主要是对苏神的四篇分词博客的学习和总结【中文分词系列】 1. 基于AC自动机的快速分词分词中文分词主要有两种思路:查词典和字标注。机械的最大匹配法、最少词数法,以及基于有向无环图的最大概率组合,还有基于语言模型的最大概率组合。最大概率法尤其是结合了语言模型的最大概率法,能够很好地而解决歧义问题 (歧义问题这里有较详细的描述漫话中文自动分词和语义识别(上):中文分词算法)另外一个问题则是未登录词,人们也提出了基于字标注的思路(通过sbme标注字),后面详细实践一下。基于AC自动机的分词AC自动机原创 2021-01-18 10:37:06 · 369 阅读 · 0 评论 -
Bert MLM
Bert MLM(masked language model)是一个很有前景的方向,开个帖子记录下相关的发展思路.MLM小样本学习这篇论文我没有看,是从苏神的博客学到的,本质上是把MLM应用到文本分类,比如,我们想做一个情感分类,只需要在句子前面加上前缀“——满意”,填充的内容包括“很”和“不”,这样就可以把情感分类转化为mask填充问题。具体的训练称之为Pattern-Exploiting Training,训练方式采用半监督(大量无监督的样本+少量标签样本),效果很可观。必须要GPT3吗?不,BE原创 2021-01-07 17:38:16 · 2295 阅读 · 0 评论 -
Bert源码学习
文章目录前言modeling.py前言网上关于bert的介绍文章有很多,不乏相当优秀的文章,只是大部分偏重理论没有代码,看起来总觉得少点什么,最近正好看相关代码,结合理论记录一下理解的理论和疑问。有以下几个关键点:1.Bert的编码层采用transformer的decoder部分(多头双向编码器),如果要看代码可以参考Transformer 代码详解2.Bert训练的双向模型,其应用的...原创 2019-12-12 17:49:27 · 732 阅读 · 0 评论 -
TextCNN原理、结构、代码
文章目录原理网络embeddingconvolution and pooling模型图代码有个需求,给短文本分类,然后看了下文本分类的算法传统机器学习算法:分为特征提取、分类两部分深度学习算法:融合特征提取和分类,fastText、TextCNN、TextRNN、TextRCNN以及最近很火的bert算法,本文主要记录一下TextCNN。参考深度学习:TextCNNTextCNN模...原创 2019-10-24 17:56:25 · 6355 阅读 · 0 评论 -
TransE代码实践(很详细)
TranE是一篇Bordes等人2013年发表在NIPS上的文章提出的算法。它的提出,是为了解决多关系数据(multi-relational data)的处理问题。TransE的直观含义,就是TransE基于实体和关系的分布式向量表示,将每个三元组实例(head,relation,tail)中的关系relation看做从实体head到实体tail的翻译,通过不断调整h、r和t(head、relat...原创 2019-09-27 15:16:51 · 9308 阅读 · 12 评论 -
Label Smoothing Regularization理论和代码分析
文章目录理论代码理论优化策略5 Label Smoothing Regularization_LSR原理分析代码我选择的transformer的代码class LabelSmoothing(nn.Module): "Implement label smoothing." def __init__(self, size, padding_idx, smoothing=0.0...原创 2019-09-06 16:54:09 · 721 阅读 · 0 评论 -
Transformer 代码详解
理论这篇文章看理论确实足够了!BERT大火却不懂Transformer?读这一篇就够了代码Multi-Head Attention这里分为两点,多头和自注意力class MultiHeadedAttention(nn.Module): def __init__(self, h, d_model, dropout=0.1): "Take in model size ......原创 2019-09-11 16:37:34 · 18600 阅读 · 9 评论 -
Tranformer + ELMO + BERT学习
文章目录总体了解Transformer总体了解从Word Embedding到Bert模型【NLP】彻底搞懂BERT通过上述两篇可以了解从Word2vec到Transformer,从ELMO到BERT发展的情况。Transformer理论知识强烈推荐这篇文章,解决了我很多比较细节的问题:BERT大火却不懂Transformer?读这一篇就够了原文代码一步步跟着做即可,相当好的教程!...原创 2019-08-26 17:37:20 · 211 阅读 · 0 评论