Truncated Power Method for Sparse Eigenvalue Problems

抱歉,真的没怎么看懂,当然,估计和我现在没法静下心来好好看也有关系。
算法

想法非常非常简单吧,就是在原来幂法的基础上,每次迭代的时候再加个截断。当然,论文里给出了,为什么这么做的理由,把我弄得晕晕的,但是思想就是这么朴素。现在的问题是:
1.k怎么选?
2.初始\(x\)的选择
k的选择
这个我没在论文里找到,但是看数值实验,感觉在k上面是有操作空间的。
\(x\)的初始化
\(x\)的初始化,是这篇论文的大头,讲了怎么样怎么样就能怎么样怎么样。
总结就是有如下3种方案:
- \(x=e_j,j=argmax\{A_{ii}\}\)实在是简单粗暴啊。
- 分俩步,第一步先把\(k\)放大一些,然后进行迭代(初始化估计就用第一种吧),迭代几步之后,把\(k\)变回来,再继续迭代。
- 当\(k\approx p\)的时候,采用Moghaddam et al. 2006后向选取的方法。
注:文章还提到,当\(A\)具有唯一的稀疏的主特征向量,那么,TPower方法能够从\(A\)的带噪声的观测中,讲该特征向量近似地恢复出来。
代码
def You_eig_value(C, x, k): #幂法
p = C.shape[1]
x1 = x #初始化
while True:
x2 = C @ x1
truncate(x, k)
x2 = x2 / np.sqrt(x2 @ x2)
if np.sum(np.abs(x2-x1)) < 0.0001:
break
else:
x1 = x2
return x1
def truncate(x, k): #截断
p = len(x)
label = np.argsort(np.abs(x))[:p-k]
x[label] = 0
Truncated Power Method for Sparse Eigenvalue Problems的更多相关文章
- Generalized Power Method for Sparse Principal Component Analysis
目录 重点 算法 这篇文章,看的晕晕的,但是被引用了400多次了,就简单地记一笔. 这个东西,因为\(\ell_1\)范数,所以会稀疏化,当然,和\(\gamma\)有关. 重点 我想重点写的地方是下 ...
- Spark2.0机器学习系列之11: 聚类(幂迭代聚类, power iteration clustering, PIC)
在Spark2.0版本中(不是基于RDD API的MLlib),共有四种聚类方法: (1)K-means (2)Latent Dirichlet all ...
- cvpr2015papers
@http://www-cs-faculty.stanford.edu/people/karpathy/cvpr2015papers/ CVPR 2015 papers (in nicer forma ...
- <<Numerical Analysis>>笔记
2ed, by Timothy Sauer DEFINITION 1.3A solution is correct within p decimal places if the error is l ...
- A.Kaw矩阵代数初步学习笔记 10. Eigenvalues and Eigenvectors
“矩阵代数初步”(Introduction to MATRIX ALGEBRA)课程由Prof. A.K.Kaw(University of South Florida)设计并讲授. PDF格式学习笔 ...
- <Numerical Analysis>(by Timothy Sauer) Notes
2ed, by Timothy Sauer DEFINITION 1.3A solution is correct within p decimal places if the error is l ...
- UBIFS - UBI File-System
参考:http://www.linux-mtd.infradead.org/doc/ubifs.html#L_raw_vs_ftl UBIFS - UBI File-System Table of c ...
- Kernel Functions for Machine Learning Applications
In recent years, Kernel methods have received major attention, particularly due to the increased pop ...
- 0002--Weekly Meeting on 27th March and 3th April, 2015
27th March, 2015 (1) RankNet && PageRank ->reporter: jinquan Du Web_RankNet Web_PageRa ...
随机推荐
- SMM框架--maven创建web项目
1.首先新建一个maven项目,看图: 2.按照以上步骤就可以创建一个maven项目,可以看到最下图的目录结构,但是这样的目录结构是不对的,需要做一些修改. 首先为了避免乱码,我们应该将项目编码换成U ...
- Win 10 启用Linux子系统---Kali 和Ubuntu子系统
注:转载请注明出处,谢谢!!! 一.Linux on Windows简介 Win10一周年版推出了用于Windows的Linux子系统这一功能.Linux子系统和Windows的结合真是有一种神互补. ...
- LeetCode算法题-Ugly Number(Java实现-四种解法)
这是悦乐书的第199次更新,第208篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第64题(顺位题号是263).编写一个程序来检查给定的数字是否是一个丑陋的数字.丑陋的数 ...
- LeetCode算法题-Excel Sheet Column Number(Java实现)
这是悦乐书的第182次更新,第184篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第41题(顺位题号是171).给定Excel工作表中显示的列标题,返回其对应的列号.例如 ...
- 【工具大道】UML的点点滴滴
本文地址 点击关注微信公众号 wenyuqinghuai 分享提纲: 1. 概述 2. UML类图 3. UML时序图 4. 参考资料 1.概述 1.1)百度百科: 又称统 ...
- Eclipse的各种查找,类的查找,方法查找快捷键
eclipse开发中,查找会是一个经常用到的功能所以总结一下1,查找一个类 Shift + Ctrl + h 这种方式能快速的定位接口,类还有注解在那个包里面2.综合查找 Ctrl + H 这是一种综 ...
- E. Magic Stones CF 思维题
E. Magic Stones time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...
- Linux的目录结构--一切从根开始
Linux目录结构的特点 # 举例-linux下面使用光盘 ###.把光盘放入到光驱中 ###.linux中使用光盘 /dev/cdrom [root@oldboyedu- ~]# ll /dev/c ...
- 使用vue-cli脚手架创建项目
ue-cli 是一个官方发布 vue.js 项目脚手架,使用 vue-cli 可以快速创建 vue 项目. GitHub地址是:https://github.com/vuejs/vue-cli 一.安 ...
- 数据库事务的四大特性以及事务的隔离级别-与-Spring事务传播机制&隔离级别
数据库事务的四大特性以及事务的隔离级别 本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别. 如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性: ⑴ ...