前言
斯坦福的UFLDL教程每一个章节都配有练习
本文是向量化与手写体识别这一章节的练习的解答
练习的目的是将练习一的代码向量化,然后用其学习MNIST手写体数字的特征
具体内容可以浏览课程网页
向量化
练习一中的解答已经向量化了,故忽略这一块
loadMNIST函数
function patches = loadMNIST()
% loadMNIST
% Returns 10000 patches for training
IMAGES = loadMNISTImages('train-images.idx3-ubyte'); % load images from disk
numpatches = 10000;
patchsize = 28;
% Initialize patches with zeros. Your code will fill in this matrix--one
% column per patch, 10000 columns.
patches = zeros(patchsize*patchsize, numpatches);
patches = IMAGES(:,1:numpatches);
end
注意的地方
训练数据标准化之后效果不好,所以直接读入数据进行学习
特征可视化表达