这里所谓的自学习,其实就是利用稀疏自编码器对无标签样本学习其特征
该自学习程序包括两部分:
- 稀疏自编码器学习图像特征(实现自学习)---用到无标签的样本集
- softmax回归对样本分类---用到有标签的训练样本集
准备工作
下载Yann Lecun的MNIST数据集,本程序用到了如下的两个数据集:
第0步:设置神经网络的结构
该神经网络包括三层:
输入层的神经元个数(数字识别,则设置输入的图像大小)
输出端的神经元个数(也就是类别数)
隐藏层神经元个数
另外一些关于系数编码的参数
sparsityParam、lambda、beta
最大迭代次数:maxIter
% STEP 0: Here we provide the relevant parameters values that will % allow your sparse autoencoder to get good filters; you do not need to % change the parameters below. % 设置神经网络的相关参数 inputSize = 28 * 28; %样本特征维数 numLabels = 5;%样本类别 hiddenSize = 200;%隐藏层神经元个数 sparsityParam = 0.1; % desired average activation of the hidden units. % (This was denoted by the Greek alphabet rho, which looks like a lower-case "p", % in the lecture notes). lambda = 3e-3; % weight decay parameter beta = 3; % weight of sparsity penalty term maxIter = 400;%最大迭代步数
第一步:产生无标签样本集和有标签样本集