当前位置:网站首页>NMF-matlab
NMF-matlab
2022-07-02 19:42:00 【Full stack programmer webmaster】
Hello everyone , I meet you again , I'm your friend, Quan Jun .
matlab Practice the program ( Nonnegative matrix decomposition )
The algorithm is Lee and Seung stay 1999 Years published in nature In the magazine . See the specific paper here :http://www.seas.upenn.edu/~ddlee/Papers/nmf.pdf.
It doesn't matter if you don't understand English , You can see this introduction in Chinese :http://wenku.baidu.com/view/94c8af0bf78a6529647d5331.html.
The principle of the above two articles has been very clear , I'm introducing it according to my own understanding .
Usually, matrix decomposition is as follows svd Or any other decomposition will decompose the matrix into positive and negative matrices , And his decomposition method completely decomposes the matrix into a matrix with only positive numbers , Because in the real world, such as images , Negative numbers are meaningless , So this decomposition method that only decomposes into positive matrix is very meaningful , Otherwise, it will not be sent in nature Such a cow B In my magazine .
Here is the formula of decomposition :
here r Is the rank of the decomposition matrix ,V Is an approximation of the original matrix ,W And H Is the decomposition of two matrices .
Here is W and H The way of seeking , It's an iterative algorithm , Initial W And H It's random :
About the code , I learned from this blog :http://fxy1211.blog.163.com/blog/static/68255322007826111015905/, Thank you so much for this blogger .
Here is the code :
clear all; close all; clc; V=double(imread('lena.jpg')); imshow(mat2gray(V)); [i u]=size(V); % Calculation V Specifications r=100; % Set the rank of the decomposition matrix W=rand(i,r); % initialization WH, It's a nonnegative number H=rand(r,u); maviter=100; % Maximum number of iterations for iter=1:maviter W=W.*((V./(W*H))*H'); % Note that the three formulas here correspond to those in the text
W=W./(ones(i,1)*sum(W)); H=H.*(W'*(V./(W*H)));
end img_V=W*H; figure; imshow(mat2gray(img_V));The following is the original image and the reconstructed effect , If the number of rank sum iterations is greater , Then the reconstructed graph is closer to the original graph :
Original picture
Reconstruction graph
Because this is based on my related direction. I happened to see this algorithm in the quotation of a paper , So I got a little understanding , There must be something wrong , be it so .
Publisher : Full stack programmer stack length , Reprint please indicate the source :https://javaforall.cn/148571.html Link to the original text :https://javaforall.cn
边栏推荐
- AcWing 1125. Cattle travel problem solution (shortest path, diameter)
- mysql函数
- checklistbox控件用法总结
- KT148A语音芯片使用说明、硬件、以及协议、以及常见问题,和参考代码
- AcWing 1126. 最小花费 题解(最短路—dijkstra)
- Gmapping code analysis [easy to understand]
- Golang concurrent programming goroutine, channel, sync
- [pytorch learning notes] tensor
- What is the MySQL backup suffix_ MySQL backup restore
- 安装单机redis详细教程
猜你喜欢

Implementation of online shopping mall system based on SSM

Watchful pioneer world outlook Architecture - (how does a good game come from)

编写完10万行代码,我发了篇长文吐槽Rust

What is the Bluetooth chip ble, how to select it, and what is the path of subsequent technology development

KT148A语音芯片ic的软件参考代码C语言,一线串口

Automatically generate VGg image annotation file

Conscience summary! Jupyter notebook from Xiaobai to master, the nanny tutorial is coming!

搭建主从模式集群redis

Notes on hardware design of kt148a voice chip IC

搭建哨兵模式reids、redis从节点脱离哨兵集群
随机推荐
AcWing 1128. 信使 题解(最短路—Floyd)
函数高阶-柯里化实现
Cuckoo filter
After writing 100000 lines of code, I sent a long article roast rust
SQLite 3.39.0 发布,支持右外连接和全外连接
基于SSM实现网上购物商城系统
Shardingsphere jdbc5.1.2 about select last_ INSERT_ ID () I found that there was still a routing problem
Istio1.12:安装和快速入门
从20s优化到500ms,我用了这三招
Idea editor removes SQL statement background color SQL statement warning no data sources are configured to run this SQL And SQL dialect is not config
IDEA编辑器去掉sql语句背景颜色SQL语句警告No data sources are configured to run this SQL...和SQL Dialect is Not Config
R语言使用econocharts包创建微观经济或宏观经济图、indifference函数可视化无差异曲线(indifference curve)
What is the MySQL backup suffix_ MySQL backup restore
搭建主从模式集群redis
《MongoDB入门教程》第03篇 MongoDB基本概念
RPD出品:Superpower Squad 保姆级攻略
数据湖(十二):Spark3.1.2与Iceberg0.12.1整合
c语言里怎么设立优先级,细说C语言优先级
自動生成VGG圖像注釋文件
冒泡排序数组