知识预备
在了解wrod2vec之前,我们需要了解sigmoid函数,贝叶斯公式,哈夫曼编码等内容。
sigmoid函数
使用过逻辑回归的同学应该了解,是一个定义域为(-∞,+∞),值域为(0,1),其定义为:
函数图像如下:
贝叶斯公式
贝叶斯公式是用来描述两个条件概率之间的关系,基于贝叶斯公式的分类方法可以查看我之前写的文章 http://www.jianshu.com/p/7b0ab1bddaf0 。
哈夫曼(hufuman)编码
赫夫曼编码的具体方法:先按出现的概率大小排队,把两个最小的概率相加,作为新的概率 和剩余的概率重新排队,再把最小的两个概率相加,再重新排队,直到最后变成1。每次相 加时都将“0”和“1”赋与相加的两个概率,读出时由该符号开始一直走到最后的“1”, 将路线上所遇到的“0”和“1”按最低位到最高位的顺序排好,就是该符号的赫夫曼编码。
哈夫曼(hufuman)树的构造
简单来说,假设有给定 n个权值{w1,w2,w3,...,wn}, 我们可以把这些通通看成一颗树,每棵树只有一个节点。
1.从这些权值中找出最小的两个,合并构建一棵新的树,这两个权值分别作为新树的左右子树,新树的根节点则是子树根节点和相加。
2.n个权值中去除合并的值,添加新树的值,继续上一步骤,直至所有的权值合并完全。
举个例子:
由图可见,权值越大的离根节点越近。