www.gusucode.com > nnet 案例源码 matlab代码程序 > nnet/ReconstructObservationsUsingSparseAutoencoderExample.m

    %% Reconstruct Observations Using Sparse Autoencoder
% Generate the training data.

% Copyright 2015 The MathWorks, Inc.

rng(0,'twister'); % For reproducibility
n = 1000;
r = linspace(-10,10,n)';
x = 1 + r*5e-2 + sin(r)./r + 0.2*randn(n,1);
%%
% Train autoencoder using the training data.
hiddenSize = 25;
autoenc = trainAutoencoder(x',hiddenSize,...
        'EncoderTransferFunction','satlin',...
        'DecoderTransferFunction','purelin',...
        'L2WeightRegularization',0.01,...
        'SparsityRegularization',4,...
        'SparsityProportion',0.10);
     
%%
% Generate the test data.
n = 1000;
r = sort(-10 + 20*rand(n,1));
xtest = 1 + r*5e-2 + sin(r)./r + 0.4*randn(n,1);
%%
% Predict the test data using the trained autoencoder, |autoenc| .
xReconstructed = predict(autoenc,xtest');
%%
% Plot the actual test data and the predictions.
figure;
plot(xtest,'r.');
hold on
plot(xReconstructed,'go');