深度学习是我接触了解比较少的,只看过吴恩达的视频课还有《深度学习入门–基于python的理论与实现》(还是转发爱可可老师抽奖中的),基础薄弱,但是我觉得比ML要简单(emmm,不知道我哪来的自信)。。。
word2Vec
word2Vec的原理?能详细的说一下CBOW和skip garm的区别和适用场景分别是什么?
- word2vec原理
- word2vec是词向量的求解模型,输入:大量已分好词的文本,输出:用一个稠密向量表示每一个词
- word2Vec就是简化的神经网络模型:
输入的是one-hot vector,隐藏层是没有激活函数,即线性单元,输出层和输入层维度相同,使用的是softmax回归;损失函数是交叉熵(对数)损失函数;我们为每个词获取的稠密向量,其实就是从输入层到隐藏层的权重。
- CBOW和skip-garm的区别:
https://www.cnblogs.com/bincoding/p/9065110.html
https://blog.csdn.net/weixin_38526306/article/details/88803803- CBOW是输入某个特征词的上下文相关的词对应的词向量,输出就是这个特定词的词向量,即先验概率;
- skip garm输入的特定的一个词的词向量,输出是特定词对应的上下文的词向量,即后验概率。
- CBOW和skip-garm的应用场景:CBOW对小型数据库比较合适,而Skip-Gram在大型语料中表现更好。
- 两种高效的训练方法:负采样(negative sampling)和层序softmax(hierarchical softmax)
说一下skip-gram的负采样
- 首先需要明确的是无论是skip-gram还是cbow,都是用模型来训练一个嵌入矩阵E。
- 举例理解skip-gram:
假设有一句话为 i like playing basketball. 那么skip-gram 要做的就是:- 在这句话中选择出一个上下文词,假设这个词为playing。
- 然后再给定一个数字n(窗口),在上下文词的前n个词与后n个词中间选择出目标词。 比如假如