![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
AI
文章平均质量分 58
learn-to-live
这个作者很懒,什么都没留下…
展开
-
手把手教你解读Bert结构及代码分析
Bert是基于transformer 的Encoder作为特征提取器的一个预训练模型。首先来看Transformer结构图.transformer一开始是用来做机器翻译的模型。所以他是一个传统的Seq2Seq结构,包括一个Encoder和Decoder。而Bert只用到了Encoder的部分,及下图所示。包含N个相同的transformer-Encoder。每一个transfromer-Encoder包含两个子模块:Multi-Head-Attention和Feed-Forward原创 2021-03-12 15:03:21 · 694 阅读 · 0 评论 -
Doc2vec
Doc2Vec 是基于Word2Vec的思想。只是巧妙的加了一个paragraph id 以此来表示整个文档的向量分布。假设一篇文章共有N个段落,M个词汇。然后预测时采用给定一个paragraph id 预测该paragraph 下的一些词。...原创 2021-02-24 14:48:39 · 306 阅读 · 1 评论 -
文本聚类kmeans
最近做一些文本挖掘的项目,其中用到了文本聚类相关算法,比如kmeans.就kmeans算法做一些简单记录.Kmeans是一种非常常见的聚类算法,算法的核心思想非常简单.1.给定K个类别,选取K个中心点2.对于任意其他数据,计算他与这K个中心点的距离,选取距离最近的那个中心点作为该点的类别.3.重新计算中心点,用同一类别的所有点的均值作为新的中心点,4.重复步骤2,直到新的中心点与旧的中心点的距离再某个设定阈值内即可.kmeans的几个关键问题:1.首先K值如何选取,.原创 2021-02-20 17:13:56 · 713 阅读 · 0 评论 -
boosting相关算法整理
Boosting 和 BaggingBoosting:通过将一些表现效果一般的模型通过特定方法进行组合来获得一个表现效果较好的模型。Bagging 是通过多次抽取数据,产生多个训练集,训练多个模型,最终在某个任务进行投票,每一个基准模型都是同样重要。Adaboost:针对boosting中如何训练1弱分类器的组合2改变样本的权值和分布两个问题作出回答1.Adaboost采取加权多数表决的方法,加大分类误差率小的弱分类器的权重,使其在最终的分类器表决中起较大作用,减..原创 2021-02-19 14:33:30 · 156 阅读 · 0 评论 -
hugging face 预训练模型
发现一个很好用的预训练模型网站:https://huggingface.co,里面有超级多的预训练模型,常见的bert,robert,gpt,electra,xlnet等。使用方法也很简单,https://huggingface.co/transformers/index.html。以bert为例:只需要下载https://huggingface.co中的预训练模型及配套的config,vocab等文件加载时只需要两步1.from transformers.models.bert.mo原创 2021-02-18 14:31:33 · 1101 阅读 · 2 评论 -
cbow 和 skip 解析
CBOW(continue bag of words)取滑动窗口大小为C的词,词汇表大小为V,构成输入的one_hot向量,W(c,v)矩阵,经过一个全连接层,W(v,n),将V维的one hot 向量映射到N 维空间上再然后,用一个参数为W(n,v)的全连接层,将原来的N维空间,映射到C维空间,去预测中心词的概率。前向结构:1. input_layer C个V维的向量。2.input_layer ---> hidden_layer 全连接,将C个V维向量转化成C个N...原创 2020-11-23 17:35:09 · 255 阅读 · 0 评论