线性回归模型
线性回归(Linear Regression) 是一种用于建立自变量(特征)与因变量(标签)之间线性关系的基础监督学习回归算法。
2. 模型原理
Section titled “2. 模型原理”2.1. 样本表示
Section titled “2.1. 样本表示”在单样本情境下,模型输出值 $f(x)$ 由特征的加权和加上偏置项组成:

2.2. 矩阵表示
Section titled “2.2. 矩阵表示”当我们将偏置项 $b$ 并入权重向量并写作 $w_0$ 时,所有训练样本可以统一表示为矩阵乘积形式:

3. 闭式解析解 (Closed-Form Solution)
Section titled “3. 闭式解析解 (Closed-Form Solution)”在线性回归中,我们可以通过最小化均方误差(即最小二乘法 Least Squares Method)来推导参数的最优解。当矩阵 $X^T X$ 为满秩矩阵(即非奇异矩阵)时,存在唯一闭式解析解:

即: $$\hat{w}^* = (X^T X)^{-1} X^T y$$
4. 代码实现
Section titled “4. 代码实现”4.1. 基于 Numpy 的矩阵解析解手动实现
Section titled “4.1. 基于 Numpy 的矩阵解析解手动实现”import numpy as np
def linear_regression_fit(X, y): # 为设计矩阵 X 拼接一列全 1 向量(偏置列) m = X.shape[0] X_b = np.c_[np.ones((m, 1)), X]
# 依据最小二乘公式计算参数 (X^T * X)^(-1) * X^T * y w_best = np.linalg.inv(X_b.T.dot(X_b)).dot(X_b.T).dot(y)
# 返回偏置和权重 return w_best[0], w_best[1:]4.2. scikit-learn 快速建模实现
Section titled “4.2. scikit-learn 快速建模实现”from sklearn.linear_model import LinearRegression
# 1. 实例化线性回归类model = LinearRegression()
# 2. 拟合训练模型model.fit(X_train, y_train)
# 3. 输出模型参数与偏置print("Weights:", model.coef_)print("Bias:", model.intercept_)
# 4. 模型预测y_pred = model.predict(X_test)