反向传播算法
我们之前的线性回归和逻辑回归算法都是通过找到一个损失函数,通过某种方法最小化损失函数以不断修正参数,最后获得我们想要的模型。这基本上是机器学习的通用的流程
对于神经网络来说,我们同样要找到损失函数,最小化损失函数进而达到修正参数的目的
反向传播算法就是完成这一功能的算法
首先还是要给出损失函数
这是之前逻辑回归的损失函数,假定我们神经网络的激活函数用的是sigmoid函数,后面的那项是正则化项(防止过拟合)
不同之处是对K项求和,K指的是输出单元的个数(K>2),也就是说,对每个输出单元我们都要把它求和(这里的输出单元是只有0,1组成的向量)
对正则化的式子,处理方式是对i,j,l求和,也就是对网络中所有的参数求和 (这里不包含偏置项,i都是从1开始,若包含偏置项则i从0开始)
我们的目标仍然是最小化损失函数J(θ)
同时我们也需要算出J(θ)以及每个参数对应的偏导
接下来我们