svdsketch
计算低秩矩阵草图的奇异值分解
语法
描述
例子
输入参数
输出参数
提示
使用
svdsketch
当你事先不知道用什么等级来指定时圣言会
,但是你知道SVD的近似应该满足什么公差。圣言会
计算SVD的最佳秩k近似(使用默认值)“最大”
方法)。svdsketch
不能保证它的秩k近似是最好的,这就说明了它的速度优势圣言会
.
算法
svdsketch
应用一个公差来形成低秩矩阵近似
输入矩阵的一个
.这种低秩近似称为a矩阵草图.矩阵草图只保留重要的特征一个
,过滤掉不必要的信息。相对近似误差apxErr
矩阵草图的目的是满足规定的公差托尔
:
这个过程svdsketch
下面形成矩阵草图为:
svdsketch
迭代地形成矩阵草图,每次迭代添加新的列问和新行B.通过提取特征来创建新的列和行一个
使用随机抽样矩阵。控件可以控制每次迭代中添加的列和行数BlockSize
名称-值对。在每次迭代中,
svdsketch
中使用幂迭代来改善新列的正交性问.属性可以调整幂次迭代的次数NumPowerIterations
名称-值对。生成矩阵草图的迭代在以下情况停止:中的列数问排在里面B的指定值
MaxSubspaceDimension
,迭代次数达到MaxIterations
,或相对近似误差收敛(apxErr <= tol
).为了提高收敛速度,
svdsketch
的指定初始值BlockSize
从一个迭代到另一个迭代apxErr
是不够的。
在矩阵草图之后
形成,svdsketch
计算矩阵草图的奇异值分解(SVD)[U1,S,V] = svd(B,'econ')
,以致于
如果svdsketch
是否能过滤掉某些特征一个
基于指定的公差,那么结果的奇异值分解因子包含的奇异值和奇异向量比完整的奇异值分解更少一个
.
参考文献
[1]于文健顾宇李耀航。固定精度低秩矩阵逼近的有效随机算法。矩阵分析与应用杂志39岁的没有。3(2018年8月):1339-1359。https://doi.org/10.1137/17M1141977.