线性回归推导

这篇博客是作者系统学习机器学习过程中关于线性回归的深入探讨。内容包括线性回归的假设函数提出,误差定义及其独立同分布的假设,误差服从高斯分布的性质,以及利用最大似然估计推导出成本函数J并求解最优θ的过程。最终得出,当XTX为可逆矩阵时,可以通过求导找到预测新样本y值的线性关系。

        之前看过吴恩达的机器学习入门和神经网络部分,还有李宏毅的深度学习视频,懂了一些知识打了比赛,但是觉得还不够深入,还有好多知识不懂细节不懂推导,还有一些工具没有掌握,加上没有项目经验,现在准备从头开始系统的学习一下。学习的是唐宇迪视频。

        首先一些基本的工具安装和工具的学习只是看着视频跟着敲一敲,准备以后用到,边用边熟悉。

        今天算是第一天,线性回归推导。

1.假设函数提出,hypothesis

        给出样本变量x,通过θ,找出x与y的线性关系,所谓线性代表了在二维中是一条直线(y01x),在三维中是一个面。通过变换θ尽量的去拟合直线,尽量的使得到的值与原来的值差距小。像下面的这个图(来自ppt):

得出下面公式,

把θ和x看做向量,X0为1,整理得

<
### 多元线性回归的数学推导过程 多元线性回归的目标是建立一个模型,用于描述因变量 \( 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 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值