Python 回忆录
线性回归
算法主要就是解决分类和回归问题。像随机森林用于解决分类,最终结果只能是True 或者 False。而回归问题的结果就是什么样的数值,和数字相关。而线性回归呢,其实就像是多元方程。找出自变量和因变量之间的关系。
w为权重 W0为偏置项。其中w, x 为矩阵。矩阵运算也可以用pythonnumpy.dot(a,b)
来计算
线性关系
在二维中:就是直线关系
在三维中:就是一个平面
但算出来权重出来的结果很有可能和实际值有误差
以上都是线性关系,所以到线性回归 其实是有一个慢慢迭代的过程。如同神经网络一样,慢慢变得越好。知道会有误差但是会通过迭代让误差渐渐减小。
损失函数
每一个线性函数都会有一个损失函数,其实也就是知道自己的误差在哪里,这样也才能慢慢改进。
上图就是算出函数的损失函数,其实就把预测值和真实值的误差平方和,也叫最小二乘法。
找出线性回归的 W
一个好的线性回归方程其实就是找到最优的 W值,w值越好 预测值也就和真实值得误差越小。
最小二乘法之正规方程
注释: XT 是把行转成列,-1 是矩阵的 逆 值。
一般不通用,因为在有很多特征值的时候,会求不出来w,
这个是单变量(一个特征)y轴是损失函数的值,正规方程就能直接求出最小的那个损失值
最小二乘法之梯度下降
这是常用的方法。学习速率就像是一段一段的测验w,测验过的w越多,找到的最优w越精确。其实这个公式也可以用图像来理解。
比如说红圈是第一次计算出得w值,对应的损失函数值也高。那么就要减少损失函数,按照算出的方向,一段一段的找到最小损失值所对应的w。