【Machine Learning】Ch3.2 线性回归

本文深入解析线性回归原理,探讨如何通过最小二乘法求解参数,实现模型预测。覆盖一元及多元线性回归,详细推导参数估计过程。
部署运行你感兴趣的模型镜像

3.2 线性回归

线性回归的目的是,给定数据集D={(x1,y1),(x2,y2)...(xm,ym)}​D=\{(x_1,y_1),(x_2,y_2)...(x_m,y_m)\}​D={(x1,y1),(x2,y2)...(xm,ym)},其中xi=(xi1;xi2;...;xid)​x_i=(x_{i1};x_{i2};...;x_{id})​xi=(xi1;xi2;...;xid)yi∈R​y_i \in R​yiR。线性回归试图学得一个线性模型f(xi)=wxi+b​f(x_i)=wx_i+b​f(xi)=wxi+b使得f(xi)≃yi​f(x_i)\simeq y_i​f(xi)yi

书中所说的序的关系,是一种可以进行量化的关系。例如将表示程度的名词,用[0,1]​[0,1]​[0,1]区间的实数进行量化。有些是不能量化的,如种类。书中提到的瓜的种类就是一个例子。若有几类瓜,则转换为几维向量。可以将向量的每一维看做一个布尔变量,若为1表示隶属于这种瓜。

为了求解参数w,b​w,b​w,b,采用均方误差作为性能度量。显然均方误差越小越好,线性回归任务可以表示为

(w∗,b∗)=arg min(w,b)∑i=1m(f(xi)−yi))2=arg min(w,b)∑i=1m(yi−wxi−b)2​(w^*,b^*)=arg\ min_{(w,b)}\sum_{i=1}^{m}(f(x_i)-y_i))^2=arg\ min_{(w,b)}\sum_{i=1}^{m}(y_i-wx_i-b)^2​(w,b)=arg min(w,b)i=1m(f(xi)yi))2=arg min(w,b)i=1m(yiwxib)2

arg minarg\ minarg min表示当minminmin后面表达式中取最小值的时候,参数的取值,上式中(w∗,b∗)=arg min(w,b)...(w^*,b^*)=arg\ min_{(w,b)...}(w,b)=arg min(w,b)...就是表示当后面的表达式取最小值的时候,参数(变量)w,bw,bw,b的值作为解w∗,b∗w^*,b^*w,b

均方误差对应了欧式距离,基于均方误差最小化来进行模型求解的方法也叫作最小二乘法。如果输入xix_ixi只有一维,也就是一元线性回归,那么和高中的最小二乘法拟合直线方程并没有什么区别。线性回归任务,也是找到一条直线,使得样本到直线上的欧式距离之和最小。

此处假设xix_ixi只有一维,即一元线性回归。
E(w,b)=∑i=1m(yi−wxi−b)2E_{(w,b)}=\sum_{i=1}^{m}(y_i-wx_i-b)^2E(w,b)=i=1m(yiwxib)2,求解w,bw,bw,b使得E(w,b)E_{(w,b)}E(w,b)最小化的过程,称为线性回归模型的最小二乘参数估计。将E(w,b)E_{(w,b)}E(w,b)分别对w,bw,bw,b求导。

∂E(w,b)∂w=2(w∑i=1mxi2−∑i=1m(yi−b)xi)\frac{\partial E_{(w,b)}}{\partial w}=2(w\sum_{i=1}^mx_i^2-\sum_{i=1}^m(y_i-b)x_i)wE(w,b)=2(wi=1mxi2i=1m(yib)xi)

∂E(w,b)∂b=2(mb−∑i=1m(yi−wxi))\frac{\partial E_{(w,b)}}{\partial b}=2(mb-\sum_{i=1}^m(y_i-wx_i))bE(w,b)=2(mbi=1m(yiwxi))

由于E(w,b)E_{(w,b)}E(w,b)是凸函数,所以导数为0即可得到最优解的闭式。

w=∑i=1myi(xi−xˉ)∑i=1mxi2−1m(∑i=1mxi)2w=\frac{\sum_{i=1}^my_i(x_i-\bar{x})}{\sum_{i=1}^mx_i^2-\frac{1}{m}(\sum_{i=1}^mx_i)^2}w=i=1mxi2m1(i=1mxi)2i=1myi(xixˉ)

b=1m∑i=1m(yi−wxi)b=\frac{1}{m}\sum_{i=1}^m(y_i-wx_i)b=m1i=1m(yiwxi)

更一般的情况,样本由多个属性组成,学习目标为f(xi)=wTxi+bf(x_i)=w^Tx_i+bf(xi)=wTxi+b使得f(xi)≃yif(x_i)\simeq y_if(xi)yi。称为多元线性回归。

w​w​w是每个属性前面的权值(d×1​d×1​d×1的列向量),考虑到偏置项(常数项)b​b​b,将b​b​b也吸入进向量形式,即w^=(w;b)​\hat{w}=(w;b)​w^=(w;b)((d+1)×1​(d+1)×1​(d+1)×1的列向量)。而X​X​X是一个矩阵(m×d​m×d​m×d),每一行是一条数据记录,列对应一个属性。引入偏置项后,需要在最右侧增加一列1,变成m×(d+1)​m×(d+1)​m×(d+1)的矩阵。这样可以求得

w^∗=arg minw^(y−Xw^)T(y−Xw^)​\hat{w}^*=arg\ min_{\hat{w}}(y-X\hat{w})^T(y-X\hat{w})​w^=arg minw^(yXw^)T(yXw^)

Ew^=(y−Xw^)T(y−Xw^)E_{\hat{w}}=(y-X\hat{w})^T(y-X\hat{w})Ew^=(yXw^)T(yXw^)。类似的,导数为0的时候可以求出闭解形式,首先要解决的是矩阵求导的问题,这里用两种方式求解Ew^E_{\hat{w}}Ew^的导数。下面会涉及到一些矩阵论的内容,使用到的式也会一并给出。

方法一

用到的公式:dABdB=AT,dATBdA=B,XTAXdX=2AX\frac{dAB}{dB}=A^T,\frac{dA^TB}{dA}=B,\frac{X^TAX}{dX}=2AXdBdAB=AT,dAdATB=B,dXXTAX=2AX

Ew^=(y−Xw^)T(y−Xw^)=(w^TXTXw^−w^TXTY−YTXx^−YTY)E_{\hat{w}} \\ =(y-X\hat{w})^T(y-X\hat{w}) \\=(\hat{w}^TX^TX\hat{w}-\hat{w}^TX^TY-Y^TX\hat{x}-Y^TY)Ew^=(yXw^)T(yXw^)=(w^TXTXw^w^TXTYYTXx^YTY)

dEw^dw^=d(w^TXTXw^−w^TXTY−YTXx^−YTY)dw^=dw^TXTXw^dw^−dw^TXTYdw^−dYTXx^dw^−dYTYdw^​\frac{dE_{\hat{w}}}{d\hat{w}} = \frac{d(\hat{w}^TX^TX\hat{w}-\hat{w}^TX^TY-Y^TX\hat{x}-Y^TY)}{d\hat{w}} = \frac{d\hat{w}^TX^TX\hat{w}}{d\hat{w}} - \frac{d\hat{w}^TX^TY}{d\hat{w}} - \frac{dY^TX\hat{x}}{d\hat{w}} - \frac{dY^TY}{d\hat{w}} ​dw^dEw^=dw^d(w^TXTXw^w^TXTYYTXx^YTY)=dw^dw^TXTXw^dw^dw^TXTYdw^dYTXx^dw^dYTY

根据公式dw^TXTXw^dw^=2XTXw^,dw^TXTYdw^=XTY,dYTXx^dw^=XTY,dYTYdw^=0​\frac{d\hat{w}^TX^TX\hat{w}}{d\hat{w}} = 2X^TX\hat{w}, \frac{d\hat{w}^TX^TY}{d\hat{w}} = X^TY, \frac{dY^TX\hat{x}}{d\hat{w}} = X^TY, \frac{dY^TY}{d\hat{w}} = 0​dw^dw^TXTXw^=2XTXw^,dw^dw^TXTY=XTY,dw^dYTXx^=XTY,dw^dYTY=0

那么dEw^dw^=2XTXw^−2XTY=2XT(Xw^−Y)\frac{dE_{\hat{w}}}{d\hat{w}} = 2X^TX\hat{w}-2X^TY=2X^T(X\hat{w}-Y)dw^dEw^=2XTXw^2XTY=2XT(Xw^Y)

方法二

用到的公式:df=∑i=1n∂f∂xidxi=∂fT∂xdxdf=\sum_{i=1}^{n}\frac{\partial f}{\partial x_i}dx_i = \frac{\partial f^T}{\partial x}dxdf=i=1nxifdxi=xfTdx

d[(y−Xw^)T(y−Xw^)]=d(y−Xw^)T(y−Xw^)+(y−Xw^)Td(y−Xw^)=∂(y−Xw^)∂w^(y−Xw^)dw^+(y−Xw^)T∂(y−Xw^)Tw^dw^=(XTXw^−XTY)dw+(w^TXTX−YTX)dw=(XTXw^−XTY+w^TXTX−YTX)dw=[(XTXw^−XTY)+(XTXw^−XTY)]dw=2XT(Xw^−Y)dw​d[(y-X\hat{w})^T(y-X\hat{w})] \\ = d(y-X\hat{w})^T(y-X\hat{w}) + (y-X\hat{w})^Td(y-X\hat{w}) \\ =\frac{\partial (y-X\hat{w})}{\partial \hat{w}}(y-X\hat{w})d\hat{w} + (y-X\hat{w})^T\frac{\partial (y-X\hat{w})^T}{\hat{w}}d\hat{w} \\=(X^TX\hat{w}-X^TY)dw + (\hat{w}^TX^TX-Y^TX)dw \\ = (X^TX\hat{w}-X^TY+\hat{w}^TX^TX-Y^TX)dw \\ = [(X^TX\hat{w} - X^TY) + (X^TX\hat{w}-X^TY)]dw \\ =2X^T(X\hat{w}-Y)dw​d[(yXw^)T(yXw^)]=d(yXw^)T(yXw^)+(yXw^)Td(yXw^)=w^(yXw^)(yXw^)dw^+(yXw^)Tw^(yXw^)Tdw^=(XTXw^XTY)dw+(w^TXTXYTX)dw=(XTXw^XTY+w^TXTXYTX)dw=[(XTXw^XTY)+(XTXw^XTY)]dw=2XT(Xw^Y)dw

2XT(Xw^−Y)=02X^T(X\hat{w}-Y)=02XT(Xw^Y)=0,即可得出w^∗=(XTX)−1XTy\hat{w}^*=(X^TX)^{-1}X^Tyw^=(XTX)1XTy

您可能感兴趣的与本文相关的镜像

AutoGPT

AutoGPT

AI应用

AutoGPT于2023年3月30日由游戏公司Significant Gravitas Ltd.的创始人Toran Bruce Richards发布,AutoGPT是一个AI agent(智能体),也是开源的应用程序,结合了GPT-4和GPT-3.5技术,给定自然语言的目标,它将尝试通过将其分解成子任务,并在自动循环中使用互联网和其他工具来实现这一目标

【电动汽车充电站有序充电调度的分散式优化】基于蒙特卡诺和拉格朗日的电动汽车优化调度(分时电价调度)(Matlab代码实现)内容概要:本文介绍了基于蒙特卡洛和拉格朗日方法的电动汽车充电站有序充电调度优化方案,重点在于采用分散式优化策略应对分时电价机制下的充电需求管理。通过构建数学模型,结合不确定性因素如用户充电行为和电网负荷波动,利用蒙特卡洛模拟生成大量场景,并运用拉格朗日松弛法对复杂问题进行分解求解,从而实现全局最优或近似最优的充电调度计划。该方法有效降低了电网峰值负荷压力,提升了充电站运营效率与经济效益,同时兼顾用户充电便利性。 适合人群:具备一定电力系统、优化算法和Matlab编程基础的高校研究生、科研人员及从事智能电网、电动汽车相关领域的工程技术人员。 使用场景及目标:①应用于电动汽车充电站的日常运营管理,优化充电负荷分布;②服务于城市智能交通系统规划,提升电网与交通系统的协同水平;③作为学术研究案例,用于验证分散式优化算法在复杂能源系统中的有效性。 阅读建议:建议读者结合Matlab代码实现部分,深入理解蒙特卡洛模拟与拉格朗日松弛法的具体实施步骤,重点关注场景生成、约束处理与迭代收敛过程,以便在实际项目中灵活应用与改进。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值