推荐系统采用的部分算法

1.首先会用到部分自然语言处理(NLP)相关技术,如:

+使用IF-IDF和TextRank进行关键词提取;
+使用隐式马尔科夫模型(HMM)或者条件随机场(CRF)进行实体识别(序列标注);
+在有分类体系的前提下使用SVM或FastText工具对文本进行分类;
+使用LDA等无监督算法对文本聚类或从文本中抽取主题模型;
+使用Word2Vec、Embedding的方式挖掘出字面意思下的语义信息。
+同时可以使用卡法检测(CHI)和信息增益(IG)等方法从众多标签中选出主要的标签。

2.Network prototype分析:
例如从network prototype层面对 co-purchasing网络、好友购买网络、相似用户购买网络的nodes、edges、links、(weights)、path等等网络原型分析
以及对用户的好友/有相同兴趣好友/相似用户进行亲密度分析(互动频繁程度),相似度分析(用户间相似度),相关度分析等

3.推荐系统构建

+相似度计算(深度学习神经网络)

把用户画像和物品画像表示成稀疏的向量,两者之间计算余弦相似度,根据相似度对推荐物品排序,也可以使用信息检索中的相关性计算方法如BM2F算法来做推荐匹配计算。同时在传统机器学习方面,可以结合逻辑回归(Logistic Regression)和梯度提升树(GBDT)训练一个二分类模型,把用户、物品的结构化内容,日志记录的上下文信息(如时间、地点、设备)作为特征,从而预测用户“喜欢”和“不喜欢”的用户行为。

+协同过滤

协同过滤分为:基于记忆的协同过滤(Memory-Based)和基于模型的协同过滤(Model-Based),基于记忆的协同过滤又可以分为基于用户的协同过滤(User-Based)和基于物品的协同过滤(Item-Based)

基于用户的协同过滤就是根据历史用户行为,通过计算用户相似度的方式,找到和目标用户的相似用户群体,然后将相似用户群体消费过的、喜欢的物品推荐给目标用户。(通过theta预测X)

基于物品的协同过滤也是根据历史用户行为,不过计算的是物品之间的相似度,先找到一批和用户消费过的物品的相似物品,然将这些相似物品推荐给用户。(通过X预测theta)

相对于基于用户的协同过滤,基于物品的协同过滤在物品数远远小于用户数的时候比较适用,同时物品之间的相似度比较静态,它们的变化速度远远没有用户口味变化快。

+矩阵分解
SVD +(SGD随机梯度下降)
ALS 交替最小二乘
WeightedALS
贝叶斯个性化排序

+模型融合
挖掘、召回、排序
逻辑回归和梯度决策树
因子分解机模型
Field-aware Factorization Machine
Deep & Wide
MAB:多臂赌博机问题(Multi-armed bandit problem, K-armed bandit problem, MAB)简称MAB问题。

+深度学习
+强化学习

推荐系统里面有两个顽疾,一个是冷启动,另一个是探索利用问题,后者又称为Exploit-Explore问题。

Bandit算法都可以对着两个问题对阵下药。冷启动问题是指针对于新加入的用户、物品或者推荐系统刚启动时,没有足够的历史数据,就无法进行准确的预测。(新用户可以考虑用最传统的排行榜算法,转发点赞量高的进行推荐)

而Exploit-Explore问题描述的是两个方向的权衡问题,以用户的兴趣为例,利用(Exploit)指的是要充分利用我们挖掘到的用户的兴趣,而探索(Explore)指的是用户的兴趣会随时间发生变化,在利用的同时,我们应该继续探索挖掘新的用户兴趣,不要故步自封,坐吃山空。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值