word2vec原理简述[通俗易懂]

word2vec原理简述[通俗易懂](原创)word2vec是将单词转为向量,并为后续应用机器学习的算法做准备。经典的模型有两种,skip-gram和cbow,其中,skip-gram是给定输入单词来预测上下文,而cbow相反,是给定上下文来预测输入单词。下面主要介绍skip-gram:1.skip-gram训练词对skip-gram首先设定所谓一个值(skip_window),作为一个单词选取它的上下文的单词…

大家好,又见面了,我是你们的朋友全栈君。

(原创)

word2vec是将单词转为向量,并为后续应用机器学习的算法做准备。

经典的模型有两种,skip-gramcbow

其中,skip-gram是给定输入单词来预测上下文,而cbow相反,是给定上下文来预测输入单词。下面主要介绍skip-gram:

1.skip-gram训练词对

skip-gram首先设定所谓一个值( skip_window),作为一个单词选取它的上下文的单词的数量,

这些词对,作为训练数据,如 “the quick brown fox jumps over lazy dog”,对于quick,有

(quick,the),(quick,brown),(quick,fox)三个词对,作为quick的训练标签。

2.word嵌入到k维空间,k维向量化

接下来是对语料中单词的向量化处理,首先将语料中不重复的单词都拿出来成为词汇表,

然后对其进行one-hot编码,如10000个单词,其中a编码为 [1,0,0,0….],这个时候单词已经转为了向量,但是只是这样并不能看出任意两词之间的相关性,而且词汇表如果大的话,导致维度灾难。

Hinton提出了映射到K维向量的思想,基于这个思想用一个简单的多分类的神经网络来训练得到这些K为向量。

输入层是n个one-hot编码的词,输出也是one-hot编码的词(对skipgram的词对进行训练),

隐含层为 k个神经元节点,含有n*k的权重矩阵,经过这层将词向量转换为k维向量,

再经softmax输出为n维的预测概率向量,优化残差函数,训练权重系数。

最终训练结束后,这个n*k的权重矩阵的每一行就作为该单词的k维向量了。

 

转载于:https://www.cnblogs.com/randomstring/p/10439384.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/145615.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月16日 下午11:00
下一篇 2022年5月16日 下午11:20


相关推荐

  • python mechanize使用

    python mechanize使用遇到了一些坑 这个 mechanize 不支持 js 代码 如果遇到了 lt buttonid submit type button onclick sign this signin class btnbtn bannermt10 gt 提交 lt button gt 这样的 js 代码怎么都通不过 要是有人知道怎么弄欢迎告诉我 起因是要褥 packethub 上的羊毛 然后查

    2025年10月16日
    6
  • TinyXML2使用总结「建议收藏」

    TinyXML2使用总结「建议收藏」TinyXML2是简单实用的开源的C++XML文件解析库,可以很方便的应用到现有的项目之中。 TinyXML2解析器相对TinyXML1在代码上是完全重写,使其更适合于游戏开发中使用。它使用更少的内存,更快,并使用更少的内存分配。xml类似数据库,一般来说对数据库有什么操作,那么对xml文件也能实现什么操作。数据库增删查改对应xml文件就是新建xml文件…

    2022年5月11日
    36
  • 经典Servlet+JSP+JavaBean开发模式(MVC)原理与创建工程

    经典Servlet+JSP+JavaBean开发模式(MVC)原理与创建工程

    2021年7月18日
    65
  • STM32F107RCT6_单片机开发板工作原理

    STM32F107RCT6_单片机开发板工作原理基于STM32F103C8T6开发板+GY521加速度计模块制作的有刷四轴飞控,成本不到20元,效果很不错

    2026年2月1日
    29
  • SchedulerFactoryBean 注入

    SchedulerFactoryBean 注入今天在做SpringQuarter动态设置触发时间时,需要在Service中注入org.springframework.scheduling.quartz.SchedulerFactoryBean使用下面的代码可用:localQuartzScheduler通过注解注入@Resource privateSchedulerFactoryBeanlocalQuartzScheduler

    2022年5月24日
    36
  • 什么是虚拟IP_虚拟机IP

    什么是虚拟IP_虚拟机IP【导读】虚拟ip和真实ip区别,下面就是191路由网整理的网络知识百科,来看看吧!大家好,我是191路由器网小编,上述问题将由我为大家讲解。虚拟ip和真实ip区别是真实IP是网络运营商提供的所以不能自己变更,虚拟IP是自己设置的可以变更。虚拟IP,就是一个未分配给真实主机的IP。也就是说对外提供服务器的主机除了有一个真实IP外还有一个虚拟IP,使用这两个IP中的任意一个都可以连接到这台主机。互联网…

    2022年10月20日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号