机器学习(十二):推荐系统的两种观点
2017-02-10 16:28
316 查看
1. 从物理意义出发的观点
什么是推荐系统?以电影推荐为例,就是对于一部电影,我们预测某个用户对一部电影的评分。我们用如上所示符号来表示。值得注意的是,很有可能用户没有给某电影打分,此时r(i,j)=0。
这里需要理清:
对于一个电影,我们需要找到一些特征空间X来衡量这个电影;
对于一个用户,我们需要找到一些参数h(x)=wTx来预测用户对这部电影的评分。
然而问题是:我们既没有X也没有对于用户i的wi,也就是说这两者都需要学习。
使用如下符号:
我们假定对于电影的特征向量已经确定,也即所有的x(i)已知,来学习θ(j):
现在反过头来看,其实我们对电影的特征向量一无所知。如果假定所有的θ(j)已知,来学习x(i):
这一个过程与K-Means训练过程类似,给定一个初始的θ,然后开始训练:θ0→x0→θ1→x1....→
这里又与K-Means有所不同,因为K-Means是combination-number最优化问题;而我们这里的最优化问题很简单,可以同时进行:
此时我们再来重新看给出的y数据:
还是有点小问题,如果某一个用户没有给任何电影打分:
根据我们的学习过程:代价函数的第一项为0。如果要最小化代价函数,那么此用户的θ=0,也就是说:对于任何的电影,我们将会预测其评分为0——不向该用户推荐任何电影。这样做可以吗?可以,但不是很好。我们理应向任何一个用户推荐电影。怎么推荐?
如果大多数人认为这个电影很好,那么这个电影可能真的非常好。——将对某一电影的所有评分求一个均值。
可以使用如下的均值归一化过程:
用Y−μ来学习,最后预测的结果是θTx+μ。
2. 从抽象计算出发的观点
对于电影推荐系统,我们获得的数据是什么呢?假设用nu个用户,nm部电影,r(i,j)表示用户j是否给用户i评分,其对应的分数是y(i,j)。那么我们的资料是(x(j)=j,y=y(i,j))亦或者是(x(j)=j,y=(y(1,j)),...,?,...y(nm,j))T)。(毕竟我们的推荐系统以用户为中心,而不是以电影为中心——当然以电影为中心,数据也也可以用同样的方式解析)。我们知道输入x代表的是用户的ID,并没有实际意义,我们称之为抽象特征。
我们要设计一个特征转换的函数φ,来将抽象特征转换——这个函数具体是什么我们不关心(这类似于自动编码器)。然后学习一个预测函数h,使得h(ϕ(x))≈y。
自动编码器使用一个线性模型,假设预测函数也是一个线性模型,那么整个模型就是一个两层的网络。
假设将x进行binary vector 编码,那么这个网络就是nu−d−nm结构
其中Vd∗nu,Wnm∗d,则有h(x)=WVx
根据代价函数,我们知道我们要寻找W,V使得Y≈VTWT
然后转向使用alternating optimization技术来解决最优化问题。
3. 小结
无论如何,电影的特征向量的长度还是需要我们自己来指定。我们在训练过程中,可以考虑实际问题来定制解决方案,例如此问题中:越是最近时间段的数据,权重越大。
相关文章推荐
- Kemaswill 机器学习 数据挖掘 推荐系统 Ranking SVM 简介
- 微软邮件系统Exchange 2013系列(十二)从 Exchange 2010 升级至 Exchange 2013-1 推荐
- Stanford机器学习---第十二讲.推荐系统
- 异常检测与推荐系统 机器学习基础(8)
- 机器学习公开课笔记(9):异常检测和推荐系统
- 看待计算机系统结构的封装与抽象的两种观点
- 七月算法机器学习笔记9 推荐系统
- 关于模式识别、机器学习、推荐系统、图像特征等方面个人主页及博客
- 数据挖掘,机器学习,推荐系统的牛人博客
- 个人喜欢的关于模式识别、机器学习、推荐系统、图像特征、数值计算、目标跟踪等方面个人主页及博客
- Kemaswill 机器学习 数据挖掘 推荐系统 Shell之数学计算
- 机器学习9(2)推荐系统
- 机器学习,推荐系统
- 模式识别、机器学习、推荐系统、图像特征等方面个人主页及博客
- 个人喜欢的关于模式识别、机器学习、推荐系统、图像特征等方面个人主页及博客
- 机器学习 数据挖掘 推荐系统机器学习-Random Forest算法简介
- 【推荐给入门选手】【非常基础,又很详细,系统】机器学习中的相似性度量
- 【机器学习】推荐系统、SVD分解降维
- 机器学习:实例1--推荐系统架构
- 机器学习大数据数据挖掘推荐系统相关资源