计算低秩矩阵草图的SVD
使用svdsketch
当你不知道提前指定什么等级时圣言会
但是,您知道SVD的近似应该满足的容忍度。
圣言会
计算SVD的最佳可能Quoul-K近似值(使用默认值“最大”
方法)。svdsketch
不能保证它的秩k近似是最好的,这说明它的速度优势圣言会
。
svdsketch
应用容差形成低秩矩阵近似
的输入矩阵一个
。这种低级近似称为a矩阵草图。矩阵素描只能保留重要的功能一个
,过滤掉不必要的信息。相对近似误差apxErr
矩阵草图的目的是满足规定的公差托尔
:
这个过程svdsketch
遵循以形成矩阵素描是:
svdsketch
迭代地形成矩阵草图,每次迭代都会添加新列问:然后新建行B.。通过提取特征来创建新的列和行一个
使用随机样本矩阵。控件可以控制在每次迭代中添加的列和行数BlockSize
名称-值对。
在每一次迭代,svdsketch
使用电源迭代来改进新列的正交性问:。控件可以调整功率迭代的次数NumPowerIterations
名称-值对。
迭代以形成矩阵素描停止时:列中的列数问:和行B.达到指定的值maxsubspacedimension.
,迭代次数达到最大
,或相对近似误差收敛(apxErr < =托尔
)。
为了提高收敛速度,svdsketch
可能增加指定的初始值BlockSize
从迭代到迭代,如果衰退在apxErr
是不够的。
在矩阵草图之后
形成,svdsketch
通过计算矩阵草图的奇异值分解(SVD)[U1,S,V] = SVD(B,'ECON')
,这样
如果svdsketch
能够过滤掉一些功能一个
基于指定的容差,那么得到的奇异值分解因子所包含的奇异值和奇异向量要比在上进行全奇异值分解时少一个
。
[1]宇,文主,余谷,姚明李。“高效的随机算法,用于固定精度低级矩阵近似。”矩阵分析及其应用39,没有。3(2018年1月):1339-59。https://doi.org/10.1137/17M1141977。