Matrix Factorization, Algorithms, Applications, and Avaliable packages

来源:http://www.cvchina.info/2011/09/05/matrix-factorization-jungle/

美帝的有心人士收集了市面上的矩阵分解的差点儿全部算法和应用。因为源地址在某神奇物质之外,特转载过来,源地址

Matrix Decompositions has
a long history and generally centers around a set of known factorizations such as LU, QR, SVD and eigendecompositions. More recent
factorizations have seen the light of the day with work started with the advent of NMF, k-means and related algorithm
 [1].
However, with the advent of new methods based on random projections and convex optimization that started in part in the compressive
sensing literature
, we are seeing another surge of very diverse algorithms dedicated to many different kinds of matrix factorizations with new constraints based on rank and/or positivity and/or sparsity,… As a result of this large increase in interest,
I have decided to keep a list of them here following the success of the big
picture in compressive sensing
.

The sources for this list include the following most excellent sites: Stephen
Becker’s page
Raghunandan H. Keshavan‘ s pageNuclear
Norm and Matrix Recovery
 through SDP by Christoph HelmbergArvind
Ganesh
’s Low-Rank Matrix Recovery and Completion via Convex
Optimization
 who provide more in-depth additional information.  Additional codes were featured also on Nuit
Blanche
. The following people provided additional inputs: Olivier GriselMatthieu
Puigt
.

Most of the algorithms listed below generally rely on using the nuclear norm as a proxy to the rank functional. It
may not be optimal
. Currently, CVX ( Michael
Grant
 and Stephen  Boyd) consistently allows one to explore other
proxies for the rank functional such as thelog-det as
found by Maryam  FazellHaitham
Hindi
Stephen Boyd. ** is used to show that the algorithm uses
another heuristic than the nuclear norm.

In terms of notations, A refers to a matrix, L refers to a low rank matrix, S a sparse one and N to a noisy one. This page lists the different codes that implement the following matrix factorizations: Matrix Completion, Robust
PCA , Noisy Robust PCA, Sparse PCA, NMF, Dictionary Learning, MMV, Randomized Algorithms and other factorizations. Some of these toolboxes can sometimes implement several of these decompositions and are listed accordingly. Before I list algorithm here, I generally
feature them on Nuit Blanche under the MF tag: http://nuit-blanche.blogspot.com/search/label/MF or. you
can also subscribe to the Nuit Blanche feed,

Matrix Completion, A = H.*L with H a known mask, L unknown solve
for L lowest rank possible

The idea of this approach is to complete the unknown coefficients of a matrix based on the fact that the matrix is low rank:

Noisy Robust PCA,  A = L + S + N with L, S, N unknown, solve
for L low rank, S sparse, N noise

Robust PCA : A = L + S with L, S, N unknown, solve for L low
rank, S sparse

Sparse PCA: A = DX  with unknown D and X, solve for sparse
D

Sparse PCA on wikipedia

  • R. Jenatton, G. Obozinski, F. Bach. Structured Sparse Principal Component Analysis. International Conference on Artificial Intelligence and Statistics (AISTATS). [pdf]
    [code]
  • SPAMs
  • DSPCA: Sparse
    PCA using SDP
     . Code ishere.
  • PathPCA: A fast greedy algorithm for Sparse PCA. The code is here.

Dictionary Learning: A = DX  with unknown D and X, solve for sparse
X

Some implementation of dictionary learning implement the NMF

NMF: A = DX with unknown D and X, solve for elements of D,X
> 0

Non-negative
Matrix Factorization (NMF) on wikipedia

Multiple Measurement Vector (MMV) Y = A X with unknown X and rows
of X are sparse.

Blind Source Separation (BSS) Y = A X with unknown A and X and
statistical independence between columns of X or subspaces of columns of X

Include Independent Component Analysis (ICA), Independent Subspace Analysis (ISA), and Sparse Component Analysis (SCA). There are many available codes for ICA and some for SCA. Here is a non-exhaustive list of some
famous ones (which are not limited to linear instantaneous mixtures). TBC

ICA:

SCA:

Randomized Algorithms

These algorithms uses generally random projections to shrink very large problems into smaller ones that can be amenable to traditional matrix factorization methods.

Resource

Randomized algorithms for matrices and data by Michael W. Mahoney

Randomized Algorithms for Low-Rank Matrix
Decomposition

Other factorization

D(T(.)) = L + E with unknown L, E and unknown transformation T and solve
for transformation T, Low Rank L and Noise E

Frameworks featuring advanced Matrix factorizations

For the time being, few have integrated the most recent factorizations.

GraphLab / Hadoop

Books

Example of use

Sources

Arvind Ganesh’s Low-Rank
Matrix Recovery and Completion via Convex Optimization

Relevant links

Reference:

A
Uni?ed View of Matrix Factorization Models by Ajit P. Singh and Geoffrey J. Gordon

本文引用地址:http://blog.sciencenet.cn/blog-242887-483128.html

时间: 2024-10-05 04:19:25

Matrix Factorization, Algorithms, Applications, and Avaliable packages的相关文章

NMF.非负矩阵分解(Non-negative.Matrix.Factorization)实践

1. NMF-based 推荐算法 在例如Netflix或MovieLens这样的推荐系统中,有用户和电影两个集合.给出每个用户对部分电影的打分,希望预测该用户对其他没看过电影的打分值,这样可以根据打分值为其做出推荐.用户和电影的关系,可以用一个矩阵来表示,每一列表示用户,每一行表示电影,每个元素的值表示用户对已经看过的电影的打分.下面来简单介绍一下基于NMF的推荐算法. 在python当中有一个包叫做sklearn,专门用来做机器学习,各种大神的实现算法都在里面.本文使用 from sklea

【Matrix Factorization】林轩田机器学习技法

在NNet这个系列中讲了Matrix Factorization感觉上怪怪的,但是听完第一小节课程就明白了. 林首先介绍了机器学习里面比较困难的一种问题:categorical features 这种问题的特征就是一些ID编号这类的,不是numerical的. 如果要处理这种情况,需要encoding from categorical to numerical 最常用的一种encoding方法就是binary vector encoding(也是实习工作中用过的路子),将binary vecto

《Non-Negative Matrix Factorization for Polyphonic Music Transcription》译文

NMF(非负矩阵分解),由于其分解出的矩阵是非负的,在一些实际问题中具有非常好的解释,因此用途很广.在此,我给大家介绍一下NMF在多声部音乐中的应用.要翻译的论文是利用NMF转录多声部音乐的开山之作,浅显易懂地介绍了如何利用NMF对钢琴曲进行乐谱翻译,值得一看. 摘要 在本文中我们提出一种新方法用来分析由固定谐波格式的音符构成的复调乐曲片段(例如钢琴音符).由于音符结构固定,我们可以将乐曲进行线性变换,利用非负矩阵分解来估计音符的谐波结构和每个音符出现的位置.这种方法非常简单,而且无需先验信息,

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

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

scikit-learn:通过Non-negative matrix factorization (NMF or NNMF)实现LSA(隐含语义分析)

之前写过两篇文章.各自是 1)矩阵分解的综述:scikit-learn:2.5.矩阵因子分解问题 2)关于TruncatedSVD的简介:scikit-learn:通过TruncatedSVD实现LSA(隐含语义分析) 今天发现NMF也是一个非常好非常有用的模型,就简介一下.它也属于scikit-learn:2.5.矩阵因子分解问题的一部分. NMF是还有一种压缩方法,前提是如果数据矩阵是非负的. 在数据矩阵不包括负值的情况下. NMF能够取代PCA及他的变形(NMF can be plugge

论文学习-Euclidean Distance Matrices-theory,algorithms,applications(1)

翻译自Euclidean Distance Matrices: Essential theory, algorithms, and applications EDMs是点之间的平均距离矩阵.该文的目标是介绍EMD在信号处理领域的应用,展示EDM如何被用来设计算法--对距离数据进行修复和去噪.同时,介绍了其在麦克风的位置校准(microphone position calibration).超声波断层扫描(ultrosound tomography).room reconstruction fro

Fused Matrix Factorization & some personal thoughts

I read this paper, the purpose are common to some extent...but the way this paper has adapted and the way we discussed yesterday still have many differences. First, when we talked about about friends , we are referring to friends that we deriviated f

论文学习-Euclidean Distance Matrices-theory,algorithms,applications(2)

接上篇 ORTHOGONAL PROCRUSTES PROBLEM  普式分析(Procrustes analysis)  纠结了好久,还是没能完全看懂.. 奇异值分解(singular value decomposition):,其中. 弗罗贝尼乌斯范数(Frobenius norm): COUNTING THE DEGREES OF FREEDOM EDMs AS A PRACTICAL TOOL 我们很少有完美的EDM,使用接收功率或TOA来测量距离很容易有噪声.抽样误差和模型失配等问题.

矩阵分解 Matrix Factorization (RegularSVD) 实验总结

MF的效果 1)与P.Q的初始值有关系:取值的方式包括:a)正态分布b)随机取数c)随机取数/隐向量维数d)全赋值为0:不同的方式导致结果不同,如Yelp,phonix数据集下,c)的方式就会好些 2)与P.Q的维数有关:传统理解应该维数增加,效果也提升.但是不同数据集,效果却是不同的.如Yelp,phonix数据集,在一维时,效果最好,维数越增加反而效果下降(如下图).