一、机器学习与数据挖掘的区别
机器学习是在数据挖掘基础之上的。
数据挖掘 把碎片化的知识规整在一起。
机器学习 是从碎片化知识中产生新知识。
二、协同过滤算法(Collaborative Filtering)
推荐算法是机器学习算法的一种,而协同过滤算法又是推荐算法的一种。
1.分类
基于用户的协同过滤算法 User-CF
基于用户的协同过滤算法的关键是找到相同偏好的用户,找到了偏好最近的几个用户,他们偏好的物品便是要给你推荐的目标。(和你具有相同偏好的用户帮你选择你没有而他们有的)
基于物品的协同过滤算法 Item-CF
基于物品的协同过滤算法的关键是计算其它物品和历史物品的相似度,相似度最近的几个物品便是要推荐的物品。(和你历史物品相似的物品把自己推荐给你)
2.协同过滤算法的实现
1. 基于领域的协同过滤算法
User-CF 公式如下
该公式用于计算用户i和用户j的相似度
I(ij)是代表用户i和用户j共同评价过的物品, R(i,x)代表用户i对物品x的评分, R(i)头上有一杠的代表用户i所有评分的平均分, 之所以要减去平均分是因为有的用户打分严有的松, 统一化用户打分避免相互影响。Item-CF 公式如下
这两类算法面临两个典型的问题:
(1).矩阵稀疏问题
(2).计算资源有限导致的扩展性问题
2. 基于模型的协同过滤算法
比较常见的基于模型的算法有:
(1)基于矩阵分解和潜在语义模型的推荐算法
(2)基于贝叶斯网络的
(3)基于SVM的