Machine Learning第九讲[推荐系统] --(二)协同过滤

内容来自Andrew老师课程Machine Learning的第九章内容的Collaborative Filtering部分。

一、Collaborative Filtering(协同过滤)

协同过滤能够自行学习所需要使用的特征。
来看下面的例子:
MovieAlice(θ1)Bob(θ2)Carol(θ3)Dave(θ4)x1
(romance)
x2
(action)
:Love at last5500? 1.0? 0.0
:Romance forever5??0?
:Cute pupies of love?40??
:Nonstop car chases0054?
:Swaord vs. karate005??

在之前讲的基于内容的推荐系统中,我们需要事先建立特征并知道特征值,这是比较困难的。
假设我们某一用户的喜好,即假如Alice、Bob喜欢romance的电影,carol、Dave喜欢action的电影,则:

就拿Alice来说,Alice只对romance感兴趣,因此只有x1=5,x0和x2都为0。
我们不需要在意电影的名字,只需要知道对于第一部电影,Alice和Bob都给了5分,而Alice和Bob都喜欢romance的电影,因此极有可能对于第一部电影来说,x1=1.0,x2=0
因此

                                                                                               

又因为对于第一部电影,4个人都给了评分,因此有下列公式:

                                                                                             

即我们通过θ来预测x。
下面是优化目标:

我们该怎样将之前基于内容的推荐算法和本部分内容结合呢?


二、Collaborative Filtering Algorithm(协同过滤算法)


在上面提到我们可以通过不过x --> θ --> x --> θ --> x --> ....的过程来求出θ和x的最优值,这个过程比较复杂,下面有一种更简单的方法,我们可以同时求出x和θ的值:



整理一下协同过滤算法的流程:


奋斗



  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值