(菜鸟回归)毕业设计的探索和研究【1】:有关推荐系统的笔记

(研究材料来源于网络,如有雷同,纯属学习)

一、   推荐系统是什么?

根据用户的历史行为、社交关系、兴趣点、所处上下文环境等去判断用户的当前需求/感兴趣的item

二、   为什么需要推荐系统

a)  信息过载,淹没在海量信息中。参考今日头条,虾米音乐和各类电商

b)  对用户而言,可以找到符合个人口味的东西、帮助用户进行决定、发现新鲜点

c)  对供应商而言,提供个性化服务,提高信任度和粘性,增加营收

三、   推荐系统的系统结构

a)  线下部分:数据处理与模型学习,生成模型

b)  线上部分:进行推荐判定,生成推荐结构

四、   推荐系统的评定标准

a)  准确度:

       i.     打分系统,如美团上各类评分

     ii.     Top N推荐:如各类新歌榜,热搜 ***

b)  覆盖率:表示对物品长尾的发掘能力(希望消除马太效应)***

c)  多样性:表示推荐列表中物品两两之间的不相似性  ***

d)  其他,如新颖度、惊喜度、信任度和实时性等

五、   经典算法 **

a)  基于内容的推荐(使用在文本相关产品上):基于用户喜欢的item的属性/内容进行推荐,只需要分析内容本身,不需要考虑其他用户的行为,通过比对item内容的形式进行推荐

b)  步骤:

       i.     对每个要推荐的内容,都需要建立一份资料(常用方法:TF-IDF)

     ii.     需要对用户也建立一份资料

   iii.     计算匹配度(如使用余弦距离公式)

六、   推荐算法的初步

a)  协同过滤 ***

       i.     User-based CF:找到和用户最近的其他用户,找到他们关注的item,根据距离加权打分

     ii.     Item-based CF:根据用户对商品/内容的行为,计算item和item相似度,找到和当前item最近的进行推荐***

   iii.     相似度/距离定义  ***

1.  欧式距离

2.  Jacard相似度

3.  余弦相似度

4.  Pearson相似度

b)  基于物品的协同过滤(步骤如下:)***

       i.     一个用户序列ui,一个item序列pj

     ii.     一个n*m的矩阵v,每个元素vij表示用户对j的打分

   iii.     计算item和item之间的相似度/距离

     iv.     选取Top K推荐或者加权预测得分

c)  基于用户的协同过滤(步骤如下:)***

       i.     一个用户序列ui一个item序列pj

     ii.     一个n*m的矩阵v,每个元素vij表示用户i对j的打分

   iii.     计算相似度/距离

     iv.     预测得分

d)  基于用户的协同过滤的特点:

       i.     适用于用户较少的场合,因为计算用户相似度矩阵代价太大

     ii.     时效性较强,适用于用户个性化兴趣不太明显的领域

   iii.     用户有新的行为时,推荐结果不一定变化

     iv.     很难提供有说服力的推荐解释

e)  基于物品的协同过滤的特点:

       i.     适用于物品数明显小鱼用户数的场合,计算物品相似度矩阵的代价太大

     ii.     物品丰富,用户个性化需求强烈的领域

   iii.     用户有新的行为时,推荐结果一定会有变化

     iv.     可以提供令人信服的推荐理由

f)  协同过滤的优缺点:

       i.     优点:

1.  基于用户行为

2.  结构简单

3.  当用户行为丰富的情况下,效果很好

     ii.     缺点:

1.  需要大量的数据和用户行为支持

2.  与当前上下文环境无关

3.  需要完全相同的物品关联

七、   推荐算法的进阶

a)  隐语义模型 ***

b)  矩阵分解 ***

c)  加bias的隐语义模型 ***

八、   参考库 ***

a)  Java:Apache Mahout(ML library including collaborative filtering)

b)  Python:Crab(Componentsfor recommender systems)

阅读更多
个人分类: 菜鸟的毕业设计
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

(菜鸟回归)毕业设计的探索和研究【1】:有关推荐系统的笔记

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭