吴恩达机器学习笔记(十) —— 推荐系统
主要内容:
一.推荐系统简介
二.Content-based recommendations
三.Collaborative filtering algorithm
四.预测结果向量化
五.mean normalization
一.推荐系统简介
推荐系统,即利用已有的数据,从中提取出可能有用的特征,然后训练出参数。得到参数后,就可以用于预测未发生的事件,并可从中找到最优的事件,或者说最迎合用户的东西,然后推荐给用户。
以下都以电影评分为例子:
以下是一些变量的含义:
二.Content-based recommendations4
此算法适用于每一部电影的特征的值(即X)已知。之后可以利用梯度下降求出每一位用户的参数Theta。
假如已经求得客户1的参数θ(1),并且已知电影3的特征为X(3),则客户1对电影3的评价可估计为θ(1)' * X(3):
代价函数及梯度下降:
三.Collaborative filtering algorithm
此算法适用于电影的特征的值(即X)未知:
然后可以通过交替更新θ和X使得代价函数最小,从而得到最优条件下的θ:
即:
然而,可以将两个过程合并在一起,以避免交替过程的麻烦,做法就是两者相加:
即:
梯度下降就变为了(好像没有变):
四.预测结果向量化
五.mean normalization
假如此时新增一个客户(该客户从没有对任何一部电影进行评分),则直接求其参数θ,θ = 0。
这样新客户对每一部电影的评分都预测为0显然是不合理的,因此需要mean normalization,即每个特征减去其均值,在求解完之后再加回来:
如此一来,新用户对每一部电影评分都预测为该部电影的评分的均值,这是符合常理的。