线性回归模型标准公式

用一组特征 x ( i ) { x^{(i)}} x(i)来预测或估计一个响应变量 y ( i ) y^{(i)} y(i),公式如下:
y ( i ) = θ T x ( i ) + ϵ ( i ) y^{(i)} = \theta^T x^{(i)} + \epsilon^{(i)} y(i)=θTx(i)+ϵ(i)
各名词解释:
y ( i ) y^{(i)} y(i):这是第 i i i个观察点的响应变量,也就是我们想要预测的目标值。
x ( i ) { x^{(i)}} x(i):这是一个特征向量,包含了与第 i i i个观察点相关的所有特征值。例如,在房价预测模型中,这些特征可能包括房屋的大小、位置、房间数量等。
θ θ θ:这是一个参数向量,包含了每个特征对预测结果 y ( i ) y^{(i)} y(i)影响的权重。在机器学习中,这些权重通常是通过训练数据学习得到的。
θ T θ^T θT:这表示参数向量 θ θ θ的转置。在数学中,一个列向量的转置变为行向量。在这个公式中,它允许我们将 θ θ θ与特征向量 x ( i ) { x^{(i)}} x(i)相乘,得到一个标量值。
ϵ ( i ) \epsilon^{(i)} ϵ(i):这代表误差项,是实际响应值 y ( i ) y^{(i)} y(i)与通过模型预测的 θ T x ( i ) \theta^T x^{(i)} θTx(i)之间的差异。在现实世界中,数据往往不会完美地落在一条直线上,误差项就是用来捕捉这些无法通过模型解释的变异性。

将这些组件结合起来, θ T x ( i ) \theta^T x^{(i)} θTx(i)表示给定特征向量 x ( i ) { x^{(i)}} x(i)时,模型预测的响应值。当我们把所有的特征 x ( i ) { x^{(i)}} x(i)与它们对应的权重 θ θ θ相乘并求和时,我们就得到了一个数值,这个数值是响应变量的预测值,或者说是我们期望的 y y y值。

y ( i ) y^{(i)} y(i)是实际观测到的响应值。理想情况下,如果模型是完美的,那么 ϵ ( i ) \epsilon^{(i)} ϵ(i)将会是0,这意味着所有的观测值都完全位于由参数向量 θ θ θ定义的模型预测的线上。然而,实际情况是,数据会有一些随机性或者是由于模型无法捕捉的因素造成的变异,这就是为什么我们需要 ϵ ( i ) \epsilon^{(i)} ϵ(i)来表示这些偏差。

在进行线性回归分析时,我们的目标是找到最佳的参数向量 θ θ θ,使得误差项的平方和最小,这也就是最小二乘法的原理。通过这种方式,模型能够尽可能准确地拟合训练数据,同时也能够对新的未见过的数据进行有效的预测。

### 多元线性回归模型计算公式 多元线性回归用于建立多个自变量 \(X_1, X_2,\ldots,X_n\) 和一个因变量 \(Y\) 之间的关系。其一般形式可以表示为: \[ Y = \beta_0 + \beta_1X_1 + \beta_2X_2+\cdots+ \beta_pX_p +\epsilon \] 其中, - \(Y\) 是被解释变量(或称为响应变量) - \(X_i(i=1,...,p)\) 表示各个解释变量(也叫特征或输入变量),\(p\) 代表解释变量的数量 - \(\beta_0\) 称为截距项,它是在没有任何其他因素影响下对 \(Y\) 的平均估计值 - \(\beta_i(i=1,...,p)\) 是对应于各解释变量的偏斜率参数,它们衡量当其它所有条件不变时单位变化所带来的期望改变量 - \(\epsilon\) 是随机误差项,通常假定服从均值为零、同方差且相互独立的标准正态分布[^1]。 为了求解上述公式的未知参数向量 \(\boldsymbol{\beta}=(\beta_0,\beta_1,…,\beta_p)^T\) ,常用的方法是最小二乘法(LSM),通过最小化残差平方和来获得最优解: \[ SSE=\sum_{i=1}^{n}(y_i-\hat{y}_i)^2=\sum_{i=1}^{n}\left(y_i-(b_0+b_1x_{i1}+...+b_px_{ip})\right)^2 \] 这里的目标是找到一组最佳权重使得预测值尽可能接近实际观测值,在实践中可以通过矩阵运算快速得到闭式解: \[ \hat{\boldsymbol{\beta}}=(\mathbf{X}^\mathrm{T}\mathbf{X})^{-1}\mathbf{X}^\mathrm{T}\mathbf{y} \] 此处 \(\mathbf{X}\) 是设计矩阵,包含了所有的样本点以及附加的一列全为1的数据用来表征常数项;而 \(\mathbf{y}\) 则是由目标变量组成的列向量[^3]。 ```python import numpy as np from sklearn.linear_model import LinearRegression # 构造一些简单的二维数据作为例子 np.random.seed(0) X = 2 * np.random.rand(100, 1) y = 4 + 3 * X + np.random.randn(100, 1) # 创建并训练模型 lin_reg = LinearRegression() lin_reg.fit(X, y) print(f'Intercept: {lin_reg.intercept_[0]}') for idx, coef in enumerate(lin_reg.coef_[0]): print(f'Coefficent of feature {idx}: {coef}') ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值