教程地址:http://deeplearning.stanford.edu/wiki/index.php/UFLDL%E6%95%99%E7%A8%8B
练习地址:http://deeplearning.stanford.edu/wiki/index.php/Exercise:Vectorization
matlab矢量化还是比较容易实现的,和矩阵化向量化的数学公式基本可以直接对应。
注意:有些数学公式的求和其实可以隐含在矩阵相乘中,如:
X为64*10000的矩阵,64维特征,10000个样本,在均值为0的情况下,用公式来计算X的协方差矩阵,那么可以直接用sigma = x * x' / size(x, 2)求得,样本1到m的求和隐含在了X*X'中!
1.进入正题:
由于我是把整个教程看完之后再来做的练习,所以练习(1)中的程序已经是矢量化的代码了,练习(2)基本没有什么需要改的。只要按照教程设置参数,把需要的m文件复制过去,load数据即可:
visibleSize = 28*28; % number of input units
hiddenSize = 196; % number of hidden units
sparsi