赞
踩
本文主要介绍推荐系统基本概念以及基本的协同过滤算法原理。
快速有效地从复杂的数据中获取有价值的信息成为大数据大战的关键难题。
推荐系统根据用户需求与兴趣,通过推荐算法从海量数据中挖掘出用户感兴趣的项目(如信息,服务,物品),将结果以个性化列表的形式推荐给用户。(信息检索–百度,位置服务、新闻推送–今日头条)
经典的推荐算法。根据用户的历史行为数据挖掘用户的兴趣爱好,基于不同的兴趣爱好对用户进行划分并推荐兴趣相似的商品给用户。
利用用户与项目之间的交互信息为用户进行推荐。
包括基于物品的协同过滤算法、基于用户的协同过滤算法、混合推荐。
如矩阵因子分解,利用用户与项目之间的交互关系为用户进行推荐。
传统的协同过滤算法存在如下问题:
当一个用户A需要个性化推荐的时候, 我们可以先找到和他有相似兴趣的其他用户, 然后把那些用户喜欢的, 而用户A没有听说过的物品推荐给A。
算法步骤 UserCF:
优缺点:
利用用户已选择的项目来寻找其他类似属性的项目进行推荐。
使用显示反馈(评分、喜欢、不喜欢)或隐式反馈(观看、搜索、点击)的方式获取用户交互过的项目,从项目的特征中学习用户的偏好。
预先根据所有用户的历史偏好数据计算物品之间的相似性,然后把与用户喜欢的物品相类似的物品推荐给用户。
算法步骤 itemCF:
优缺点:
采用组合不同的推荐算法。
常见3种:后融合、中融合、前融合。
后融合:
将两种/两种以上的推荐算法产生的推荐结果以投票、线性组合、或可信度选择组合等方式产生最终推荐结果。(决策层面的混合)
中融合:
以一种推荐算法为基础,融合另一种推荐算法。(模型层面的混合)
前融合:
将多种推荐算法融合到统一的模型里,从各类数据中提取的特征作为模型的输入,由统一的模型产生推荐结果。(特征层面的融合)
Jaccard相似系数主要用于计算符号度量/布尔值度量的样本间相似度。
是样本交集个数与并集个数的比值。
Jaccard距离是两个集合中不同元素所占比例衡量两个集合的区分度。
应用场景:
1、用于过滤相似度很高的新闻,或网页去重。
2、论文查重系统。
计算两个向量夹角余弦值判断相似度。
应用场景:
1、推荐系统中的协同过滤算法。
2、计算文本相似性。
最常用的距离计算公式,计算多维空间中各个点之间的绝对距离。
更适用于在数据稠密且连续时的计算。
表示的是两点之间连线对各个坐标抽投影的长度之和。
在二维空间中,公式如下:
欧氏距离与曼哈顿距离可以用于从数值上判断样本间相似度,如果需要从方向上(趋势上)判断时,可以用余弦相似度。
前提:
1、两个变量是线性关系,都是连续数据。
2、两个变量总体上是正态分布。
一般用于计算两个定距变量间联系的紧密程度。
衡量两个用户的相似性。首先找到两个用户共同评分过的数据集,计算这两个向量的相关系数。
公式如下:
正相关:相关系数在0~1之间
负相关:相关系数在-1~0之间。
用在图像处理、NLP、语音识别、在线广告等领域。
融合传统推荐算法,可以缓解数据稀疏与冷启动问题。
通过学习一种深层次非线性网络结构,表示用户和项目相关的海量数据,具有从样本中学习数据集本质特征的能力,能获取用户与项目的深层次特征表示。
学习多源异构数据,组合低层特征形成高层语义抽象,自动发现数据的分布式特征表示,解决了传统机器学习中需要人工设计特征的问题。
三层神经网络结构,输入层与输出层的规模相同。
使得输入x与输出y尽可能接近。
模型改进:
1、稀疏编码器。在损失函数中加入L1正则项,对过大权重进行惩罚。
2、降噪编码器。在输入数据中加入噪声。
使用场景:
对用户/项目相关信息(评分数据、文本、图像)进行重构学习用户与项目的偏好。
用于评分预测、文本推荐、图像推荐。
能够学习数据中复杂的规则,强大的无监督学习能力。
去除同层变量之间的所有连接,提高学习效率。两层之间节点全连接,同层节点间不连接。
使用场景:
对用户的评分数据进行重构学习,实现对未知评分的预测。
主要用于用户评分预测。
多层感知机,用来处理二维图像数据。池化操作减少了模型中的神经元数量。
由输入层、卷积层、池化层、全连接层、输出层 组成。层层之间全连接,每层之间的节点无连接。
使用场景:
用于从图像、文本、音频中提取项目的隐藏特征。用于图像推荐、音乐推荐、文本推荐。
通过获取输入层的输出和前一时刻的隐层状态来计算当前时刻隐层的输出。
能够对过去的信息进行记忆。
使用场景:
用于建模用户和项目相关的文本信息中词语之间序列影响。
评分预测、图像推荐、文本推荐、基于位置社交网络中的兴趣点推荐等。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。