National Taiwan University (NTU)李宏毅老师的《Machine Learning》的学习笔记,因此在全文对视频出现的内容多次引用。初出茅庐,学艺不精,有不足之处还望大家不吝赐教。
欢迎大家在评论区多多留言互动~~~~
1. 为什么要使用词嵌入(Word Embedding)
在词嵌入之前往往采用 1-of-N Encoding 的方法,如下图所示
这种方法主要有两个 缺点,首先这种表示是正交的,但是正是由于正交性使得具有相似属性的词之间的关系变得微弱;其次这种编码方式使得码字很长,比如说一共有10万个单词,那么就需要一个长度为10万的串进行编码。
为了克服这样的缺点,采用了词嵌入(Word Embedding)的方法。这种方法将词映射到高维之中(但是维数仍比 1-of-N Encoding 低很多),相似的单词会聚集在一起,而不同的单词会分开;每个坐标轴可以看作是区分这些单词的一种属性,比如说在上图中,横坐标可以认为是生物与其他的区别,纵坐标可以认为是会动和不会动的区别。
2. 为什么词嵌入(Word Embedding)是无监督学习
因为在进行学习的过程中,我们只知道输入的是词的一种编码,输出的是词的另一种编码,但是并不知道具体应该是怎样的一种编码,所以是无监督学习。
有的人可能想可以通过自编码的方式实现词嵌入,但是如果你得输入是 1-of-N Encoding 的话,是基本上不可以采用这样的方法处理的 ,因为输入的向量都是无关的,很难通过自编码的过程提取出什么有用的信息。
3. 词嵌入(Word Embedding)的两种方式
词嵌入(Word Embedding)主要有基于统计(Count based )和基于预测(Perdition based)的两种方法。
3.1 基于统计(Count based )
这种方法的主要思路如下图所示