简介

目前存在的推荐系统主要分为两种:

1.基于内容的推荐系统 方式:通过分析单个用户或资源的原始信息来进行推荐; 优点:对于稀疏性有一定的抵抗能力; 缺点:只能发现与已有兴趣相似的资源,难以挖掘新的感兴趣资源; 2.基于协同过滤的推荐系统 方式:基于历史上多个用户的访问信息对用户群体的喜好进行分析最后推荐使用者可能感兴趣的资源; 优点:能有效挖掘出新的感兴趣的资源,且无需考虑资源的表示形式; 缺点:对于稀疏性高的数据,系统性能会大大降低;

图模型

大多数的推荐算法都面临数据稀疏性问题,图模型的算法能明显的改进稀疏性问题、提高推荐准确度。 图模型:

(图有小问题,表达意思即可)
图模型的构造:

用户对资源进行评分行为可以看作一种联系,表达了用户对资源的偏好。

对这种联系建立模型,把用户和资源表示成图中的点,如果用户使用过某资源,则在该用户和资源之间连边,把评分作为边的权值。

加入用户的背景信息:

用户背景信息是很强的社会信息,用户的背景能够决定用户对信息资源的需求。背景信息相同的人可能对资源有相似的偏好。

计算:

使用带重启机制的随机游走算法(Random Walk with Restart),计算一个用户到其他所有用户的相关度。

RWR算法:算法从图中某个顶点出发,沿图中的边随机游走。在任意点上,算法以一定的概率随机地选择与该顶点相邻的边,沿这条边移动到下一个顶点,或以一定的概率直接回到出发点。对于一个非周期不可约的图,经过若干次随机游走过程,到达图中每一个顶点的概率值达到平稳分布,再次迭代也不改变图中的概率分布值。此时,图中每个点的概率值可以看作该顶点与出发点的联系紧密程度。

推荐计算过程:
1.把需要得到推荐的用户顶点作为出发顶点;
2.RWR迭代收敛之后,稳定概率值越大的顶点,与目标顶点联系越密切,越应该作为推荐项目。
3.对得到的稳定概率值进行排序后,排除用户已经看过的资源,把概率值最大的前k个资源作为推荐集合。

矩阵分解

矩阵分解的思路是把评分矩阵通过分解,用一个低秩的矩阵来逼近原来的评分矩阵。

对原来的庞大的常常又非常稀疏的矩阵进行降维和分解,而分解后得到的矩阵都是稠密矩阵。

v优点:

Ø比较容易编程实现

Ø比较低的时间和空间复杂度

Ø预测的精度比较高

Ø非常好的扩展性

缺点:

Ø推荐的结果不具有很好的可解释性。

Ø付出的空间代价太大。

几种矩阵分解方法:
1.PureSvd(简易)
直接对用户评分矩阵RSVD分解成两个矩阵,未知值填充0
2.LatentFactor Model(学术界主流)
实现满足一定约束条件的矩阵分解,需要构造一个优化问题;
3.NMF
用于非负的值才有意义的情况,因为上面两个方法都有负值出现;

Topic model

Topicmodel(主题模型)

其实网易的算法可以算是主题模型的一种简易展现。

1.形成一个用户兴趣向量,通过记录用户的点击,来分析用户对某主题新闻的兴趣,考虑时间段流行度的加权;

2.用K-means方法对目标用户推荐;

在主题模型中,主题表示一个概念、一个方面,表现为一系列相关的单词,是这些单词的条件概率。
通俗来说,一个主题就好像一个,它装了若干出现概率较高的词语,这些词语和这个主题有很强的相关性。

对于一段话来说,有些词语可以出自这个,有些可能来自那个,一段文本往往是若干个主题的杂合体。我们举个简单的例子,见下图:

            

readable normally

主题模型(topicmodel)可以无监督地对文档和词进行分类。主题模型训练推理有两种:

1.LDA

2.pLSA

LDA可以将一篇文档用多个主题以概率形式组成,pLSA只有一个主题

增强学习

增强学习原理:

Agent通过接收每一个状态下的响应评估来做一个较合理的行为,设定一个回报函数,目标就是最大化回报的和。

对于控制决策问题,有这么一种解决思路。我们设计一个回报函数(reward function),如果learning agent在决定一步后,获得了较好的结果,那么我们给agent一些回报(比如回报函数结果为正),得到较差的结果,那么回报函数为负。

比如,四足机器人,如果他向前走了一步(接近目标),那么回报函数为正,后退为负。如果我们能够对每一步进行评价,得到相应的回报函数,那么就好办了,我们只需要找到一条回报值最大的路径(每步的回报之和最大),就认为是最佳的路径。

增强学习算法用于改进主题模型:
1.首先利用个性化标签数据和历史访问数据组合构建每个用户向量;
2.然后在学习用户向量过程中,算法基于强化学习的框架更新用户向量权值,且对较新的用户评价数据给予更高的权重,从而有效反映了用户的最新兴趣;
3.最后根据学习到的用户兴趣向量,结合协同过滤的思想对用户进行推荐。

决策树

决策树构建比较简单:

1.将所有的用户评分数据映射到<like,dislike, unknown>三维空间上;

2.从根结点开始,选择最佳的分割项,自顶向下建树;

3.终止条件,同时考虑以下三种:

设定树的最大深度;

设定最佳分割项的误差阈值;

设定当前节点的最少评分数量;

集成学习

集成学习算法(EnsembleLearning):

将一系列学习器进行学习,并使用某种规则把各个学习结果进行整合从而获得比单个学习器更好的学习效果的一种机器学习方法。

算法:
1.Boosting

2.Bagging

集成学习

集成学习算法应用于决策树                    随机森林

随机森林算法:

1.可放回抽样;
2.分类时选一小部分特征;
3.不剪枝情况下生成tree

4.生成一片森林,分类时用每一棵树的结果vote


Bagging

Bagging和随机森林的思路相似,随机有放回的采样数据,建立多个训练器,最终预测函数对分类问题采用投票的方式得到结果。

Boosting

Boosting的思想是考虑了权重的:

1.初始化时对每一个训练例赋相等的权重;
2.然后用该学算法对训练集训练多轮,每次训练后,对训练失败的训练例赋以较大的权重;
3.得到一个预测函数序列, 预测效果好的预测函数权重较大,反之较小;
4.最终的预测函数对分类问题采用有权重的投票。
基于Boosting的个性化推荐算法:
传统的协同过滤算法中,定位相似人群,利用KNN的方法,将评分乘以人群相似度加权值,取平均。
定位相似人群是最关键的步骤,其中有传统方法和基于局部结构两种方法;

传统相似度算法有:
1.余弦相似度;
2.正规化余弦相似度;(公式如下)

3.Pearson相关性;



I表示商品集合

r表示评分矩阵


基于局部结构的相似度计算有:
1.公共邻居:考虑两个用户之间共同打分的个数;
2.Salton指标;
3.Jaccard指标;
4.Sϕrensen算法;

I表示商品集合

r表示评分矩阵

上述众多的相似度测量方法可以产生众多的弱分类器,利用Boosting的思想来产生最优组合;




部分智能推荐算法总结相关推荐

  1. 金融领域下的数据挖掘算法应用:智能推荐算法模型

    摩天,用友旗下社会化的企业数智化学习认证社区,提供数智营销.智慧医疗.数智金融.智能制造.项目管理等精品课程,数智化人才上摩天!https://mot.yonyou.com/ 你将会学到: 智能推荐系 ...

  2. 智能推荐算法在直播场景中的应用

    本文概览: 1. 推荐系统是什么? 推荐系统是帮助用户发现内容,克服信息过载的重要工具: 它通过分析用户行为,对用户兴趣建模.从而预测用户的兴趣并给用户做推荐: 信息过载: 信息过载是信息时代信息过于 ...

  3. 智能推荐算法学习总括

    智能推荐算法总的来说分为两种:基于内容的推荐算法和协同过滤推荐算法. 基于内容的推荐算法: 根据内容的相似度(静态的东西)进行推荐,内容不好提取的可以采取贴标签的形式来区分计算内容的相似程度.然后根据 ...

  4. 【数据挖掘之关联规则实战】关联规则智能推荐算法

    数据说明 数据参数 OrderNumber: 客户昵称 LineNumber:购买顺序,如前三行分别表示同一个客户购买的三样商品 Model:商品名 问题描述 基于购物篮的关联规则智能算法推荐的应用. ...

  5. 智能推荐算法的具体技术

    智能推荐算法是一种常用的计算机算法,其主要目的是通过分析用户的历史数据和偏好信息,为用户提供个性化的建议和推荐. 具体来说,智能推荐算法通常采用以下技术: 基于内容的推荐(Content-Based ...

  6. 直播 | 电商智能推荐算法技术分享

    随着信息过载时代的到来,人们逐渐习惯于从主动获取信息变成了被动接受信息,而基于智能推荐算法的内容.商品.服务分发系统,也已经逐步成为信息平台.电商等几乎所有互联网业务的标配,逐步给各个业务场景带来巨大 ...

  7. 基于Python实现的简历智能推荐算法

    摘 要 目前,越来越多不同特点的应聘者和越来越细化的岗位之间,存在巨大的信息不对称.因此高效.准确的将合适的人推荐到合适的岗位,有很大的实际意义.本文针对这一工程实践问题,提出"简历智能推荐 ...

  8. 【推荐实践】智能推荐算法在直播场景中的应用

    导 读 随着移动互联网泛娱乐化行业的发展,直播与短视频越来越深入人们的生活,人们对于直播与短视频的质量要求也越来越高.是否能够匹配用户的兴趣,满足用户的需求,已经成为决定平台增长的关键因素.今天会和大 ...

  9. 常见的智能推荐算法(总结)

    推荐算法是一种利用用户历史行为.兴趣和社交网络等信息,为用户推荐个性化的内容或产品的技术.随着互联网和移动互联网的发展,推荐算法已经成为了互联网行业中不可或缺的一部分.本文将详细介绍常见的推荐算法技术 ...

  10. 《R语言与数据挖掘》⑨智能推荐算法

    写在前面,目前的推荐算法重要分为四类 基于关联规则的推荐算法 基于物品的协同过滤算法 基于用户的协同过滤算法 基于内容的推荐算法 协同过滤 一个重要的环节就是如何选择合适的相似度计算方法,常用的两种相 ...

最新文章

  1. openOffice word转pdf,pdf转图片优化版
  2. python【蓝桥杯vip练习题库】ALGO-86矩阵乘法(枚举)
  3. (转)目前比较全的CSS重设(reset)方法总结
  4. 板邓:php获取数组元素个数
  5. django中序列化、反序列化过程
  6. C/C++ 语言中的表达式求值
  7. c++ 调用system 不显示黑框_Java回调的四种写法:反射+直接调用+接口调用+Lambda表达式...
  8. hadoop最新稳定版本dkhadoop版本选择介绍
  9. 「洛谷P1231」教辅的组成 解题报告
  10. 自己编译操作系统,安装systemtap
  11. 教你如何在微信浏览器下载APP
  12. 软件测试——测试用例之场景法
  13. 会议直播全流程解决方案
  14. 中级程序员晋升高级程序员,只差这几个技能
  15. 最近越来越当心,是不是自己真的老了。。。
  16. npm安装出现npm err FetchError Invalid response body while trying to fetch httpsregistry.npmjs.orgvu
  17. GHOST WIN8 32位软件自选安装专业优化版 201307 V4.0
  18. 微信小程序的疫情防控系统
  19. mysql学习笔记---存储过程和函数①
  20. 智能信息处理大学生科技实践与创新(3I)工作室

热门文章

  1. c++ list, vector, map, set 区别与用法
  2. 在Navicat premium上实现两个数据库同步
  3. 百度到底是哪国的公司
  4. 深入浅出Android开发!零基础如何成为高级Android开发,成功拿下大厂offer
  5. dubbox——windows,maven库先来一发
  6. git查看分支、创建分支、合并分支
  7. Linux目录结构和常用命令大全(文件处理命令)
  8. delphi去掉字段前后的引号_Delphi编程SQL语句中引号(')、quotedstr()、('')、format()在SQL语句中的用法...
  9. oracle数据库中的注释
  10. 博士生举报硕士论文抄袭 文章除致谢外一字不差