cbow word2vec 损失_Word2Vec的核心思想
本文介绍Word2Vec是基于Skip-Gram架构,本文只介绍核心思想,具体权重更新参考论文。
本文与论文同时饮用较好!
理解Word2Vec核心思想的步骤是先理解one word -> one word如何获取词向量,而Skip-Gram架构和CBOW架构是再次基础之上进行了输入或者输出的改变。
One-Word Context
One-Word Context是只是用一个单词预测另一个单词。其架构图为:
即只有两层全连接神经网络,并且隐藏层为先行层。输入层为每个单词的one-hot encoder,输出为下一个单词的预测。输出是Softmax处理后的概率值,那个维度的概率值大则为某个单词。
其中词向量为W的行向量或者W'的列向量,一般使用W的行向量作为输入词的词向量,也即是输入向量(One-hot encoder)与W的转置相乘之后隐藏层的结果。
CBOW架构
CBOW架构只是在one->one的基础之上输入层到隐藏层为:输入层的平均和。
Skip-Gram架构
只是在输出时,偏差为所有panel的偏差之和。
其中u为预测输出。
Hierarchical Softmax
Hierarchical Softmax是使用output-layer的每一个panel(即单词的输出评分),该输出评分的每一个维度为输出向量和输入向量的内积。根据每一维度的大小构建二叉树(常用哈夫曼树,建议看看哈夫曼树的构建)。
对于构建哈夫曼树的权重进行Sigmoid函数处理,把它压缩在[0,1]之间,形成往左子树走的概率,则往右子树走的概率为1-P(左)。
如上图,从根节点往w2走,走的方向有向左->向左->向右走。(上图非哈夫曼树,但思想一致。)
把从根节点走到w2的路径的概率乘积即为预测概率,从而求出每个panel维度的概率。
loss函数:
负采样
负采样是在Hierarchical Softmax的loss函数基础之上,添加了负采样。
因此,损失函数为:
负采样的核心思想是根据词频进行选择sqmple更新权重,而不是所有权重;并且进行预测的单词权重必须更新,在所有非预测单词的权重进行负采样更新。
代码实现
from gensim.models import Word2Vec
# 必须为字符串,才能进行训练
docs = [['30760','157507'],['289197','63746'],['36162','168401'],['50644','361620']]
wv = Word2Vec(docs,size=12,sg=1,window=2,workers=10,min_count=1,iter=10)
wv['30760']
参考文献
[1]. word2vec Parameter Learning Explained(论文)
[2].https://zhuanlan.zhihu.com/p/26306795
[3].深度学习与推荐系统(王喆)
cbow word2vec 损失_Word2Vec的核心思想相关推荐
- cbow word2vec 损失_word2vec个人总结-理论篇
word2vec不算新,但是在工业界有广泛应用.该方法利用词在各滑动窗口的共现现象建模词的潜在关系,并最终得到词向量(word embedding).如果两个词的embedding向量内积较大,则表示 ...
- cbow word2vec 损失_word2vec是如何得到词向量的?
前言 word2vec是如何得到词向量的?这个问题比较大.从头开始讲的话,首先有了文本语料库,你需要对语料库进行预处理,这个处理流程与你的语料库种类以及个人目的有关,比如,如果是英文语料库你可能需要大 ...
- cbow word2vec 损失_Word2vec之CBOW
一.Word2vec word2vec是Google与2013年开源推出的一个用于获取word vecter的工具包,利用神经网络为单词寻找一个连续向量看空间中的表示.word2vec是将单词转换为向 ...
- cbow word2vec 损失_词向量word2vec之CBOW算法
词向量模型之CBOW模型的原理与实现 关于词向量模型word2rec,平台里只有skip-gram一个模型的代码实现,本项目将对word2rec算法的第二个模型--CBOW模型进行补充 此项目用于交流 ...
- cbow word2vec 损失_Skip-gram和CBOW知识点
本文涉及的内容: 如何构造HuffMan树 Hierarchical Softmax似然函数 skip-gram似然函数 CBOW似然函数 Negative Sampling方法 一 HuffMan树 ...
- Lesson 8.1Lesson 8.2 决策树的核心思想与建模流程CART分类树的建模流程与sklearn评估器参数详解
Lesson 8.1 决策树的核心思想与建模流程 从本节课开始,我们将介绍经典机器学习领域中最重要的一类有监督学习算法--树模型(决策树). 可此前的聚类算法类似,树模型也同样不是一个模型,而是一类模 ...
- 深度学习——核心思想
核心思想: 假设我们有一个系统S,它有n层(S1,-Sn),它的输入是I,输出是O,形象地表示为: I =>S1=>S2=>-..=>Sn => O,如果输出O等于输入I ...
- IPD解读——从核心思想分析IPD体系
苹果联合创办人史蒂夫▪乔布斯:"并行工程的目标为提高质量.降低成本.缩短产品开发周期和产品上市时间.并行工程的具体做法是:在产品开发初期,组织多种职能协同工作的项目组,使有关人员从一开始就获 ...
- SQL优化核心思想:或许你不知道的5条优化技巧
点击关注 异步图书,置顶公众号 每天与你分享 IT好书 技术干货 职场知识 参与文末话题讨论,每日赠送异步图书. --异步小编 随着系统的数据量逐年增加,并发量也成倍增长,SQL性能越来越成为IT系统 ...
最新文章
- SQL Server基础知识之:设计和实现视图
- 安全专家:恶意软件盯上苹果Mac机用户
- 递归--练习4--noi666放苹果
- php数据库滚动文字_PHP 里用的文字左右滚动?
- UI设计工具比较:Sketch、Adobe XD、墨刀、Mockplus、Axure RP
- FATAL ERROR: Could not find ./bin/my_print_defaults 解决方法
- 如何做组间差异检验_买套餐送车险,做维修提供代步车,考拉爱车如何实现差异化竞争?...
- 秒表的检定及设备使用方法说明
- k8s安装calico网络插件
- 微服务部署之蓝绿发布、滚动发布、灰度发布区别与特点
- 「京东白条」的数据架构进化之路!
- 北大成立人工智能研究院,中科院院士黄如担任院长
- java 下载文件的文件名乱码_详细解决java文件下载文件名乱码问题
- 第一篇:微信公众平台开发实战Java版之了解微信公众平台基础知识以及资料准备
- leetcode简单之1076.项目员工II
- 使用VIM是一种信仰
- 2022杭电多校8 Stormwind
- android判断webview加载完成,android webView判断是否加载完成的2种办法
- 【新技研】高通全新骁龙Krait 300/400处理器架构浅析
- 新装修的房子怎样知道含不含有甲醛?斐讯悟空M1告诉你
热门文章
- 单片机8×8点阵显示简单汉字的程序_LED显示屏的显示原理原来是这样,科技实现梦想...
- html如何显示带有记号的文本,如何使用Wicket设置HTML锚标记的显示文本?
- 混合高斯模型_高斯混合模型(GMM)
- python飞机大战资料-Python之游戏开发-飞机大战
- 带你1小时掌握Google图像语义分割模型,更有《深度学习》实体书免费送
- 知了课堂 python_没想到你是这样的“知了课堂”
- java workerdone_【架构】Java并发编程——线程池的使用
- python异常处理优点_python各类异常处理学习笔记
- Notepad++的安装和基本使用
- 大数据 -- Hadoop集群环境搭建