【Machine Learning】Ch3.2 线性回归

3.2 线性回归

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

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

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

( w ∗ , b ∗ ) = a r g   m i n ( w , b ) ∑ i = 1 m ( f ( x i ) − y i ) ) 2 = a r g   m i n ( w , b ) ∑ i = 1 m ( y i − w x i − 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

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

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

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

∂ E ( w , b ) ∂ w = 2 ( w ∑ i = 1 m x i 2 − ∑ i = 1 m ( y i − b ) x i ) \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 ( m b − ∑ i = 1 m ( y i − w x i ) ) \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 = 1 m y i ( x i − x ˉ ) ∑ i = 1 m x i 2 − 1 m ( ∑ i = 1 m x i ) 2 w=\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 = 1 m ∑ i = 1 m ( y i − w x i ) b=\frac{1}{m}\sum_{i=1}^m(y_i-wx_i) b=m1i=1m(yiwxi)

更一般的情况,样本由多个属性组成,学习目标为 f ( x i ) = w T x i + b f(x_i)=w^Tx_i+b f(xi)=wTxi+b使得 f ( x i ) ≃ y i f(x_i)\simeq y_i f(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 ^ ∗ = a r g   m i n w ^ ( y − X w ^ ) T ( y − X w ^ ) ​ \hat{w}^*=arg\ min_{\hat{w}}(y-X\hat{w})^T(y-X\hat{w})​ w^=arg minw^(yXw^)T(yXw^)

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

方法一

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

E w ^ = ( y − X w ^ ) T ( y − X w ^ ) = ( w ^ T X T X w ^ − w ^ T X T Y − Y T X x ^ − Y T Y ) 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)

d E w ^ d w ^ = d ( w ^ T X T X w ^ − w ^ T X T Y − Y T X x ^ − Y T Y ) d w ^ = d w ^ T X T X w ^ d w ^ − d w ^ T X T Y d w ^ − d Y T X x ^ d w ^ − d Y T Y d w ^ ​ \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

根据公式 d w ^ T X T X w ^ d w ^ = 2 X T X w ^ , d w ^ T X T Y d w ^ = X T Y , d Y T X x ^ d w ^ = X T Y , d Y T Y d w ^ = 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

那么 d E w ^ d w ^ = 2 X T X w ^ − 2 X T Y = 2 X T ( X w ^ − 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)

方法二

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

d [ ( y − X w ^ ) T ( y − X w ^ ) ] = d ( y − X w ^ ) T ( y − X w ^ ) + ( y − X w ^ ) T d ( y − X w ^ ) = ∂ ( y − X w ^ ) ∂ w ^ ( y − X w ^ ) d w ^ + ( y − X w ^ ) T ∂ ( y − X w ^ ) T w ^ d w ^ = ( X T X w ^ − X T Y ) d w + ( w ^ T X T X − Y T X ) d w = ( X T X w ^ − X T Y + w ^ T X T X − Y T X ) d w = [ ( X T X w ^ − X T Y ) + ( X T X w ^ − X T Y ) ] d w = 2 X T ( X w ^ − Y ) d w ​ 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

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

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
08-10
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值