个性化推荐算法 综述
随着互联网的迅速发展,接入互联网的网页与服务器数量也以指数形式迅猛增长。互联网的发展,使得海量信息以飞快的更新速度在我们眼前不断呈现。例如,卓越亚马逊上存在着上千万的图书,NetFlix上有数万部电影。如此众多的信息,遍历一遍都变得十分艰难,更何况要在其中找到自己感兴趣的部分。传统的搜索策略,为每个用户的相同查询提供完全相同的搜索结果,无法针对不同用户的个人需求提供个性化服务。信息爆炸增长反而使信息的获取效率变低了。这种现象被称为信息过载。如今有效解决信息过载的工具之一便是个性化推荐。推荐问题从根本上来说就是“代替用户评估它从未看过的产品”[1-5]。这些产品包括书、电影、CD、网页、甚至可以是饭店、音乐、绘画等等——是一个从已知到未知的过程。
1 推荐问题的定义
假设C是用户集合,S是所有可能被推荐的条目的集合。那么我们可以在用户集合和条目集合的笛卡尔乘积之上定义一个效用函数u,来衡量条目s对用户c的有用程度,比如:푢:퐶×푆→푅,其中R是一个良序集(例如一定范围内的实数或者非负整数),那么对于任意用户푐∈퐶,我们需要选择条目푠'∈푆从而最大化用户的效用值,也就是说:
其示意图见图1
Figure 1. Illustration of Recommendation Algorithm
图1 推荐算法示意图
在一般的推荐系统中,效用值通常用用户评分或者是标记喜欢与否来衡量。但从原始的形式化定义出发,这个效用函数可以是任意形态,比如用户点击、收藏,或停留时间、回访,甚至是网站的销量、利润等,只要它满足效用函数的基本性质(可加性、传递性和三角不等式)。在这样的问题定义框架下,推荐问题转化为优化问题,个性化推荐算法的选择与推荐问题本身相互解耦。
我们只需关心算法对解决问题的效果和算法本身的效率,从而在最大程度上体现了对算法的包容性,各式各样的算法都可以在统一的框架下为最终的优化目标充分展开竞争。
Table 1 Categories of Recommendation Algorithm
启发式算法 |
基于模型 |
|
基于内容 |
TF-IDF 聚类 最大熵 相似度度量 |
贝叶斯分类 决策树 神经网络 专家系统 知识推理 |
协同过滤 |
K近邻 聚类 链接分析 关联规则 相似度度量 |
贝叶斯分类 决策树 神经网络 矩阵分解 概率模型 图模型 Boosting Topic Model 回归分析 |
混合式 |
线性组合 投票机制 meta-heuristics |
Ensemble 统一推荐框架 |
基于内容的推荐是从信息抽取领域自然而然发展起来的一类算法,其出发点是在对文本信息和条目元信息进行整理、建模的基础上,针对用户的不同兴趣偏好进行推送。
假设有N个文本文件,关键词푘푖在푛푖个文件中出现,设푓푖푗为关键词푘푖在文件푑푗中出现的次数,那么푘푖在푑푗中的词频푇퐹푖푗定义为:
其中分母的最大值可以通过计算푑푗中所有关键词푘푧的频率得到。
在许多文件中同时出现的关键词对于表示文件的特性, 区分文件的关联性是没有贡献的. 因此TFij与这个关键词在文件中出现数的逆( IDFi ) 一起使用, IDFi的定义为:
这样,用户的配置文件和产品都可以表示成TD-IDF模型,通过计算两者的相关度进行推荐:
与基于内容的推荐相对应,协同过滤推荐并不关心条目的具体属性,而是对用户群整体的评分信息进行整理和建模,根据用户行为找出口味相似的用户群或者风格类似的条目,在此基础上进行推荐。
协同过滤算法的核心思想是,先根据用户的历史信息计算用户间的相似度,再根据相似用户的喜好,为邻居用户推荐类似的产品。协同过滤最大特点是对产品格式没有特殊要求,可以处理难以文本化的产品如音乐、视频等。
预测准确度考虑推荐算法的预测打分与用户实际打分的相似程度。预测准确度的一个经典度量方法是度量系统的预测打分与用户的实际打分的平均绝对误差(Mean Absolute Error)。
其中,c为系统中用户i打分产品的个数,为用户的实际打分,为系统的预测打分。
这种方法有两个优点:一是计算方法比较简单,便于直观上的理解;二是对于不同的系统,其平局绝对误差是不同的,从而能区别不同系统的绝对误差。
除了平均绝对误差之外,还有平均平方误差(Mean Square Error)和标准平均绝对误差(NormalizedMean Absolute Error)等方法。其中,平均平方误差定义如下:
其中,为系统中用户一产品对的个数。在平局平方误差计算中,预测打分与实际打分作差之后还有一个平方操作,这样打分误差的影响会比平局绝对误差大。
另一种广泛应用的分类准确度指标为准确率、召回率以及相关指标。但准确率和召回率的计算又成了另一个新的问题。另外一个度量系统分类准确度的重要指标就是ROC曲线。
个性化推荐算法 综述相关推荐
- 个性化推荐算法实战第01章个性化推荐算法综述
文章目录 个性化推荐算法实战第01章个性化推荐算法综述 1.什么是推荐系统? 2.个性化推荐算法在系统中所起到的作用 3.如何衡量个性化推荐算法在产品中起到的作用 4.推荐算法介绍 5.评估指标: 个 ...
- 基于隐语义模型的个性化推荐算法综述-笔记整理
1. 前期知识 均方根值(RMS)+ 均方根误差(RMSE)+标准差(Standard Deviation) 1.均方根值(RMS)也称作为效值,它的计算方法是先平方.再平均.然后开方. 2.均方根误 ...
- Python+Django+Mysql开发在线美食推荐网 协同过滤推荐算法在美食网站中的运用 基于用户、物品的协同过滤推荐算法 个性化推荐算法、机器学习、分布式大数据、人工智能开发
Python+Django+Mysql开发在线美食推荐网 协同过滤推荐算法在美食网站中的运用 基于用户.物品的协同过滤推荐算法 个性化推荐算法.机器学习.分布式大数据.人工智能开发 FoodRecom ...
- Python+Django+Mysql开发在线购物推荐网 协同过滤推荐算法在购物网站中的运用 个性化推荐算法开发 基于用户、物品的协同过滤推荐算法 机器学习、分布式大数据、人工智能开发
Python+Django+Mysql开发在线购物推荐网 协同过滤推荐算法在购物网站中的运用 个性化推荐算法开发 基于用户.物品的协同过滤推荐算法 机器学习.分布式大数据.人工智能开发 ShopRec ...
- 在线新闻推荐网 Python+Django+Mysql开发技术 基于用户、物品的协同过滤推荐算法 个性化新闻推荐系统 协同过滤推荐算法在新闻网站中的运用 个性化推荐算法、机器学习、分布式大数据、人工智
在线新闻推荐网 Python+Django+Mysql开发技术 基于用户.物品的协同过滤推荐算法 个性化新闻推荐系统 协同过滤推荐算法在新闻网站中的运用 个性化推荐算法.机器学习.分布式大数据.人工智 ...
- 在线图书推荐网 Python+Django+Mysql开发技术 个性化图书推荐系统 协同过滤推荐算法在图书网站中的运用 基于用户、物品的协同过滤推荐算法 个性化推荐算法、机器学习、分布式大数据、人工智
在线图书推荐网 Python+Django+Mysql开发技术 个性化图书推荐系统 协同过滤推荐算法在图书网站中的运用 基于用户.物品的协同过滤推荐算法 个性化推荐算法.机器学习.分布式大数据.人工智 ...
- 在线电影推荐网 使用Python+Django+Mysql开发技术 在线电影推荐系统 电影网站推荐系统 基于用户、物品的协同过滤推荐算法 个性化推荐算法开发 机器学习、人工智能、大数据分布式开发
在线电影推荐网 使用Python+Django+Mysql开发技术 在线电影推荐系统 电影网站推荐系统 基于用户.物品的协同过滤推荐算法 个性化推荐算法开发 机器学习.人工智能.大数据分布式开发 Mo ...
- 如何使用Python+Django+Mysql开发特色美食推荐系统 个性化美食推荐网站 个性化推荐算法开发 基于用户、物品的协同过滤推荐算法 组合、混合推荐算法FoodRecommendSystem
如何使用Python+Django+Mysql开发特色美食推荐系统 个性化美食推荐网站 个性化推荐算法开发 基于用户.物品的协同过滤推荐算法 组合.混合推荐算法FoodRecommendSystem ...
- 基于内容的推荐算法的php实现,基于内容的个性化推荐算法
摘要:个性化推荐算法有许多类别,主要包括基于内容的推荐.协同过滤.SVD.基于知识的推荐以及混合推荐算法.本文介绍基于内容的推荐算法(Content-basedRecommendation).基于内容 ...
最新文章
- c语言实现线性结构(数组与链表)
- 猴子选王c语言链表程序代码,c/c++编程题 之 猴子选大王(数组、链表两种方法)...
- Linux : find big file in the all directories
- 中文名称:程序员杂志2007精华本及附赠DVD光盘
- Windows OS上安装运行Apache Kafka教程
- Linux之nc命令
- 数据之路 - Python爬虫 - 免费代理
- 利用vs 分析DMP文件、pdb文件定位release下的异常崩溃
- 通过【Windows10安装程序---MediaCreationTool】来制作并安装Win10正式版
- Arduino+SIM900A+继电器
- java 实现将Object类型转换为int类型
- 洛谷P1724 东风谷早苗
- HDU 4565 (构造共轭函数+矩阵快速幂)
- 计算机黑屏然后蓝屏怎么办,突然蓝屏死机开机黑屏怎么办_蓝屏之后重启屏幕黑屏的解决方法...
- 华为p4不是鸿蒙吗怎么又改为安卓_华为鸿蒙系统不是为华为手机设计的 华为手机将继续使用安卓...
- 【转载】Aquanaut:水下变形金刚
- 计算机管理文件破坏怎么办,文件损坏,教您电脑文件损坏怎么修复
- 宏文件下载_EPLAN~宏资源获取
- java实现将数据生成图表至excel导出(包括折线图,柱状图,饼状图)
- delphi 控件大全(确实很全)