在现今的推荐技术和算法中,最被大家广泛认可和采用的就是基于协同过滤的推荐方法。
协同过滤(Collaborative Filtering, 简称CF) 是利用集体智慧的一个典型方法。换句话说,就是借鉴和你相关人群的观点来进行推荐。
MLlib中的协同过滤,常应用于推荐系统。
利用某兴趣相投、拥有共同经验之群体的喜好,来推荐使用者感兴趣的资讯,补充用户-商品(User-Item)效用矩阵中所缺失的部分
MLlib当前支持基于模型的协同过滤,其中用户和商品通过一小组隐语义因子进行表达,并且这些因子也用于预测缺失的元素。
为此, MLlib实现了交替最小二乘法(ALS) 来学习这些隐性语义因子。
基于用户的协同过滤(User CF)
基于用户对物品的偏好找到相邻邻居用户,然后将邻居用户喜欢的推荐给当前用户。上述过程就属于User CF。
基于物品的CF(Item CF)
原理和基于用户的CF类似,只是在计算邻居时采用物品本身,而不是从用户的角度,即基于用户对物品的偏好找到相似的物品,然后根据用户的历史偏好,推荐相似的物品给他。
两者的计算复杂度和适用场景皆不同
图书推荐的例子
协同过滤(Collaborative Filtering, 简称CF) 是利用集体智慧的一个典型方法。换句话说,就是借鉴和你相关人群的观点来进行推荐。
MLlib中的协同过滤,常应用于推荐系统。
利用某兴趣相投、拥有共同经验之群体的喜好,来推荐使用者感兴趣的资讯,补充用户-商品(User-Item)效用矩阵中所缺失的部分
MLlib当前支持基于模型的协同过滤,其中用户和商品通过一小组隐语义因子进行表达,并且这些因子也用于预测缺失的元素。
为此, MLlib实现了交替最小二乘法(ALS) 来学习这些隐性语义因子。
基于用户的协同过滤(User CF)
基于用户对物品的偏好找到相邻邻居用户,然后将邻居用户喜欢的推荐给当前用户。上述过程就属于User CF。
基于物品的CF(Item CF)
原理和基于用户的CF类似,只是在计算邻居时采用物品本身,而不是从用户的角度,即基于用户对物品的偏好找到相似的物品,然后根据用户的历史偏好,推荐相似的物品给他。
两者的计算复杂度和适用场景皆不同
图书推荐的例子