UFLDL 教程答案 稀疏编码篇与softmax篇的答案已经传到资源,大家可以免费下载~
另外,关于资源里面描述的低效率的代码的问题,逗比的博主已经找到了解决方案,大家需要修改两个文件的两处代码,绿色是需要被注释的
softmaxCost.m文件
%% 非向量化
%for i = 1 : numCases
% thetagrad = thetagrad + (groundTruth(:,i) - Hx(:,i)) * data(:,i)'; % 10 * 100, 8 * 100
%end
% 向量化
thetagrad = (groundTruth - Hx) * data';
sparseAutoencoderCost.m文件
% 非向量化版本
% for i = 1 : sampleNum
% W1grad = W1grad + delta2(:,i) * data(:,i)'; % 25 * 10000 * 10000 * 64 = 25 * 64
% W2grad = W2grad + delta3(:,i) * a2(:,i)'; % 64 * 10000 * 10000 * 25 = 64 * 25
% end
% 向量化版本
W1grad = delta2 * data';
W2grad = delta3 * a2';