首先介绍两个主要演员
1. MSE损失函数: 其中是对y的预测
2. Sigmoid激活函数: 要知道LR用的就是这个,其中z=
忽略到Z对W的导数,因为考虑的是损失函数和激活函数的影响,而Z对W的导数只是(定量)的X
所以用来考虑
那么对于中学水平都能容易求导得到
(c0是常数后面仍掉)
回到熟悉的初中数学!!!
分情况讨论
1.y=1
你说看不清???直接利用工具,其实稍微求个导数就知道1/3和1是两个极值点
结论是当y=1,我们预测0.3左右能最快更新.但最坏情况就是接近0,也就是错误很大,导数很小!!!也就是你0要纠正到1很困难,毕竟你是要加上这个小小的梯度有关的纠正.
%matplotlib inline
from matplotlib import pyplot as plt
import numpy as np
x = np.linspace(0,1,5000)
y = (1-x)**2*x
plt.plot(x,y)
2.y=0 ,其实按照类比这个问题是对称(把y和1-y互换能证明问题等价),为了更清楚再来一遍
%matplotlib inline
from matplotlib import pyplot as plt
import numpy as np
x = np.linspace(0,1,5000)
y = -x**2*(1-x)
plt.plot(x,y)
显然1纠正到0,在0.666...左右最能纠正问题,而在靠近1,导数绝对值猛烈的降低了!可以认为最好情况有多快,接近最差情况就有多慢,而且慢的程度也就是二阶导数也是递增函数.
下结论!为啥不用这货,因为这家伙在很多例子错的离谱反而更正的很慢!!!继续深究有理由怀疑!对于差的少量样本很可能有大偏执!