以函数y = w*x+b为例进行讲解。
假设
w*1+b = 12
w*2+b = 21
那么我们可以求解出w = 9,b = 3。
但提供给我们的数据可能受到一定的污染,和原来的数值有一定出入,但和原来值出入不大,如下图所示:
这样的图形无法用一个函数完整表示所有的点,可以用一条直线穿过这些点,使得误差最小
那么如何才能选择一条合适的直线通过呢?
首先我们选取一条和x轴重合的直线,然后慢慢旋转平移,直到满足要求,那么如何慢慢调整呢?
使用梯度下降的方法。
分别对w和b求偏导,将会得到关于w,b梯度,
2*(WX+b-y)*x
2*(WX+b-y)
w,b的值加上梯度*学习率,不断进行调整即可得到相对正确的w和b的值
代码之中没有使用机器学习的相关库