前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >机器学习系列24:协同过滤

机器学习系列24:协同过滤

作者头像
SuperFeng
发布2019-09-26 16:19:30
3290
发布2019-09-26 16:19:30
举报
文章被收录于专栏:SuperFengSuperFengSuperFeng

在上一次中,我们是先知道电影的特征,然后通过算法计算出用户的特征。下面我们来考虑一下能不能知道用户的特征,让算法学习出电影的特征呢?

我们可以看到,这个算法与之前的算法是一样的,只不过传入的特征不同而已。我们可以先随机地求出一些用户特征 θ,用这些特征计算出电影的特征 x,通过电影的特征又能更好地计算出用户的特征,不断迭代... 最终会收敛到一个最优的位置,这时用户的特征和电影的特征被计算出来,这种方法就叫协同过滤(Collaborative filtering)

为了简化一下这种方法,不让它进行多次来回重复,我们将它合并成一个代价函数,这个代价函数同时传入电影特征 x 和用户特征 θ:

它会同时最小化电影特征 x 和用户特征 θ,虽然这个代价函数看起来很长很复杂,但是仔细分析一下你就会发现,这个代价函数就是把之前的两个代价函数合并起来了而已。

如何寻找相关联的电影呢?比如说,你已经知道该用户对动作电影感兴趣,你向他推荐了一部动作电影,用户看完之后,如果你还想向他推荐动作电影该如何进行处理呢?一种方法就是计算两个电影特征的绝对值,如果绝对值比较小,就代表这两个电影高度相关,你就可以把这部电影也推荐给该用户。

最后总结一下协同过滤算法:

1.随机初始化一些用户特征 θ 和电影特征 x;

2.运用梯度下降最小化代价函数,得到最佳的用户特征 θ 及电影特征 x;

3.传入一个用户特征,该算法就可以根据之前的学习成果向该用户推荐可能感兴趣的电影。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-05-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 SuperFeng 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档