咋形象理解embedding这个概念( 六 )



用户1看按照DAB的顺序跟物品交互,用户2按照BE DEF的顺序交互,依此类推,可以构建一个图关系。这个图关系隐藏着用户和物品的属性,可以生成人和物品的Embedding向量。常用的图神经网络算法有GraphSage和DeepWalk。
总结Embedding向量生成之后,可以用Faiss引擎去方便的计算向量间的距离,从而实现推荐召回。这个方案是目前主流的推荐引擎召回方案。相信后续会有越来越多的算法诞生,我也会持续关注。
参考:https://www.jiqizhixin.com/articles/2020-06-30-1

■网友
结论:embedding是对一个对象(词、字、句子、文章。。。)在多个维度上的描述
拿"词"举栗子,
假设"数学"这个词的embedding一共是5维,其值为,其中每个维度代表和某个事物的相关性,这五个数值分别代表的含义,那么数学和科学、考试、课程的相关性更高,也就是说这三个词可以更好的描述数学这个概念,而树林、郊区则无法有效的对数学这个词进行描述。
这时候我们引入另外两个词,"化学"=,"春游"=,我们可以用cosine distance来计算这几个词的距离,显而易见数学和化学的距离更近,和春游的距离更远,embedding完美对词进行了表达~

■网友
简单点说,找到目的空间的嵌入向量。
那尝试通俗易懂的去理解embedding。
例如现在站在你面前的Alice,你要怎么去描述她呢?
假如从长相去描述Alice,最重要的几个特征是什么?

你可以用离散的变量0,1去表示条件成立与否:
==
当然你也可以去给这几个特征打个分,到底有多白,多正,多齐,比如10分制:
==
这样的话,你就得到了欧几里得某个三维空间上对Alice长相的描述了!
回到第一句,这里的目的空间是什么呢?当然就是Alice的长相描述空间了,嵌入向量就是上面两个评分了。
当然你也可以去从成绩描述Alice:
=
这里你找到了成绩空间去得到了Alice的embedding。
凡事都要问个为什么,为什么需要这些embedding呢?
如果Alice和Bob去比谁长相更好,肯定不是两个人对着嚷嚷就能比出来的,如果得到两个人长相空间的embedding,综合分一加不就得出结果了?
所以第一,是为了针对某个目的更好的优化计算过程。
第二,还有很多结构并不是欧几里得空间,比如图。要处理这些数据,更加需要去学习到embedding。

■网友
One-hot + 单层全连接神经网络

■网友
【咋形象理解embedding这个概念】 embedding这个名字是比较唬人的,“嵌入”这个翻译本身会让人不知所措,我也没有考查它第一次是由谁提出来的。从我的应用经验来看,原始信息的高维表示是冗余的,这玩意是用低维向量表示了高维信息,是一种“降维表示”,或者将信息都用统一固定低维度向量进行表示,以方便工程应用。而且,这种“降维表示”至少要保留原始信息之间的区分能力。


推荐阅读