matlab练习程序(非负矩阵分解).pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
matlab练练习习程程序序 ((⾮⾮负负矩矩阵阵分分解解))   这个算法是Lee和Seung在1999年发表在nature杂志上的。具体论 看这⾥:。   看不懂英 没关系,可以看这个中 的介绍:。   原理上⾯两篇 章已经很清楚了,我在按⾃⼰的理解介绍⼀下吧。   通常矩阵分解如svd或其他什么的分解都会把矩阵分解为有正有负的矩阵,⽽他的这种分解⽅法就把矩阵完全分解成只有正数的矩阵, 因为现实世界中如图像,负数是没什么意义的,所以这种只分解为正数矩阵的分解⽅法就很有意义了,要不也不会发在nature这样⽜B的杂 志上。   这⾥是分解的公式:   这⾥r是分解矩阵的秩,V是原矩阵的⼀个近似,W与H就是分解⽽成的两个矩阵。   下⾯是W和H的求法,是⼀个迭代算法,初始的W与H是随机的就⾏了:      关于代码,我借鉴了这个博客的:,真是太感谢这位博主了。   下⾯是代码: clear all; close all; clc ; V=double(imread(lena.j g)); imshow(mat2gray (V)); [i u]=size(V); %计算V的规格 r=100; %设置分解矩阵的秩 W=rand(i,r); %初始化WH,为⾮负数 H=rand(r,u); mav iter=100; %最⼤迭代次数 for iter=1:mav iter W=W.*((V./ (W*H))*H); %注意这⾥的三个公式和 中的是对应的 W=W./ (ones(i,1)*sum(W)); H=H.*(W*(V./ (W*H))); end img_V=W*H; figure; imshow(mat2gray (img_V));   下⾯是原图和重构后的效果,如果秩和迭代次数越⼤,那么重构后的图越接近原图: 原图 重构图 因为这个是看⾃⼰相关⽅向论 偶然在⼀篇论 的引⽤中看到了这个算法,所以就稍微了解了⼀下,肯定有不妥的地⽅,就这样吧。

文档评论(0)

有志者事竟成 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7114163151000053

1亿VIP精品文档

相关文档