• 大小: 22.15MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-07-04
  • 语言: Matlab
  • 标签:

资源简介

最先提出深度学习算法hinton的自动编码器matlab代码,内容是:利用多层rbm进行自动编码的多层特征训练,然后使用梯度算法进行fine turn。可以进行特征提取,也可以进行分类。

资源截图

代码片段和文件信息

% Version 1.000
%
% Code provided by Ruslan Salakhutdinov and Geoff Hinton
%
% Permission is granted for anyone to copy use modify or distribute this
% program and accompanying programs and documents for any purpose provided
% this copyright notice is retained and prominently displayed along with
% a note saying that the original programs are available from our
% web page.
% The programs and documents are distributed without any warranty express or
% implied.  As the programs were written for research purposes only they have
% not been tested to the degree that would be advisable in any important
% application.  All use of these programs is entirely at the user‘s own risk.

% This program fine-tunes an autoencoder with backpropagation.
% Weights of the autoencoder are going to be saved in mnist_weights.mat
% and trainig and test reconstruction errors in mnist_error.mat
% You can also set maxepoch default value is 200 as in our paper.  

maxepoch=200;
fprintf(1‘\nFine-tuning deep autoencoder by minimizing cross entropy error. \n‘);
fprintf(1‘60 batches of 1000 cases each. \n‘);

load mnistvh
load mnisthp
load mnisthp2
load mnistpo 

makebatches;
[numcases numdims numbatches]=size(batchdata);
N=numcases; 

%%%% PREINITIALIZE WEIGHTS OF THE AUTOENCODER %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
w1=[vishid; hidrecbiases];
w2=[hidpen; penrecbiases];
w3=[hidpen2; penrecbiases2];
w4=[hidtop; toprecbiases];
w5=[hidtop‘; topgenbiases]; 
w6=[hidpen2‘; hidgenbiases2]; 
w7=[hidpen‘; hidgenbiases]; 
w8=[vishid‘; visbiases];

%%%%%%%%%% END OF PREINITIALIZATIO OF WEIGHTS  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

l1=size(w11)-1;
l2=size(w21)-1;
l3=size(w31)-1;
l4=size(w41)-1;
l5=size(w51)-1;
l6=size(w61)-1;
l7=size(w71)-1;
l8=size(w81)-1;
l9=l1; 
test_err=[];
train_err=[];


for epoch = 1:maxepoch

%%%%%%%%%%%%%%%%%%%% COMPUTE TRAINING RECONSTRUCTION ERROR %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
err=0; 
[numcases numdims numbatches]=size(batchdata);
N=numcases;
 for batch = 1:numbatches
  data = [batchdata(::batch)];
  data = [data ones(N1)];
  w1probs = 1./(1 + exp(-data*w1)); w1probs = [w1probs  ones(N1)];
  w2probs = 1./(1 + exp(-w1probs*w2)); w2probs = [w2probs ones(N1)];
  w3probs = 1./(1 + exp(-w2probs*w3)); w3probs = [w3probs  ones(N1)];
  w4probs = w3probs*w4; w4probs = [w4probs  ones(N1)];
  w5probs = 1./(1 + exp(-w4probs*w5)); w5probs = [w5probs  ones(N1)];
  w6probs = 1./(1 + exp(-w5probs*w6)); w6probs = [w6probs  ones(N1)];
  w7probs = 1./(1 + exp(-w6probs*w7)); w7probs = [w7probs  ones(N1)];
  dataout = 1./(1 + exp(-w7probs*w8));
  err= err +  1/N*sum(sum( (data(:1:end-1)-dataout).^2 )); 
  end
 train_err(epoch)=err/numbatches;

%%%%%%%%%%%%%% END OF COMPUTING TRAINING RECONSTRUCTION ERROR %%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%% DISPLAY FIGURE TOP ROW REAL DATA BOTTOM ROW RECONSTRUCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%
fprintf(1‘Displaying in figure 1: Top row - real data Bottom row -- reconstructions \n‘);
output=[];
 for i

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-05-06 14:45  code\
     文件        5594  2006-05-21 11:34  code\backprop.m
     文件        5474  2006-06-20 09:49  code\backpropclassify.m
     目录           0  2016-05-06 14:45  code\backup ZIP\
     文件       51200  2016-04-15 10:41  code\backup ZIP\Autoencoder_Code.tar
     文件        8995  2016-04-15 10:41  code\backup ZIP\minimize.m
     文件     1648877  2016-04-15 10:40  code\backup ZIP\t10k-images-idx3-ubyte.gz
     文件        4542  2016-04-15 10:40  code\backup ZIP\t10k-labels-idx1-ubyte.gz
     文件     9912422  2016-04-15 10:39  code\backup ZIP\train-images-idx3-ubyte.gz
     文件       28881  2016-04-15 10:39  code\backup ZIP\train-labels-idx1-ubyte.gz
     文件        1853  2006-06-20 09:49  code\CG_CLASSIFY.m
     文件        1136  2006-06-20 09:49  code\CG_CLASSIFY_INIT.m
     文件        2727  2006-06-20 09:49  code\CG_MNIST.m
     文件        3011  2006-06-20 09:49  code\converter.m
     文件        4169  2006-06-20 09:49  code\makebatches.m
     文件        8995  2016-04-15 10:41  code\minimize.m
     文件        1902  2006-06-20 09:49  code\mnistclassify.m
     文件        2199  2006-06-20 09:49  code\mnistdeepauto.m
     文件        1084  2006-06-20 09:49  code\mnistdisp.m
     文件        3914  2006-06-20 09:49  code\rbm.m
     文件        3964  2006-06-20 09:49  code\rbmhidlinear.m
     文件        2934  2006-07-13 23:40  code\README.txt
     文件     7840016  1998-01-26 23:07  code\t10k-images.idx3-ubyte
     文件       10008  1998-01-26 23:07  code\t10k-labels.idx1-ubyte
     文件    47040016  1996-11-18 23:36  code\train-images.idx3-ubyte
     文件       60008  1996-11-18 23:36  code\train-labels.idx1-ubyte

评论

共有 条评论