当前位置:网站首页>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
边栏推荐
- A4988 drive stepper motor "recommended collection"
- Kt148a voice chip IC software reference code c language, first-line serial port
- AcWing 1135. 新年好 题解(最短路+搜索)
- SQLite 3.39.0 release supports right external connection and all external connection
- 4274. Suffix expression - binary expression tree
- Use cheat engine to modify money, life and stars in Kingdom rush
- Kt148a voice chip instructions, hardware, protocols, common problems, and reference codes
- Registration opportunity of autowiredannotationbeanpostprocessor in XML development mode
- Correspondence between pytoch version, CUDA version and graphics card driver version
- AcWing 1127. Sweet butter solution (shortest path SPFA)
猜你喜欢

Kt148a voice chip instructions, hardware, protocols, common problems, and reference codes
Bubble sort array

Detailed tutorial on installing stand-alone redis

Build a master-slave mode cluster redis

Introduction to mongodb chapter 03 basic concepts of mongodb

自動生成VGG圖像注釋文件

Common problems and description of kt148a voice chip IC development

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

Automatically generate VGg image annotation file

搭建哨兵模式reids、redis从节点脱离哨兵集群
随机推荐
LeetCode 0871. Minimum refueling times - similar to poj2431 jungle adventure
Think about the huge changes caused by variables
[ERP software] what are the dangers of the secondary development of ERP system?
452-strcpy、strcat、strcmp、strstr、strchr的实现
450-深信服面经1
《架构整洁之道》读书笔记(下)
AcWing 1127. 香甜的黄油 题解(最短路—spfa)
AcWing 1134. 最短路计数 题解(最短路)
蓝牙芯片ble是什么,以及该如何选型,后续技术发展的路径是什么
Horizontal ultra vires and vertical ultra vires [easy to understand]
R language uses econcharts package to create microeconomic or macroeconomic maps, and indifference function to visualize indifference curve
AcWing 1129. Heat wave solution (shortest path SPFA)
《重构:改善既有代码的设计》读书笔记(下)
453-atoi函数的实现
《重构:改善既有代码的设计》读书笔记(上)
AcWing 342. 道路与航线 题解 (最短路、拓扑排序)
Windows2008R2 安装 PHP7.4.30 必须 LocalSystem 启动应用程序池 不然500错误 FastCGI 进程意外退出
AcWing 340. 通信线路 题解(二分+双端队列BFS求最短路)
Usage of ieda refactor
Infix expression is converted to suffix expression (C language code + detailed explanation)