定义:线性回归就是通过训练学习得到一个线性模型来最大限度地根据输入x拟合输出y。
推导:线性回归的线性表达为:y=wx+b。线性回归总的目的是根据输入x,获得的输出yi无限接近y,其过程就是不断的对参数w,b不断的调节。
我们可以将问题转化为:
为求得w和b的最小化参数,可基于式(2-1)分别对求一阶导数并令其为0,对w求导的推导过程如式(2-2)所示:
对b求求导的推导过程如式(2-3)所示:
基于式(2-2)和式(2-3),分别令其为0,可解得[插图]和[插图]的最优解表达式为:
代码:具体包括三个主要模块:线性回归模型的主体部分,包括回归模型公式、均方损失函数和参数求偏导;线性回归模型的训练过程,包括参数初始化、多轮训练迭代过程和梯度下降的参数优化更新;最后是基于数据示例的模型测试,包括测试结果和可视化展示。
基于numpy:
1.线性回归模型的主体部分
### 定义模型主体部分
### 包括线性回归公式、均方损失和参数偏导三部分
def linear_loss(X, y, w, b):
'''
输入:
X:输入变量矩阵
y:输出标签向量
w:变量参数权重矩阵