码迷,mamicode.com
首页 > 其他好文 > 详细

coursera机器学习技法笔记(15)——Matrix Factorization

时间:2016-05-07 08:41:24      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:

15 Matrix Factorization

15.1 Linear Network Hypothesis

  将类别数据转换成向量数据,然后以每个样本的向量数据作为输入,评分数据作为输出,利用3层神经网络进行特征萃取。
  由于向量特征数据大量稀疏,因此中间层的tanh函数并不会起什么作用,可以直接换成线性模型,即Linear Network。
  将第1/2层网络的权重设为VT,第2/3层网络权重设为W,则该模型可以表述为:

h(x)=WTVx

如果x是一个只有1个元素为1的向量,则该式可以写成:
h(x)=WTvn

15.2 Basic Matrix Factorization

  对于电影m来说,h(x)=wmTvn,因此,我们希望做的事是令h(x)rmn。将该损失函数写成平方损失函数,即矩阵分解。其解法是固定vm,然后固定mv,最终收敛。可以看出原评分矩阵分成了2个矩阵WV,因此称为矩阵分解。

15.3 Stochastic Gradient Descent

  本节讲述了将随机梯度下降应用于MF中。即随机选择一个rmn,并对vnwm做一次更新,更新值为vw的梯度。另外,如果数据带有时间属性,可以考虑在最后几轮中着重更新时间靠后的数据。

15.4 Summary of Extraction Models

  总结一下之前讲到过的特征萃取模型:
  (1)神经网络\深度学习:用前几层的权重以及神经元转换来萃取特征,用最后一层的权重线性组合来得到结果。
  (2)RBF神经网络:用到中心点的相似度来进行特征转换,并最后进行线性组合。
  (3)矩阵分解:分别萃取用户和项目的特征。
  (4)Adaptive/Gradient Boosting:用g_t来进行特征转换,最后用加权的方式进行线性组合。
  (5)k邻近:根据到最近邻居的距离来作为萃取特征,邻居样本标签作为权重。
  总结一下特征萃取技术:
  (1)神经网络\深度学习:随机梯度下降(即BP算法),autoencoder。
  (2)RBF网络:k-means聚类。
  (3)矩阵分解:随机梯度下降,交替误差下降。
  (4) Adaptive/Gradient Boosting:函数梯度。
  (5)k邻近:懒惰学习(lazy learning),即训练量很小,但是预测工作量很大。
  可以注意到的是,虽然特征萃取方法简单实用,拟合能力强,但不是凸函数,难以得到最优解,并且容易过拟合。

coursera机器学习技法笔记(15)——Matrix Factorization

标签:

原文地址:http://blog.csdn.net/u010366427/article/details/51333638

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!