(一)Machine Learning 随手记 -BP算法

BP算法很早就接触过了,但因为赶时间,许多细节没有去思考,一知半解。
以下仅个人观点,不保证准确:
bp算法可以这样理解,反向传播算法是计算神经网络上梯度的函数。
给定数据,在求多项式项式的系数时,为了寻找到合适的系数使多项式函数的预测值能与真实值最小,我们可采取
1.对这个多项式求导数等于0时,求解得到系数
2.通过梯度的方法,找到能使误差函数的值减小的方向,并调整系数,得到新的系数,然后如此反复,直到不再收敛

但是,在神经网络中,通过输入要得到输出,要经过多个层(隐藏层),因此此刻的输入计算得到的输出,会作为下一层的输入继续计算,知道输出层。
假设现在我们想通过神经网络分类,神经网络的权重(系数)一开始不知道的,现在将所有权重取随机值。通过计算得到最后的分类结果的概率。但很明显这个结果不会准确,因此需要训练。

我们的想法可以跟之前求多项式系数计算梯度寻找最小值的思想一样。我们可以通过求每个权重对函数的导数,进行调整。
其实我们的神经网络的输出函数是个复合函数,每个复合函数里面还嵌套着复合函数。如果我们这个输出函数展开,我们就可以得到一个很长的多项式。这样子我们就将神经网络转化为了多项式函数通过梯度来求解
但是我们在拟合多项式函数的时候,不会使用那么复杂的多项式,而神经网络展开的多项式函数十分复杂,使用梯度下降函数的方法不可行。
因此我们需要更聪明的方法!
神经网络的特点就是输入经过多个计算层(复合函数)得到输出值。 不如从其特点下手。假设现在我们要求神经网络中的一个权重对最终输出函数的偏导数,复合函数的求偏导数用什么?链式法则
通过这个法则你就一个对每个权重求偏导,至于怎么计算,我就不累赘,网上都有。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值