推荐系统笔记3:Embedding学习常⽤算法和Online Match Serving

本文介绍了推荐系统中常用的Embedding学习算法,包括Matrix Factorization(MF)、Factorization Machine(FM)、Topic Model(如PLSA和LDA)以及Word2Vec。详细阐述了各算法的工作原理和优缺点,并探讨了如何根据业务需求选择合适的算法。此外,还讨论了Online Match Serving的关键——用户信息存储与KNN算法在在线匹配服务中的应用,提出Sharding、LSH、K-D Tree和Ball Tree等快速实现KNN的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Embedding(嵌入)学习常⽤算法

为什么需要使用Embedding:

  1. Embedding是一个软分类问题,不需要明确的将某个用户或者物品划分到具体的类别,类似SVM引进分类错误变量 ξ \xi ξ,变成一个软分类问题;
  2. 我们不需要关心分类标准,就是该分为哪些具体的类别,可以由数据自动计算得到;
  3. 对于每一个user,可以得到对于隐层变量,也就是属于某一类的概率;
  4. 同样对于每一个item,也可以得到对于隐层变量,即属于某一类的概率;

下面介绍几种Embedding算法:


  • Embedding form MF:上一篇文章中所介绍的MF(矩阵分解)算法,就是Embedding学习算法之一,MF将用户和物品的评分矩阵分为用户端隐层向量和物品端隐层向量,如下图所示:在这里插入图片描述MF具有如下优点:具有如下特点:

    • ⽤latent vector来表⽰user和item(ID embedding)
    • 组合关系⽤内积 inner product(衡量user对于某⼀类商品的偏好)

    对于FM,有篇博文很详细的阐述了,给个传送门(FM的应用)。

  • Embedding from topic model:这里我主要想介绍的是PLSA和LDA,关于PLSA和LDA,首先需要介绍两种学派:频率学派和贝叶斯学派,因为PLSA属于频率学派,而LDA属于贝叶斯学派。简单的说,频率派认为参数是客观存在,不会改变,虽然未知,但却是固定值;贝叶斯派则认为参数是随机值,因为没有观察到,那么和是一个随机数也没有什么区别,因此参数也可以有分布。例如对于抛硬币来说,频率学派可以通过做任务(如抛10000次硬币)来得到硬币抛出正面的概率分布,而贝叶斯学派则是先确定一个先验概率,然后再通过实验得到观察结果,并结合先验概率和观察结果得到后验概率;

    1. PLSA:通过举例文本生成来帮助理解,如下图所示:在这里插入图片描述
      对于topic model来说,存在连接文档和词语的主题词,这个主题词可以理解为上面MF的隐层向量,为了生成如图中的文档d,“坚强的孩子,依然前行在路上…”,首先需要由给定文档d来生成隐层向量(主题词),也就是 p ( z ∣ d ) p(z|d) p(zd),假设有3个,*“情感”、“事物”、“行动”、*分别选取的概率为0.1,0.5,0.4,可以理解为抛硬币随机选择一个,但不是等概率。确定好主题词后,然后选取的便是属于这个主题词的词语,如“孩子”便是属于主题词“事物”的词语,数学化表达就是 p ( w ∣ z ) p(w|z) p(wz),所以产生一个词的概率公式是: p ( w ∣ d ) = ∑ z p ( w ∣ z ) p ( z ∣ d ) p(w|d) = \sum\limits_z {p(w|z)} p(z|d) p(wd)=z
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值