Machine Learning Techniques 笔记:2-15 Matrix Factorization

Radia; Basis Function:它就是一堆相似性的线性组合,这些相似性是基于距离,k-menas

第n个user,给第m个电影的评分Rnm

我们只有电影的编号,以及它的历史评分,如何从中学习到feature?

不同的feature,用0/1来表示。

把原来的feature,转换为还有0/1的vector

第n个用户,给第m部电影,没有评分的位置,留白。评分的部分:分支用含有0/1值的vector来表示。

利用类神经网络,n个输入,经过中间的过程,转换为m个输出,中间的过程,可能能够萃取出我们需要的每个使用者的feature

向量的输入,不完全向量的输出

x:大部分为0,中间一个很小的部分不为0. 中间的tanh funciton不是必须的,只需要把这个不为0的项目传递给下一层即可。

将中间的tanh function换成线性函数。

d quota:中间神经元的个数

m:输出

W: M x d 维

x: N x 1 维

V: d x N 维

用矩阵变换,来代表中间发生的过程。 h(xn)=WV,与中间的过程无关。

灰色的部分为常数项,我们不太关注他。

我们希望实际的评分Rnm与我们预测的WmVn的差距最小。

找出使用者的feature,电影的特征,来进行预测

多个变量的最佳化:按照变量,逐个最佳化

V固定,最佳化w

W固定,最佳化V

user/movie矩阵是对称的。

交互的最佳化的问题,有点像跳tango

第一层W做Encoding

第二层W做decoding

每次只算一个点,比较有效率。但要算好多轮

g

强化时间点近的点。

比如,3年前喜欢某电影,现在就不一定喜欢,给时间点晚的资料以较大的权重,来重新设计算法,这样预测能力更好。


猜你喜欢

转载自blog.csdn.net/f2157120/article/details/80788773