文件帮助中心文件
非负矩阵分解
[W H] = nnmf (A、k)
[w,h] = nnmf(a,k,名称,值)
[W H D] = nnmf (___的)
例子
[W.那H] = nnmf(一种那K.的)因素的N.——- - - - - -M.矩阵一种为负的因素W.(N.——- - - - - -K.),H(K.——- - - - - -M.).分解是不精确的;W * H是较低的近似值一种.的因素W.和H最小化均方根残差D.之间的一种和W * H.
[W.那H] = nnmf(一种那K.的)
W.
H
一种
K.
W * H
D.
D =范数(A - W*H,“摇来摇去”) /√(n *米)
分解使用迭代算法,从随机初始值开始W.和H.因为是均方根残差D.可能有局部极小值,重复分解可能会得到不同的结果W.和H.有时算法会聚到较低级别的解决方案K.,这可以表明结果不是最佳的。
[W.那H] = nnmf(一种那K.那名称,价值的)使用一个或多个名称-值对参数修改因式分解。例如,您可以通过设置请求重复分解“复制”到一个大于1的整数值。
[W.那H] = nnmf(一种那K.那名称,价值的)
名称,价值
“复制”
[W.那H那D.] = nnmf(___的)还返回均方根差异D.使用先前语法中的任何输入参数组合。
[W.那H那D.] = nnmf(___的)
全部收缩
加载样本数据。
加载渔民
计算Fisher虹膜数据中四个变量测量的非负秩的两个近似。
rng (1)%的再现性[W H] = nnmf(量,2);H
H =2×40.6945 0.2856 0.6220 0.2218 0.8020 0.5683 0.1834 0.0149
第一个和第三变量量(萼片长度和花瓣长度,系数分别为0.6945和0.6220)对第1列的权重比较强W..第一个和第二个变量量(萼片长度和萼片宽度的系数分别为0.8020和0.5683)为第二列提供了较强的权重W..
量
创建一个双针的数据和变量量在列空间W..
双针
Biplot(H','分数'W,'varlabels', {“sl”那'SW'那'PL'那'pw'});轴([0 1.1 0 1.1])Xlabel('第1栏') ylabel ('第2栏'的)
从随机数组开始X使用乘法算法尝试几个复制的次数。
X
rng.默认的%的再现性X =兰德(100年,20)*兰德(20、50);选择= statset (“麦克斯特”5,“显示”那“最后一次”);[W0, H0] = nnmf (X 5“复制”10...“选项”,选择,...“算法”那“乘”);
REP迭代RMS RENT | DELTA X |1 5 0.560887 0.0245182 2 5 0.66418 0.0364471 3 5 0.609125 0.0358355 4 5 0.608894 0.0415491 5 5 0.619291 0.0455135 6 5 0.621549 0.0299965 7 5 0.640549 0.0438758 8 5 0.673015 0.0366856 9 5 0.606835 0.0318931 10 5 0.633526 0.0319591最终的根均方残留= 0.560887
使用交替最小二乘,从这些结果中继续使用更多迭代。
选择= statset ('maxiter', 1000,“显示”那“最后一次”);[W H] = nnmf (X, 5,“W0”,w0,“H0”,H0,...“选项”,选择,...“算法”那“als”);
REP迭代RMS RENT | DELTA X |1 24 0.257336 0.00271859最终均方根方形剩余= 0.257336
要分解的矩阵,指定为实矩阵。
例子:兰特(20,30)
兰特(20,30)
数据类型:单|双
单
双
因子的秩,指定为正整数。由此产生的因素W.和H有K.分别列和行。
例子:3.
指定可选的逗号分离对名称,价值参数。的名字是参数名称和价值为对应值。的名字必须出现在引号内。您可以以任何顺序指定多个名称和值对参数Name1, Value1,…,的家.
的名字
价值
Name1, Value1,…,的家
[w,h] = nnmf(a,k,'算法','mult','复制',10)
算法
“als”
“乘”
分解算法,指定为逗号分隔对组成“算法”和“als”(交替的最小二乘)或“乘”(乘法更新算法)。
“算法”
这“als”算法通常更稳定,收敛更少的迭代。每次迭代花费的时间更长。因此,默认最大值为50,通常在内部测试中给出令人满意的结果。
这“乘”算法通常具有更快的迭代并需要更多的迭代。默认最大值为100.此算法对启动值倾向于更敏感,因此似乎从运行多个复制中受益更多。
例子:“算法”,“乘”
“算法”,“乘”
数据类型:字符|字符串
字符
字符串
W0
初始价值W.,指定为逗号分隔的配对组成“W0”和N.——- - - - - -K.矩阵,N.行数是多少一种, 和K.第二个输入参数是nnmf.
“W0”
nnmf
H0.
初始价值H,指定为逗号分隔的配对组成“H0”和一个K.——- - - - - -M.矩阵,K.第二个输入参数是nnmf, 和M.是列的数量一种.
“H0”
选项
[]
statset
算法选项,指定为逗号分隔的对,由“选项”和一个由此返回的结构statset功能。nnmf使用选项结构的以下字段。
“选项”
显示
“关闭”(默认)-不显示
“关闭”
“最后一次”-显示最终结果
“最后一次”
'iter'-中间结果的迭代显示
'iter'
麦克斯特
50
One hundred.
TolFun
1的军医
托克斯
使用指α.
错误的
真的
Useryubstreams.
错误的(默认)-不重复计算
“mlfg6331_64”
“mrg32k3a”
有关详细信息,请参阅并行统计计算的再现性.
流
RandStream
如果您未指定流那nnmf使用默认流或流。
如果使用指α.是真的和Useryubstreams.是错误的,指定单元格数组RandStream对象的大小与Parallel池相同。否则,指定单个RandStream对象。
例子:'选项',statset('显示','iter','maxiter',50)
'选项',statset('显示','iter','maxiter',50)
数据类型:塑造
塑造
复制
1
重复分解的次数,指定为逗号分隔对组成“复制”和一个正整数。该算法选择新的随机启动值W.和H在每个复制,除非在第一个复制,如果您指定“W0”和“H0”.如果指定的值大于1,您可以通过设置获得更好的结果算法来“乘”.看到改变算法.
例子:10
非负左因素一种,返回为N.——- - - - - -K.矩阵。N.行数是多少一种, 和K.第二个输入参数是nnmf.
W.和H是标准化的,以便H单位长度。的列W.是按长度递减的顺序排列的。
的非负右因子一种,返回一个K.——- - - - - -M.矩阵。K.第二个输入参数是nnmf, 和M.是列的数量一种.
均方根残差,作为非负标量返回。
[1] Berry, Michael W., Murray Browne, Amy N. Langville, V. Paul Pauca, Robert J. Plemmons。近似非负矩阵分解的算法及应用。计算统计和数据分析52,没有。1(2007年9月):155-73。https://doi.org/10.1016/j.csda.2006.11.006.
要并行运行,请指定“选项”对此函数调用中的名称值参数并设置'使用指惯'字段的选项结构真的使用statset.
'使用指惯'
例如:“选项”,statset (UseParallel,真的)
“选项”,statset (UseParallel,真的)
有关并行计算的更多信息,请参阅使用自动并行支持运行MATLAB功能金宝app(并行计算工具箱).
PCA.|factoran|statset|双针
PCA.
factoran
Tiene UnaVersiónModififada de Este Ejegro。¿desea abrir este ejemerlo con modificaciones?
有一个对应于MATLAB的代码:
把它扔进introduciéndolo然后把它扔进MATLAB。Los navegadores web no admit comandos de MATLAB。
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获得最佳网站性能。其他MathWorks国家网站未优化您所在地的访问。
与当地办事处联系