1.Intuition of Back Propagation
(1)基本目的
对链式法则(Forward Propagation)进行优化,避免许多路径上的重复
举例如下(可以理解BP算法与链式法则在何处不同)
(2)重要变量
对于单个training example:cost function为J(W,b,x,y),为Euclidean norm平方的一半
对于整个Batch(m):cost function为J(W,b),除了上面的对m求和之外,还要加上regularization term
(3)重要步骤
1)feedforward pass
计算出每一层每个neuron的activation a=f(z)(f为activation function)
2)定义最后一层的error term(最后一层的cost function对最后一层的z求偏导)
3)计算其他各个层每个神经元的error(此过程正是BP优于一般链式法则之处)
4)根据error项算出偏导数
5)更新参数(梯度下降)
5)加上Batch方法,整体更新参数
- 对于所有 ,令 , (设置为全零矩阵或全零向量)
- 对于 到 ,
- 使用反向传播算法计算 和 。
- 计算 。
- 计算 。
- 更新权重参数:
2.Intuition of Sparse Autoencoder
(1)有监督学习->Regression,Classification
Classification->Naive Bayes/Logistic
有监督学习特点:training example是带有label(feature)的,所要做的事情,就是按照label把不同的input进行classification.
无监督学习->Cluster
特点:输入的training example是没有标签的,要求系统自动地进行聚类。
(2)Sparse Autoencoder是一种特殊的无监督学习(特殊之处在于输入输出应当是完全相同的:y=x)
其目的是:训练完成后,hidden layer中只有少数neurons被activated(数目总是要小于input layer的neurons数目),那么每对应一个input,提取出hidden layer中被activated的neurons,实际上就完成了对input的一个“编码”。
(3)这里的一个关键问题是如何保证hidden layer的sparsity?
引入激活度,并且在Cost Function中加入KL-entropy惩罚项,保证平均激活度趋近于0.05,并且修改BP算法中相应的error表达式即可。
平均激活度
约束
惩罚因子
新的Cost Function
新的error term