-
大小: 4KB文件类型: .m金币: 1下载: 0 次发布日期: 2021-05-23
- 语言: Matlab
- 标签: Deep-Semi-NM matlab
资源简介
该代码是用matlab编写的,为深度半非负矩阵分解算法,用于人脸识别的。
代码片段和文件信息
function [ Z H dnorm ] = deep_seminmf ( X layers varargin )
% Process optional arguments
pnames = { ...
‘z0‘ ‘h0‘ ‘bUpdateH‘ ‘bUpdateLastH‘ ‘maxiter‘ ‘TolFun‘ ...
‘verbose‘ ‘bUpdateZ‘ ‘cache‘ ‘gnd‘ ...
};
X = bsxfun(@rdivideXsqrt(sum(X.^21)));
num_of_layers = numel(layers);
Z = cell(1 num_of_layers);
H = cell(1 num_of_layers);
dflts = {0 0 1 1 500 1e-5 1 1 1 0};
[z0 h0 bUpdateH bUpdateLastH maxiter tolfun verbose bUpdateZ cache gnd] = ...
internal.stats.parseArgs(pnamesdfltsvarargin{:});
if ~iscell(h0)
for i_layer = 1:length(layers)
if i_layer == 1
% For the first layer we go linear from X to Z*H so we use id
V = X;
else
V = H{i_layer-1};
end
if verbose
display(sprintf(‘Initialising layer #%d with k=%d with size(V)=%s...‘ i_layer layers(i_layer) mat2str(size(V))));
end
if ~iscell(z0)
% For the later layers we use nonlinearities as we go from
% g(H_{k-1}) to Z*H_k
[Z{i_layer} H{i_layer} ~] = ...
seminmf(V ...
layers(i_layer) ...
‘maxiter‘ maxiter ...
‘bUpdateH‘ true ‘bUpdateZ‘ bUpdateZ ‘verbose‘ verbose ‘save‘ cache ‘fast‘ 1);
else
display(‘Using existing Z‘);
[Z{i_layer} H{i_layer} ~] = ...
seminmf(V ...
layers(i_layer) ...
‘maxiter‘ 1 ...
‘bUpdateH‘ true ‘bUpdateZ‘ 0 ‘z0‘ z0{i_layer} ‘verbose‘ verbose ‘save‘ cache ‘fast‘ 1);
end
end
else
Z=z0;
H=h0;
if verbose
display(‘Skipping initialization using provided init matrices...‘);
end
end
dnorm0 = cost_function(X Z H);
dnorm = dnorm0 + 1;
if verbose
display(sprintf(‘#%d error: %f‘ 0 dnorm0));
end
%% Error Propagation
if verbose
display(‘Finetuning...‘);
end
H_err = cell(1 num_of_layers);
for iter = 1:maxiter
H_err{numel(layers)} = H{n
- 上一篇:Semi-NMF源代码
- 下一篇:chan算法时差定位的一种使用算法
相关资源
- Semi-NMF源代码
- 背景差分提取,波门跟踪
- 傅立叶变换五大性质的matlab实现
- matlab中的牛顿下山法
- 基于形态学的matlab边缘检测小程序
- 超大tif图像分割为100等份
- matlab三相调压异步机电路
- 随机过程 布朗运动matlab仿真程序
- 多元霍夫曼编码的matlab实现
- r元霍夫曼编码的matlab实现
- MATLAB课程设计 信号的取样与恢复
- 等效电荷法计算电场
- matlab做的图像检索源码
- 基于Graphcut的图像分割(Matlab)
- matlab数字图像处理——清华大学出版
- 用MATLAB仿真markov链程序
- RBFNN的Matlab仿真
- matlab 实现的一位搜索算法和多维搜索
- 分数阶傅里叶变换MATLAB
- 语音变速变调matlab代码
- 图像处理_烟雾检测matlab代码
- 锁相环原理以及matlab仿真程序
- Matlab画图、线条颜色设置函数linspec
- 嵌入式小波零树(ezw)编码matlab程序
- MATLAB频域图像增强技术
- 基于遗传算法的投影寻踪模型matlab实
- 移相全桥matlab仿真实现
- ARFIMA预测MATLAB代码
- MATLAB万年历源码
- PM谱-matlab
评论
共有 条评论