https://www.cnblogs.com/ms-uap/p/9928254.html#4150272
https://www.cnblogs.com/ms-uap/p/9945871.html
在上一次,https://www.cnblogs.com/pylblog/p/10345255.html
仅仅在原函数的基础上,使用了一个“假的”梯度下降方法
图中三个箭头,代表w1,w2方向,在“山顶”处,沿各自方向的斜率;红点是山底;
红色箭头的长度,代表下降速度。
(w1,或w2方向走同样的距离,Z的下降速度显然不同)
如果按上一篇的说法,求解△w1 = △Z / (dZ / dw1);但是仅仅限于,明确知道△Z的情况下,而且没有考虑,有没有一下子,在W1方向跨过了最低点(如图,顶点的下山速度是比较慢的,中间比较快,会导致w1方向一下子跑过了);
梯度下降,其实是:
w1 = w1 - a * dZ / dw1;
也就是△w1 = a * dZ / dw1;
和之前的求法,不需要除以斜率,为什么?
假设并不知道山脚的位置,只能沿蓝色箭头方向,走一小段距离,b;
分到w1方向,肯定是dZ/dw1 * a
分到w2方向,肯定是dZ/dw2 * a
a是一个常数;