「李宏毅机器学习」学习笔记-Unsupervised Learning - Word Embedding
Word Embedding是Dimension Reduction的一个非常好、非常广为人知的应用。
最典型的做法就是使用一个vector来表示一个word,维度是世界上所有word的数目,每一个word对应到其中一维。1-of-N Encoding不能体现单词之间的关系(如不能体现cat,dog之间的关系),改进为word class之后,不能体现类之间的关系(如不能体现class 1与class 2之间的关系),所以我们需要词向量。
词向量就是把每一个word都映射到高维空间上,虽然说是高维空间,其实通常都比1-of-N Encoding的维度要低。
Word Embedding
- Machine learn the meaning of words from reading a lot of documents without supervision
- Generating Word Vector is unsupervised
- A word can be understood by its context
How to exploit the context?
Count based
Prediction based
这个方法需要learn一个neural network,输入前一个word,然后模型预测下一个可能出现的word 是哪个。每一个word用1-of-N Encoding表示成一个特征向量。模型output的维度就是向量的size,每一维代表是这个word是下一个word的几率。
我们可以把第一层hidden layer的input拿出来,当作word的Embedding。
例如“蔡英文 宣誓就职”、”马英九 宣誓就职“,虽然前边部分不同,但是后半部分均为”宣誓就职”。为了让output的地方output均为“宣誓就职”,中间的hidden layer就要学会把不同的词汇通过参数的转换,把它们对应到同样的空间。
当输入有多个词的时候,需要共享参数,一方面是为了保证每个word对应的词向量一样,另一方面是为了减少参数量。
Word Embedding效果
Other Embedding
image经过neural network得到一个vector(与word vector类似)。对训练时没出现的类别也可以进行分类。
如果本博文对您有帮助,可以赞助支持一波博主~
推荐阅读
- 本文链接:https://blueschang.github.io/2018/12/25/「李宏毅机器学习」学习笔记-Unsupervised Learning - Word Embedding/
- 版权声明:本博客所有文章除特别声明外,均采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 许可协议。转载请注明出处!