关于词向量算法
算法做的事就是只是:计算词在特定上下文环境中出现的概率
但是最后得到的向量却具有了很多意料之外的性质,比如近义词等等
关于优化论 - 梯度下降
其实这门课的学习不会涉及到太多关于优化论细节的东西,所以只是简单过
在词向量的优化过程和视觉网络的优化是有一个很大的不同之处的
在SGD优化的时候,大多数维数是空的,因为每次都取一个窗口或几个窗口
(SGD就是在做Likelihood的时候把累乘符号去掉,变成随即抽取)
为什么每个词对应两个向量呢?
教授的解释是如果用两个更容易解释明白且更容易优化,其实一个也行.
如果两个向量做的好,理论上最后两个向量会统一(似乎是这个意思)
不同的W2V模型
有很多不同生成词向量的模型,大致分为两类
负采样 Negative Sampling
这里似乎提到了一个计算量的问题,而负采样可以解决
问题出在分母上.太朴素了.分母表示当前语料中每个词出现在该中心词周围语境的概率
比如对应语句:
The quick fox jumped over the dog.
对应的损失函数变为:
也就是说要让和正确的环境词的内积尽可能大,和错误次的内积尽可能小
其实差距不太大,原来是想让X/X+Y尽可能大 现在是让X-Y尽可能大
目的都是一样的 形式不同而已吧
当然里面肯定还有更深层的原因,这只是一种解释而已
朴素贝叶斯 Naive Byies
token
为什么不进行统计计数预测
如何评估词向量的好坏
很难
还有很多其他论文分享,实在看不明白
词感 word sense
很多词,尤其是常用词和老旧词,会有很多的意思
那么一个向量能够支持所有的词义嘛
有研究表明,如果给某个词仅一个向量,那么这个向量就是所有词义的平均向量
直觉上认为平均向量是没有实际意义的,用不了
但是实际上,在一个高维且稀松的矩阵里,平均值是可以被重新解构的
也就是说,一个向量就足够了
很神奇…