首页 > 其他 > 详细

Embeding如何理解?

时间:2019-06-25 20:45:10      阅读:424      评论:0      收藏:0      [点我收藏+]

参考:
http://www.sohu.com/a/206922947_390227

https://www.jianshu.com/p/0bb00eed9c63

https://www.baidu.com/link?url=CwDMHi72fOR8BzSlKAR0_01oYq-Jn79tNdrWrISguElN1w4Ng9DBZhihxCNjrWUBavktHOALF41rzvar191r4SlbKHO_EgiY_dmSYpDoq5C&wd=&eqid=c0fe574e00063f08000000035d11e9c6

https://www.jianshu.com/p/2a76b7d3126b

https://www.baidu.com/link?url=XI4NojXLflTT49Am0pQmaWXoPfqvBqdB1K8nkt6sFX1LRqsVwDyedyyN9vOH76GXquBBTfW7b2DfzYumTwYjaRBl87APzOD0u_YCeu4zWGW&wd=&eqid=c0fe574e00063f08000000035d11e9c6

https://blog.csdn.net/k284213498/article/details/83474972

嵌入(Embedding)

例如,想用将具有三个等级的输入变量表示为二维数据。使用嵌入层,底层自微分引擎(the underlaying automatic differentiation engines,例如Tensorflow或PyTorch)将具有三个等级的输入数据减少为二维数据。

嵌入式数据

输入数据需要用索引表示。这一点可以通过标签编码轻松实现。这是你的嵌入层的输入。
这里有一个简单的例子,在keras中使用嵌入层,点击链接,查看详情:https://github.com/krishnakalyan3/FastAI_Practice/blob/master/notebooks/RecSys.ipynb

最初,权重是随机初始化的,它们使用随机梯度下降得到优化,从而在二维空间中获得良好的数据表示。可以说,当我们有100个等级时,并且想要在50个维度中获得这个数据的表示时,这是一个非常有用的主意。
示例:
原始数据:
技术分享图片

标签数据:
技术分享图片

独热编码:
技术分享图片

嵌入数据:
技术分享图片

2.机器学习中的embedding原理及tensorflow 相关API的理解

embedding 算法主要用于处理稀疏特征,应用于NLP、推荐、广告等领域。所以word2vec 只是embbeding 思想的一个应用,而不是全部。

原文地址:https://gshtime.github.io/2018/06/01/tensorflow-embedding-lookup-sparse/
代码地址:git@github.com:gshtime/tensorflow-api.git

embedding原理

常见的特征降维方法主要有PCA、SVD等。
而embedding的主要目的也是对(稀疏)特征进行降维,它降维的方式可以类比为一个全连接层(没有激活函数),通过 embedding 层的权重矩阵计算来降低维度。
假设:

  • feature_num : 原始特征数
  • embedding_size: embedding之后的特征数
  • [feature_num, embedding_size] 权重矩阵shape
  • [m, feature_num] 输入矩阵shape,m为样本数
  • [m, embedding_size] 输出矩阵shape,m为样本数

从id(索引)找到对应的 One-hot encoding ,然后红色的weight就直接对应了输出节点的值(注意这里没有 activation function),也就是对应的embedding向量。
技术分享图片

3.Word Embedding的发展和原理简介
https://www.jianshu.com/p/2a76b7d3126b

Embeding如何理解?

原文:https://www.cnblogs.com/Ann21/p/11084975.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!