深入浅出推荐系统算法

         小白最近在学习推荐系统时,先研读了一些资料,将推荐系统分为几个大块,整理如下,推荐系统算法总体包含,协同过滤、矩阵分解、模型、NLP、知识图谱和最简单的关联规则。其中在模型算法中最终要的部分就是特征工程,如果特征选取不好,模型将事倍功半,NLP中最终要的就是文本处理,文本处理不好也会直接影响结果。

深入浅出推荐系统算法_第1张图片

          上面是整个推荐算法的几类,下面每一部分做一个简单的介绍。

1.基于协同过滤

       协同过滤 (Collaborative Filtering, 简称 CF)是利用集体智慧的一个典型的方法,集体智慧指的是从大量人的行为数据中收集,从大多数推个例,常常指的是大量行为中的共性部分。来看一下来自百度百科的解释:协同过滤简单来说是利用某兴趣相投、拥有共同经验之群体的喜好来推荐用户感兴趣的信息,个人通过合作的机制给予信息相当程度的回应(如评分)并记录下来以达到过滤的目的进而帮助别人筛选信息,回应不一定局限于特别感兴趣的,特别不感兴趣信息的纪录也相当重要。

      协同过滤分为两种:基于用户的CF和基于物品的CF

深入浅出推荐系统算法_第2张图片

基于用户的CF(User CF):

基于用户对商品的偏好找到相邻邻居用户,然后将邻居用户喜欢的推荐给当前用户。就是将用户和商品之间建立一个向量的关系,以此来挖掘用户之间的相似度,找到K邻居后,根据邻居的西安四度权重和对商品的偏好,预测当前用户没有偏好的商品,得到一个排序的商品列表作为推荐。来一个最经典的例子吧,网上也有很多这个例子。

深入浅出推荐系统算法_第3张图片

                             图一 基于用户的CF

从图中可以看出,用户A,根据他的偏好,喜欢物品A和C,用户C也喜欢物品A和C,那么就认为二者是近邻,用户C喜欢D,因此向用户A推荐物品D。原理就是这样哒~

基于物品的CF(Item CF)

基于物品的CF的原理和User CF类似,Item CF是将所有用户对某个物品的偏好作为一个向量来计算物品之间的相似度,得到物品的相似物品后,根据用户历史的偏好预测当前用户还没有偏好的物品,计算得到一个排序的物品列表作为推荐。来一个例子:

深入浅出推荐系统算法_第4张图片

                             图2基于物品的CF

从图中可以看出,对于物品A,根据用户AB的偏好,喜欢物品A的用户也喜欢物品C,那么物品A和物品C就是近邻,而用户C也喜欢物品A,所以给她推荐物品C。

涉及到每个里面,又涉及到相似度和距离,这里不再详细介绍,后面小白会陆续更新具体的博文来讲解。

2.基于NLP处理

深入浅出推荐系统算法_第5张图片

         由于公司的数据很多都不是结构化的,所以就用到了NLP算法,算法主要涉及了:

文本相似度 (COS相似度;Jaccard相似度)
文本距离 (欧式距离;曼哈顿距离;闵科夫斯基距离,马氏距离)
NFM (基于内容的协同过滤 + 基于人物的协同过滤)
主题模型推荐 (PLSA模型,LDA模型,ATM模型)
知识图谱 (知识关联,知识推理)
后台热门统计 (分时,分天,分周,分月分别进行统计结果输出)

3.基于关联规则

深入浅出推荐系统算法_第6张图片

关联规则是小白最早接触的协同过滤,有很多应用场景,最经典的莫过于啤酒和尿布(基于购物车,收藏栏,转发统计,点赞栏  Apriori算法,FP-Tree ,RefixSpan算法,SimRank算法)

4.基于矩阵分解

基于打分矩阵情况下的推荐。常用算法:FunkSVD算法, BiaseSVD算法

深入浅出推荐系统算法_第7张图片

5.基于用户行为数据的模型算法推荐算法

        对于淘宝,京东这些电商平台,用户会有大量的行为数据留下,这部分数据中很多是结构化的数据,这时就可以用模型算法来进行推荐。

简单判别模型推荐 :SVM、LR、 KNN.......

中等树判别模型推荐:RF、Adaboost,GBDT、XGboost、LigehtGBM......

复杂判别模型推荐 :FM、FFM、 wide&deep、deepFM、 NFM、AFM........

深入浅出推荐系统算法_第8张图片

        这里最重要的就是特征工程,特征工程作为最重要的部分,里面包含的部分也非常多,因此,小白在之后的文章中再做详细的讲解。这里只大致介绍推荐系统大概包含的概览。

 

 

 

 

 

你可能感兴趣的:(技术,数据分析及算法)