背景

有很多Sparse PCA 算法运用了收缩算法,但是呢,往往只考虑如何解决,每一次迭代的稀疏化问题,而忽略了收缩算法的选择。

总括

Hotelling's deflation

公式

\(A_t = A_{t-1}-x_tx_t^{\mathrm{T}}A_{t-1}x_tx_t^{\mathrm{T}}\)

特点

如果\(x_t\)是\(A_{t-1}\)的特征向量
那么
\(A_tx_t = (A_{t-1}-x_tx_t^{\mathrm{T}}A_{t-1}x_tx_t^{\mathrm{T}})x_t =0\)
所以,\(x_t\)依然是A_t的特征值为0所对应的特征向量。
但是,如果\(x_t\)不是特征向量,\(A_tx_t=0\)这个性质就不存在了,而且,\(A_t\)不一定是半正定矩阵。

Projection deflation

公式

\(A_t = (I-x_tx_t^{\mathrm{T}})A_{t-1}(I-x_tx_t^{\mathrm{T}})\)

特点

半正定

假设\(A_{t-1}\)是半正定的。那么,对于任意的\(x\)
\(x^{\mathrm{T}}A_tx = [x^{\mathrm{T}}(I-x_tx_t^{\mathrm{T}})]A_{t-1}[(I-x_tx_t^{\mathrm{T}})x]\geq0\)

另外\(A_tx_t=0\)
\(A_tx_t=(I-x_tx_t^{\mathrm{T}})A_{t-1}(I-x_tx_t^{\mathrm{T}})x_t=0\)

不过,\(A_sx_t \quad s>t\)的值往往不是0

Schur complement deflation

Orthogonalized projection deflation

公式

\(A_t = (I-\mathcal{P}^{(t)})A(I-\mathcal{P}^{(t)})\)
\(\mathcal{P}^{(t)}\)是投影矩阵,满足:
\(\mathcal{P}^{(t)\mathrm{T}}\mathcal{P}^{(t)}=\mathcal{P}^{(t)}\)
\(\mathcal{P}^{(t)}\mathcal{P}^{(t)}=\mathcal{P}^{(t)}\)

\(X=[x_1,x_2,\ldots,x_t]=QR\)
则:
\(\mathcal{P}^{(t)}=Q_{1...t}Q_{1...t}^{\mathrm{T}}\)(假设X的秩为t)
其中\(Q_{1...t}\)为\(Q\)的前t列。

Orthogonalized Hotelling's deflation

公式

\(A_t = A_{t-1} - q_tq_t^{\mathrm{T}}A_{t-1}q_tq_t^{\mathrm{T}}\)
\(q_t=\frac{(I-\mathcal{P}^{(t-1)})x_t}{\|(I-\mathcal{P}^{(t-1)})x_t\|}\)

特点

XXX

Deflation Methods for Sparse PCA的更多相关文章

  1. Spectral Bounds for Sparse PCA: Exact and Greedy Algorithms[贪婪算法选特征]

    目录 概括 Sparse PCA Formulation 非常普遍的问题 Optimality Conditions Eigenvalue Bounds 算法 代码 概括 这篇论文,不像以往的那些论文 ...

  2. Sparse PCA 稀疏主成分分析

    Sparse PCA 稀疏主成分分析 2016-12-06 16:58:38 qilin2016 阅读数 15677 文章标签: 统计学习算法 更多 分类专栏: Machine Learning   ...

  3. Sparse PCA: reproduction of the synthetic example

    The paper: Hui Zou, Trevor Hastie, and Robert Tibshirani, Sparse Principal Component Analysis, Journ ...

  4. 压缩感知与稀疏模型——Convex Methods for Sparse Signal Recovery

    第三节课的内容.这节课上课到半截困了睡着了,看着大家都很积极请教认真听讲,感觉很惭愧.周末不能熬太晚.这个博客就记录一下醒着时候听到的内容. Motivation 目前的时代需要处理的数据量维度可能很 ...

  5. A direct formulation for sparse PCA using semidefinite programming

    目录 背景 Sparse eigenvectors(单个向量的稀疏化) 初始问题(low-rank的思想?) 等价问题 最小化\(\lambda\) 得到下列问题(易推) 再来一个等价问题 条件放松( ...

  6. Kernel Methods (5) Kernel PCA

    先看一眼PCA与KPCA的可视化区别: 在PCA算法是怎么跟协方差矩阵/特征值/特征向量勾搭起来的?里已经推导过PCA算法的小半部分原理. 本文假设你已经知道了PCA算法的基本原理和步骤. 从原始输入 ...

  7. 主成分分析(PCA)原理总结

    主成分分析(Principal components analysis,以下简称PCA)是最重要的降维方法之一.在数据压缩消除冗余和数据噪音消除等领域都有广泛的应用.一般我们提到降维最容易想到的算法就 ...

  8. Python机器学习笔记 使用scikit-learn工具进行PCA降维

    之前总结过关于PCA的知识:深入学习主成分分析(PCA)算法原理.这里打算再写一篇笔记,总结一下如何使用scikit-learn工具来进行PCA降维. 在数据处理中,经常会遇到特征维度比样本数量多得多 ...

  9. 深入学习主成分分析(PCA)算法原理(Python实现)

    一:引入问题 首先看一个表格,下表是某些学生的语文,数学,物理,化学成绩统计: 首先,假设这些科目成绩不相关,也就是说某一科目考多少分与其他科目没有关系,那么如何判断三个学生的优秀程度呢?首先我们一眼 ...

随机推荐

  1. C#发布和调试WebService

    一.编写并发布WebService服务 1.新建空web应用程序

  2. SqlServer执行Insert命令同时判断目标表中是否存在目标数据

    针对于已查询出数据结果, 且在程序中执行Sql命令, 而非数据库中的存储过程 INSERT INTO TableName (Column1, Column2, Column3, Column4, Co ...

  3. 关于JBoss -“Closing a connection for you,please close them yourself”

    使用JNDI的方式从Jboss里获取数据连接(Connection)的方式,Jboss会管理connection,不需要自己手动去关闭,但Jboss老是提示需要自己来关闭connection,针对Jb ...

  4. SQL Server 锁实验(INSERT加锁探究)

    insert语句: 其上锁情况为: insert语句会对表上的所有索引作出更新,因此这里看到的索引列较多,我们先把所有的索引搞出来看看: 可以看到所有索引都涉及到了,然后我们来仔细分析下加锁情况: 1 ...

  5. win10监听剪切板变化

    一.第一步导入api #region [DllImport("user32.dll")] public static extern bool AddClipboardFormatL ...

  6. python 进程池的简单使用方法

    回到python,用一下python的进程池. 记得之前面试的时候,面试官问:你知道进程池的默认参数吗? 我没有回答上来,后来才知道,是有默认参数的.下面就看看它的默认参数 1. 不加参数 from ...

  7. JAVA的下载与安装和环境变量配置等详细教程

    初学JAVA时,新手常常不知如何下载JAVA,也不知如何安装JAVA以及对JAVA配置环境变量.近期学弟学妹常请教我如何下载安装和配置JAVA,于是写下此博文以便更多新手快速入门,由于我本人是玩智能车 ...

  8. (转载)关于usr/bin/ld: cannot find -lxxx问题总结

    usr/bin/ld: cannot find -lxxx问题总结 linux下编译应用程序常常会出现如下错误:   /usr/bin/ld: cannot find -lxxx        意思是 ...

  9. LeetCode算法题-Number of Segments in a String(Java实现)

    这是悦乐书的第226次更新,第239篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第93题(顺位题号是434).计算字符串中的段数,其中段定义为非空格字符的连续序列.请注 ...

  10. 异常--finally关键字

    finally定义: finally{}代码块中的代码是一定会执行的,一般用来关闭资源或者一些必须执行的代码,如数据库连接的关闭