背景

有很多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. [20181130]control file sequential read.txt

    [20181130]control file sequential read.txt --//昨天上午探究了大量控制文件读的情况,链接:http://blog.itpub.net/267265/vie ...

  2. python 函数参数为*和**的作用与区别

    def function(*args):print(args) 中*的作用:表示此时参数为一个元祖. def function(**args):print(args)中**的作用:表示此时参数为一个字 ...

  3. js对WebApi请求的基本操作

    在WebAPI对外提供的,大概有4种接口,get,post,delete,put,现在,我就简单的来说一下js请求webApi的方式和大概的作用: get:在webApi中,get方法通常是用来获取数 ...

  4. LeetCode算法题-Minimum Depth of Binary Tree(Java实现)

    这是悦乐书的第168次更新,第170篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第27题(顺位题号是111).给定二叉树,找到它的最小深度.最小深度是沿从根节点到最近的 ...

  5. 【Linux基础】tr命令替换和删除字符

    1.tr命令 tr可以对来自标准输入的字符进行替换.压缩和删除,可以将一组字符变成另外一组字符.通过使用 tr,您可以非常容易地实现 sed 的许多最基本功能.您可以将 tr 看作为 sed 的(极其 ...

  6. (转)Spring Boot(七):Mybatis 多数据源最简解决方案

    http://www.ityouknow.com/springboot/2016/11/25/spring-boot-multi-mybatis.html 说起多数据源,一般都来解决那些问题呢,主从模 ...

  7. Django-rest-framework 接口实现 了解 GenericAPIView

    进化写法GenericAPIView 面向对象的封装 将同样的 方法以及对象 封装到一起 将 对数据库相关的 功能封装到一起 GenericAPIView 在 from rest_framework. ...

  8. spring boot监控--actuator

    原文地址:http://blog.csdn.net/wh_ouyangshuang/article/details/48048111 spring-boot-actuator模块提供了一个监控和管理生 ...

  9. 七彩爱心灯手机APP

    安卓IDE3.20以后不包含sdk,需要更新重新下载. 1 下载工程 https://github.com/Dongvdong/Lovelamp_app 2打开工程 如果换了工程移动换了文件夹 (1) ...

  10. >/dev/null 2>&1和2>&1 >/dev/null区别

    >/dev/null 2>&1和2>&1 >/dev/null区别 >/dev/null 2>&1 //会将标准输出,错误输出都重定向至/d ...