使用最小二乘法来拟合直线: 给定一个简单的直线模型y(a)=ax+b 这个问题称为直线回归。设变量y随自变量x变化,给出n组测试数据(xi,yi)用直线来拟合这些点,其中a,b是直线的斜率和截距。称为回归系数。 直线的拟合在机器学习中logistic回归时对数据进行拟合时便用到了。因此在这里给出一个详细解释。 为了确定回归系数,通常采用最小二乘法来确定,只要使式子达到最小即可。 根据极值原理,a和b满足下列方程: 根据上面式子再整合,得到如下式子: 其实只需要记住上面的式子就好了。推导过程你不是数学专业的根本不需要知道。 上面的是式子就是求回归系数的主要依据。 C++实现:
1 | #include <iostream> |
结果: python使用numpy实现: numpy要好好学了。。搞了半天才弄好数组计算
1 | import numpy as np |
结果: