线性回归推导

1. 概念
线性回归(Linear Regression)是一种通过属性的线性组合来进行预测的线性模型,其目的是找到一条直线或者一个平面或者更高维的超平面,使得预测值与真实值之间的误差最小化。

                                                    

2. 特点

  1. 优点:结果具有很好的可解释性(w直观表达了各属性在预测中的重要性),计算熵不复杂。
  2. 缺点:对非线性数据拟合不好
  3. 适用数据类型:数值型和标称型数据

3. 原理与推导
1. 给定数据集,其中(线性回归的输出空间是整个实数空间)。m是样本数,d是属性维度。

线性回归试图学得:

                                                  (1),  使得 

为便于讨论,使,其中。此时w,就成为了,x就成为了,期望学得的函数为

2. 预测值和真实值之间都肯定存在差异,对于每个样本:

                                                                  (2)

根据中心极限定理,由于误差项是好多好多相互独立的因素影响的综合影响,我们有理由假设其服从高斯分布,又由于可以自己适配theta0,是的误差项的高斯分布均值为0,所以我们有

即:

                                                         (3)

将(2)代入(3)中,得到在已知参数和数据的情况下,预测值为的条件概率:

                                                         (4)

表示在theta给定的时候,给我一个x,就给你一个y。

3. 将(4)连乘得到在已知参数和数据的情况下,预测值为的条件概率,这个条件概率在数值上等于,likelihood(w|x,y),也就是在已知现有数据的条件下,w是真正参数的概率,即似然函数(5):

                                     (5)

为什么要引入似然函数:为了根据样本估计参数值。

为什么要对似然函数进行log变换:由于乘法难解,通过对数可以将乘法转换为加法,简化计算。

由极大似然估计的定义,我们需要L(theta)最大,那么我们怎么才能是的这个值最大呢?两边取对数对这个表达式进行化简如下:对数似然函数:

                                                             (6)

得到目标函数:

                                                     (7)(最小二乘法)

为什么要让目标函数越小越好:似然函数表示样本成为真实的概率,似然函数越大越好,也就是目标函数越小越好。

4. 目标函数是凸函数,只要找到一阶导数为0的位置,就找到了最优解。

因此求偏导:

                                                       (8)

5. 令偏导等于0:

                                                                                      (9)

得到:

                                                                                  (10)

情况一:可逆,唯一解。令公式(10)为零可得最优解为:

                                                                                            (11)

 学得的线性回归模型为:

                                                                           (12)

情况二:不可逆,可能有多个解。选择哪一个解作为输出,将有学习算法的偏好决定,常见的做法是增加扰动。

                                                                                     (13)

4. 算法描述
1. 从数据集D出发,构建输入矩阵X和输出向量y。

                                                                                             

2. 计算伪逆(pseudo-inverse)

3. 返回,学得的线性回归模型为

5. 广义线性回归
当不再只是线性回归中用到的正态分布,而是扩大为指数族中的任一分布。这样得到的模型称为“广义线性模型”(generalized linear model):

                                                                             

其中函数称为“联系函数”(link function)。

原文:https://blog.youkuaiyun.com/pxhdky/article/details/82388964 
 

### 多元线性回归的数学推导过程 多元线性回归的目标是建立一个模型,用于描述因变量 \( y \) 和多个自变量 \( X_1, X_2, ..., X_n \) 之间的关系。其基本形式如下: \[ y = b_0 + b_1X_1 + b_2X_2 + ... + b_nX_n \] 其中: - \( b_0 \) 是常数项, - \( b_1, b_2, ..., b_n \) 称为偏回归系数。 #### 数据表示 假设我们有 \( m \) 组训练数据,每组数据由 \( n \) 个特征组成,则可以用矩阵的形式表示这些数据。设设计矩阵 \( X \in R^{m\times(n+1)} \),其中每一行为一组观测值,并在每行前增加一列全为 1 的向量以便处理常数项 \( b_0 \)[^3]。具体来说, \[ X = \begin{bmatrix} 1 & x_{11} & x_{12} & \cdots & x_{1n}\\ 1 & x_{21} & x_{22} & \cdots & x_{2n}\\ \vdots & \vdots & \vdots & \ddots & \vdots\\ 1 & x_{m1} & x_{m2} & \cdots & x_{mn} \end{bmatrix}, Y = \begin{bmatrix} y_1 \\ y_2 \\ \vdots \\ y_m \end{bmatrix}. \] 参数向量 \( B \) 表示为: \[ B = \begin{bmatrix} b_0 \\ b_1 \\ \vdots \\ b_n \end{bmatrix}. \] 于是我们的模型可以写成矩阵乘法形式: \[ Y = XB. \] #### 损失函数定义 为了找到最佳拟合的参数 \( B \),通常采用最小二乘法作为优化准则。损失函数定义为目标值与预测值之间误差平方和的均值[^2]: \[ L(B) = (Y - XB)^T(Y - XB). \] 展开并简化该表达式得: \[ L(B) = Y^TY - 2B^TX^TY + B^TX^TXB. \] #### 参数估计 要使损失函数达到极小值,需对其求关于 \( B \) 的梯度并令其等于零。计算梯度得到: \[ \nabla_B L(B) = -2X^TY + 2X^TXB. \] 设置梯度为零解出 \( B \): \[ X^TXB = X^TY, \] 当 \( X^TX \) 可逆时,可以直接得出闭式解: \[ B = (X^TX)^{-1}X^TY. \] 这就是著名的正规方程方法[^3]。 ```python import numpy as np def normal_equation(X, Y): """ 使用正规方程求解多元线性回归参数 :param X: 特征矩阵(m,n), 需要在前面加一列全是1的数据代表截距项 :param Y: 输出向量(m,) 返回: B: 计算出来的权重向量(n+1,) """ XT_X_inv = np.linalg.inv(np.dot(X.T, X)) XT_Y = np.dot(X.T, Y) B = np.dot(XT_X_inv, XT_Y) return B ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值