目录
一:反向传播
https://blog.csdn.net/weixin_38347387/article/details/82936585 这篇博客不错,看完之后肯定就理解什么是反向传播了。
目标:给出输入数据i1,i2(0.05和0.10),使输出尽可能与原始输出o1,o2(0.01和0.99)接近。
总误差=每个输出误差的和。
个人理解:反向传播其实就是求总误差对某个参数的偏导数,然后训练时每次都去修改这个参数,修改方式是用这个参数减去学习率乘以偏导数。
二:梯度下降
https://blog.csdn.net/qq_41800366/article/details/86583789
梯度向量的几何意义就是函数变化增加最快的地方。具体来说,对于函数f(x,y),在点(x0,y0),沿着梯度向量的方向就是(∂f/∂x0, ∂f/∂y0)T的方向是f(x,y)增加最快的地方。或者说,沿着梯度向量的方向,更加容易找到函数的最大值。反过来说,沿着梯度向量相反的方向,也就是 -(∂f/∂x0, ∂f/∂y0)T的方向,梯度减少最快,也就是更加容易找到函数的最小值。
因为梯度的方向就是函数值变化最快的方向。
梯度实际上就是多变量微分的一般化。
下面这个例子:
我们可以看到,梯度就是分别对每个变量进行微分,然后用逗号分割开,梯度是用<>包括起来,说明梯度其实一个向量。
梯度是微积分中一个很重要的概念,之前提到过梯度的意义
- 在单变量的函数中,梯度其实就是函数的微分,代表着函数在某个给定点的切线的斜率
- 在多变量函数中,梯度是一个向量,向量有方向,梯度的方向就指出了函数在给定点的上升最快的方向
这也就说明了为什么我们需要千方百计的求取梯度!我们需要到达山底,就需要在每一步观测到此时最陡峭的地方,梯度就恰巧告诉了我们这个方向。梯度的方向是函数在给定点上升最快的方向,那么梯度的反方向就是函数在给定点下降最快的方向,这正是我们所需要的。所以我们只要沿着梯度的方向一直走,就能走到局部的最低点!
三:梯度消失
梯度消失其实就是导数为零,
例如在介绍sigmoid激活函数的时候有这样一句话:sigmoid函数作为非线性激活函数,但是其并不被经常使用,它具有以下几个缺点: (1)当 z 值非常大或者非常小时,通过上图我们可以看到,sigmoid函数的导数 g′(z) 将接近0 。这会导致权重W的梯度将接近0,使得梯度更新十分缓慢,即梯度消失。
四:学习率
这个其实就是参数变化时每一步的步长,α不能太大也不能太小,太小的话,可能导致迟迟走不到最低点,太大的话,会导致错过最低点!
五:过拟合 over-fitting
过拟合vs欠拟合:过拟合是指模型把数据学习的太彻底,以至于把噪声数据的特征也学到了,造成了特征数目的增多。体现在建模过程是训练时误差很小,测试的时候误差很大。通俗的讲就是泛化能力弱。