UFLDL笔记
本文作为对UFLDL的笔记
Supervised Learning and Optimization
Linear Regression
Problem Formulation
首先需要根据形式得到目标函数
$$J(\theta)=\frac{1}{2}\sum_i(h_\theta(x^i)-y^i)^2=\frac{1}{2}\sum_i(\theta^Tx^i-y^i)^2$$
Function Minimization
然后对目标函数进行优化, 可以采用如梯度下降的方法.
$$\frac{ {\partial}J(\theta)}{\theta_j}=\sum_ix_j^i(h_{\theta}(x^i)-y^i))$$
logistic regression
目标函数
$$J(\theta)=-{\sum}_i(y^ilog(h_{\theta}(x^i))+(1-y^i)log(1-h_\theta(x^i))$$
取决于$y^i$的01性, 实际上式只有一个项
梯度有
$$\frac{\partial J(\theta)}{\partial\theta_j}=\sum_ix_j^i(h_\theta(x^i)-y^i )$$
与线性回归的形式是一样的.
练习
实现logisitc损失目标函数和梯度的计算, 利用优化软件进行优化, 这里使用的0-1 mnist图片.
Vectorization
由于matlab的for很慢, 需要进行向量化
X_norm = sqrt( sum(X.^2,1) );
Y = bsxfun(@rdivide, X, X_norm);
注意bsxfun函数进行扩展计算.
$$\partial J(\theta) = X^T(y’-y)$$
梯度检查
可以用数值方法计算梯度来对理论计算出来的梯度进行正确性检查
$$g(\theta)=\frac{J(\theta+EPSILON)-J(\theta-EPSILON)}{2*EPSILON}$$
一般可以假设$EPSILON=e^{-4}$, 对于多变量, 可以一个一个的检查, 固定其他的变量不变, 只变一个变量$EPSILON$, 梯度检查函数的输入形式和优化函数基本一致.
$$g_i(\theta)=\frac{J(\theta^{i+})-J(\theta^{i-})}{2*EPSILON}$$
Softmax
对于softmax 其目标函数是
$$J(\theta) = -[\sum_{i=1}^m\sum_{k=0}^11{y^i=k}logP(y^i=k;x^i,\theta)]$$
梯度与线性模型类似.
softmax的性质
如果把每一个参数都减去一个固定的向量, 那么结果不会改变, 说明softmax的参数是存在多余成分的, 因此对于学习到的一组参数, 都减去一个固定的向量, 结果不会改变, 说明梯度下降的结果不会唯一.
由于减去一个参数不改变结果, 那么都减去最后一个向量, 就可以使得最后一组向量为0, 从而消去, 而不会影响任何结果. 因此在训练的时候可以固定一组全为0, 对其他组向量进行训练.
与logistic回归的关系
当$K=2$的时候, logistic就是softmax.
练习题
这次直接对MNIST数据的全部类进行训练, 同样只需要进行目标函数和梯度的计算即可.
sub2ind 与 bsxfun命令进行加速
偏差与方差
注意在训练集中得到的准确率一般来说是一个上限, 因为我们是针对这个训练集得到的模型, 所以结果对于测试集在结果上会有问题.
有监督神经网络
主要讲了神经网路及BP算法
注意多分类问题实际上就是转换成了one-hot形式进行计算!
BP神经网络的关键是记录入值, 出值, 然后是反向时候的误差$\delta$
自编码神经网络
用来无监督学习自己, 从而学习数据的低维表示.
引入稀疏性来使得很多的神经元不被激活(比如接近1输出的时候才让它激活), 从而可以进行稀疏性限制.
相对熵KL, 实际上是一个以$\rho$和$\hat{\rho}$分别为均值的伯努利分布随机变量之间的相对熵. 用来测量两个分布之间的差异. 最小化相对熵可以使得一个随机变量接近想要的分布.
$$J_{sparse}(W,b)=J(W,b)+\beta\sum_{j=1}^{s_2}KL(\rho||\hat{\rho})$$
该稀疏性限制只需要在反向传播的时候对$\delta$多加一点东西就可以了, 此时需要保留神经元的激活度$\hat{\rho}$
$$\delta_i^2=(\sum_{j=1}^{s_2}W_{ji}^2\delta_j^3)f’(z_i^2)$$
改成
$$\delta_i^2=(\sum_{j=1}^{s_2}W_{ji}^2\delta_j^3+\beta(-\frac{\rho}{\hat{\rho}}+\frac{1-\rho}{1\hat{\rho}}))f’(z_i^2)$$
可视化
可以把隐藏单元看成想要追寻的一个特征, 对什么样的图像有最大的激励, 那么其追寻的图像就是其代表的特征.