- 非负矩阵分解可用于任何非负评分矩阵,最大的可解释性优势:用户具有指定喜欢某一个item权利,但不具有指定不喜欢某个item的机制。
-
隐式反馈可被认为是类似于分类和回归建模中的正未标记学习问题:
- 在分类和回归建模中,当已知正类是一个非常小的少数类时,通过将未标记的item视为负类,通常可以得到合理的结果。
- 通过将缺少条目设置为0,可以得到很稳健的结果。
- 不必要的复杂性总是导致过度拟合,在较小的数据集中尤为显著
-
本质:将非负的大矩阵分解成两个非负的小矩阵:V=WH:
- H(kXm)中的每一列为V投影到W上得到的向量)
- W(nXk)为能直观反应V中数据分布规律的基
- V(nXm)为原始矩阵
-
对比几种矩阵分解方法的效果差异:
- VQ:要求H的每一列只有一个元素为1,其他为0。相当于将m个数据归纳为k个代表,原数据映射即取k个基当中与原向量距离最小的来重新表示,所以VQ的基都是一个完整的数据,是最具代表性的数据。VQ其实就像kmeans,它的基都落在原数据的最具代表性的位置上。
-
PCA:
- 求一组标准正交基,第一个基的方向取原数据方差最大的方向,第二个基在于第一个基正交的所有方向中再取方差最大的,一直取到k个基。所以PCA的基没有直观的物理意义,而且W和H里面的元素都是可正可负的,这就意味着还原时是用W的基加加减减得到的。
- PCA的基则是指向四面八方的,相互正交着。
-
NMF:
- 因为约束了非负,所以只准把基相加,不能相减,这就意味着基与基是通过拼接组合来还原原象的。
- 所以可以看到NMF用于分解人脸数据的每个基实际上在表示着脸部的某个部件。
- NMF比SVD(奇异值分解)块,scikit-learn中NMF的库目前是使用坐标轴下降法来求解的,即在迭代时,一次固定m*k + k*n-1个参数,仅仅最优化一个参数。
版权声明:本文为weixin_45647721原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。