word2vec

目标;对于一个很稀疏的特征,如onehot,想把它压缩到维度很小,并且不同的one-hot向量之间不再是相互正交的。

实现方式是用神经网络,输入和输出均为one-hot,取中间隐藏层的结果作为该输入对应的embedding特征,以CBOW模型为例。

输入为上下文单词对应的one-hot,来预测当前单词的one-hot,损失函数为y与y_hat的交叉熵,最终得到权重矩阵W 和W'。

训练时,C个上下文单词乘以W得到隐向量后求平均,再乘以W'得到y_hat,与y计算loss,反向传播修正权重W,W'


对于量级比较大的情况,有两个问题:

1. 数据库的数据怎么接入python训练?

2. W维度太高需要大量数据和时间,怎么改善?


参考

https://blog.csdn.net/yu5064/article/details/79601683

你可能感兴趣的:(word2vec)