非负PCA

目前两个相关的技术:NMF和NSPCA,原理一样,都是把矩阵分解变成优化问题,即最小化残差,加上惩罚项。

NMF:matlab自带代码,但是很难写成I=I_0+a_1*I_1+...+a_n*I_n的形式

NSPCA:代码有公布,但链接http://www.cs.huji.ac.il/-zass/已经失效,已发邮件去要代码


SPCA代码阅读:

1.X is an n*p matrix where n is the number of observations and p is the number of variables. X should be centered and normalized such that the column means are 0 and the column Euclidean lengths are 1.这里p是每个observations包含的变量,需要是正则的。但,给出的例子不是正则的。

2.例子
作图是plot(X,Y)时,X是向量,Y是矩阵的情况,X作为横坐标,坐标上每一点,对应的Y中的向量,向量中每个值都画出来

3.elastic net problem 和 larsen

4.直接加入 beta>=0呢?

NSPCA:

1.也是变成优化问题,但是变成最大化 U^T*X 的F范数,在U^T*U =I, U>=0的条件下。

2.写成关于u的4次函数

另外找了份代码,文章地址

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容