还未更新完,会持续更新
线性模型的重要性
线性模型的特点:简单、基本、可理解性(understandability)/可解释性(comprehensibility)好
给定由 d 个属性描述的示例 x = ( x 1 ; x 2 ; … ; x d ) \boldsymbol{x}=\left(x_{1} ; x_{2} ; \ldots ; x_{d}\right) x=(x1;x2;…;xd), 其中 x i x_{i} xi 是 x \boldsymbol{x} x 在第 i 个属性上的取值, 线性模型(linear model)试图学得一个通过属性的线性组合来进行 预测的函数, 即
f ( x ) = w 1 x 1 + w 2 x 2 + … + w d x d + b , \\\\f(\boldsymbol{x})=w_{1} x_{1}+w_{2} x_{2}+\ldots+w_{d} x_{d}+b,\\\\ f(x)=w1x1+w2x2+…+wdxd+b,
一般用向量形式写成 f ( x ) = w T x + b , f(\boldsymbol{x})=\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b, f(x)=wTx+b,其中 w = ( w 1 ; w 2 ; … ; w d ) \boldsymbol{w}=\left(w_{1} ; w_{2} ; \ldots ; w_{d}\right) w=(w1;w2;…;wd).
w \boldsymbol{w} w 和 b b b 学得之后, 模型就得以确定.
感觉老师这里用的“学得”这个词很好,之前在别的教程暂时没有看到这种表述哈哈,机器学习,“学得”
给定数据集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x m , y m ) } , 其中 x i = ( x i 1 ; x i 2 ; … ; x i d ) , y i ∈ R . D=\left\{\left(\boldsymbol{x}_{1}, y_{1}\right),\left(\boldsymbol{x}_{2}, y_{2}\right), \ldots,\left(\boldsymbol{x}_{m}, y_{m}\right)\right\}, 其中 \boldsymbol{x}_{i}=\left(x_{i 1}\right.; x_{i 2} ; \ldots ; x_{i d} ), y_{i} \in \mathbb{R}. D={(x1,y1),(x2,y2),…,(xm,ym)},其中xi=(xi1;xi2;…;xid),yi∈R. “线性回归” (linear regression) 试图学得一个线性模型以尽可能准确地预测实值输出标记
线性回归擅长的处理数值属性
例如若在西瓜问题中学得 “ f 好瓜 ( x ) = 0.2 ⋅ x 色泽 + 0.5 ⋅ x 根蒂 + 0.3 ⋅ x 敲声 + 1 f_{好瓜 }(\boldsymbol{x})=0.2 \cdot x_{\text {色泽 }}+0.5 \cdot x_{\text {根蒂 }}+0.3 \cdot x_{\text {敲声 }}+1 f好瓜(x)=0.2⋅x色泽 +0.5⋅x根蒂 +0.3⋅x敲声 +1 ”,
离散属性的处理
先考虑一种最简单的情形: 输入属性的数目只有一个,为便于讨论, 此时我们忽略关于属性的下标, 即 D = { ( x i , y i ) } i = 1 m D=\left\{\left(x_{i}, y_{i}\right)\right\}_{i=1}^{m} D={(xi,yi)}i=1m, 其中 x i ∈ R . x_{i} \in \mathbb{R}. xi∈R.
我们怎么样去找一个线性回归的解决方案?(如何确定 w 和 b )
显然, 关键在于如何衡量 f(x) 与 y 之间的差别
均方误差是回归任务中最常用的性能度量, 因此我们可试图让均方误差最小化, 即
w ∗ , b ∗ w^{*}, b^{*} w∗,b∗ 表示 w 和 b 的解.
( w ∗ , b ∗ ) = arg min ( w , b ) ∑ i = 1 m ( f ( x i ) − y i ) 2 = arg min ( w , b ) ∑ i = 1 m ( y i − w x i − b ) 2 . \begin{aligned}\left(w^{*}, b^{*}\right) & =\underset{(w, b)}{\arg \min } \sum_{i=1}^{m}\left(f\left(x_{i}\right)-y_{i}\right)^{2} \\ & =\underset{(w, b)}{\arg \min } \sum_{i=1}^{m}\left(y_{i}-w x_{i}-b\right)^{2} .\end{aligned} (w∗,b∗)=(w,b)argmini=1∑m(f(xi)−yi)2=(w,b)argmini=1∑m(yi−wxi−b)2.
对 E ( w , b ) = ∑ i = 1 m ( y i − w x i − b ) 2 E_{(w, b)}=\sum_{i=1}^{m}\left(y_{i}-w x_{i}-b\right)^{2} E(w,b)=∑i=1m(yi−wxi−b)2进行最小二乘参数估计
注意一些写法,周老师这门课里面 、
w 和 b 解出来了,整个方程就确定了,就意味着那条线得到了。而这条线是在干什么?我们拿到很多这样的数据点之后,我们要找一条线把它全穿过去。
均方误差有非常好的几何意义, 它对应了常用的欧几里得距离或简称 “欧氏距离" (Euclidean distance). 基于均方误差最小化来进行模型求解的方法称为 “最小二乘法” (least square method).
在线性回归中, 最小二乘法就是试图找到一条直线, 使所有样本到直线上的欧氏距离之和最小.
求解 w 和 b 使 E ( w , b ) = ∑ i = 1 m ( y i − w x i − b ) 2 E_{(w, b)}=\sum_{i=1}^{m}\left(y_{i}-w x_{i}-b\right)^{2} E(w,b)=∑i=1m(yi−wxi−b)2 最小化的过程, 称为线性回归模型的最小二乘 “参数估计” (parameter estimation).
我们可将 E ( w , b ) E_{(w, b)} E(w,b) 分别 对 w 和 b 求导, 得到
∂ E ( w , b ) ∂ w = 2 ( w ∑ i = 1 m x i 2 − ∑ i = 1 m ( y i − b ) x i ) ( 1 ) ∂ E ( w , b ) ∂ b = 2 ( m b − ∑ i = 1 m ( y i − w x i ) ) ( 2 ) \frac{\partial E_{(w, b)}}{\partial w}=2\left(w \sum_{i=1}^{m} x_{i}^{2}-\sum_{i=1}^{m}\left(y_{i}-b\right) x_{i}\right) \qquad(1)\\ \frac{\partial E_{(w, b)}}{\partial b}=2\left(m b-\sum_{i=1}^{m}\left(y_{i}-w x_{i}\right)\right) \qquad(2) ∂w∂E(w,b)=2(wi=1∑mxi2−i=1∑m(yi−b)xi)(1)∂b∂E(w,b)=2(mb−i=1∑m(yi−wxi))(2)
然后令上面两个式子均为零可得到 w 和 b 最优解的闭式(closed-form)解
闭式解(或称为“解析解”)是指可以通过具体的表达式解出待解参数
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}^{m} y_{i}\left(x_{i}-\bar{x}\right)}{\sum_{i=1}^{m} x_{i}^{2}-\frac{1}{m}\left(\sum_{i=1}^{m} x_{i}\right)^{2}} w=∑i=1mxi2−m1(∑i=1mxi)2∑i=1myi(xi−xˉ)
b = 1 m ∑ i = 1 m ( y i − w x i ) , b=\frac{1}{m} \sum_{i=1}^{m}\left(y_{i}-w x_{i}\right) \text {, } b=m1i=1∑m(yi−wxi),
其中 x ˉ = 1 m ∑ i = 1 m x i \bar{x}=\frac{1}{m} \sum_{i=1}^{m} x_{i} xˉ=m1∑i=1mxi 为 x 的均值.
推导
由(2)可得 b = 1 m ∑ i = 1 m ( y i − w x i ) b=\frac{1}{m} \sum_{i=1}^{m}\left(y_{i}-w x_{i}\right) b=m1∑i=1m(yi−wxi) ,又因为 1 m ∑ i = 1 m y i = y ˉ , 1 m ∑ i = 1 m x i = x ˉ \frac{1}{m} \sum_{i=1}^{m} y_{i}=\bar{y} , \frac{1}{m} \sum_{i=1}^{m} x_{i}=\bar{x} m1∑i=1myi=yˉ,m1∑i=1mxi=xˉ ,则 b = y ˉ − w x ˉ b=\bar{y}-w \bar{x} b=yˉ−wxˉ
令(1)为0,代入可得
w ∑ i = 1 m x i 2 = ∑ i = 1 m y i x i − ∑ i = 1 m ( y ˉ − w x ˉ ) x i w ∑ i = 1 m x i 2 = ∑ i = 1 m y i x i − y ˉ ∑ i = 1 m x i + w x ˉ ∑ i = 1 m x i w ( ∑ i = 1 m x i 2 − x ˉ ∑ i = 1 m x i ) = ∑ i = 1 m y i x i − y ˉ ∑ i = 1 m x i w = ∑ i = 1 m y i x i − y ˉ ∑ i = 1 m x i ∑ i = 1 m x i 2 − x ˉ ∑ i = 1 m x i \\\\\begin{aligned}\\w \sum_{i=1}^{m} x_{i}^{2} & =\sum_{i=1}^{m} y_{i} x_{i}-\sum_{i=1}^{m}(\bar{y}-w \bar{x}) x_{i} \\\\w \sum_{i=1}^{m} x_{i}^{2} & =\sum_{i=1}^{m} y_{i} x_{i}-\bar{y} \sum_{i=1}^{m} x_{i}+w \bar{x} \sum_{i=1}^{m} x_{i} \\\\w\left(\sum_{i=1}^{m} x_{i}^{2}-\bar{x} \sum_{i=1}^{m} x_{i}\right) & =\sum_{i=1}^{m} y_{i} x_{i}-\bar{y} \sum_{i=1}^{m} x_{i} \\\\w & =\frac{\sum_{i=1}^{m} y_{i} x_{i}-\bar{y} \sum_{i=1}^{m} x_{i}}{\sum_{i=1}^{m} x_{i}^{2}-\bar{x} \sum_{i=1}^{m} x_{i}}\\\end{aligned} wi=1∑mxi2wi=1∑mxi2w(i=1∑mxi2−xˉi=1∑mxi)w=i=1∑myixi−i=1∑m(yˉ−wxˉ)xi=i=1∑myixi−yˉi=1∑mxi+wxˉi=1∑mxi=i=1∑myixi−yˉi=1∑mxi=∑i=1mxi2−xˉ∑i=1mxi∑i=1myixi−yˉ∑i=1mxi
将 y ˉ ∑ i = 1 m x i = 1 m ∑ i = 1 m y i ∑ i = 1 m x i = x ˉ ∑ i = 1 m y i 和 x ˉ ∑ i = 1 m x i = 1 m ∑ i = 1 m x i ∑ i = 1 m x i = 1 m ( ∑ i = 1 m x i ) 2 \bar{y} \sum_{i=1}^{m} x_{i}=\frac{1}{m} \sum_{i=1}^{m} y_{i} \sum_{i=1}^{m} x_{i}=\bar{x} \sum_{i=1}^{m} y_{i} 和 \bar{x} \sum_{i=1}^{m} x_{i}=\frac{1}{m} \sum_{i=1}^{m} x_{i} \sum_{i=1}^{m} x_{i}=\frac{1}{m}\left(\sum_{i=1}^{m} x_{i}\right)^{2} yˉ∑i=1mxi=m1∑i=1myi∑i=1mxi=xˉ∑i=1myi和xˉ∑i=1mxi=m1∑i=1mxi∑i=1mxi=m1(∑i=1mxi)2 代人上式, 即可得式
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}^{m} y_{i}\left(x_{i}-\bar{x}\right)}{\sum_{i=1}^{m} x_{i}^{2}-\frac{1}{m}\left(\sum_{i=1}^{m} x_{i}\right)^{2}} w=∑i=1mxi2−m1(∑i=1mxi)2∑i=1myi(xi−xˉ)
我们为什么求偏导? 背后的思想是什么?
也称为多变量线性回归
多元线性回归是更加一般的情形:
单元线性回归:单个属性, f ( x i ) = w x i + b f\left(x_{i}\right)=w x_{i}+b f(xi)=wxi+b,只需要一个权重,多元有多个属性,就需要多个权重,w和x都是列向量,所以写成下面这样
类似的, 可利用最小二乘法来对 w \boldsymbol{w} w 和 b b b 进行估计.
为便于讨论, 我们把 w \boldsymbol{w} w 和 b b b 吸收入向量形式 w ^ = ( w ; b ) \hat{\boldsymbol{w}}=(\boldsymbol{w} ; b) w^=(w;b), 相应的, 把数据集 D D D 表示为一个 m × ( d + 1 ) m \times(d+1) m×(d+1) 大小的矩阵 X \mathbf{X} X, 其中每行对应于一个示例, 该行前 d d d 个元素对应于示例的 d d d 个 属性值, 最后一个元素恒置为 1 1 1 , 即
X = ( x 11 x 12 … x 1 d 1 x 21 x 22 … x 2 d 1 ⋮ ⋮ ⋱ ⋮ ⋮ x m 1 x m 2 … x m d 1 ) = ( x 1 T 1 x 2 T 1 ⋮ ⋮ x m T 1 ) \\\\\mathbf{X}=\left(\begin{array}{ccccc}\\x_{11} & x_{12} & \ldots & x_{1 d} & 1 \\\\x_{21} & x_{22} & \ldots & x_{2 d} & 1 \\\\\vdots & \vdots & \ddots & \vdots & \vdots \\\\x_{m 1} & x_{m 2} & \ldots & x_{m d} & 1\\\end{array}\right)=\left(\begin{array}{cc}\\\boldsymbol{x}_{1}^{\mathrm{T}} & 1 \\\\\boldsymbol{x}_{2}^{\mathrm{T}} & 1 \\\\\vdots & \vdots \\\\\boldsymbol{x}_{m}^{\mathrm{T}} & 1\\\end{array}\right)\\\\ X= x11x21⋮xm1x12x22⋮xm2……⋱…x1dx2d⋮xmd11⋮1 = x1Tx2T⋮xmT11⋮1
再把标记也写成向量形式 y = ( y 1 ; y 2 ; … ; y m ) \boldsymbol{y}=\left(y_{1} ; y_{2} ; \ldots ; y_{m}\right) y=(y1;y2;…;ym),
同样采用最小二乘法求解, 有
w ^ ∗ = arg min w ^ ( y − X w ^ ) T ( y − X w ^ ) \\\\\hat{\boldsymbol{w}}^{*}=\underset{\hat{\boldsymbol{w}}}{\arg \min }(\boldsymbol{y}-\mathbf{X} \hat{\boldsymbol{w}})^{\mathrm{T}}(\boldsymbol{y}-\mathbf{X} \hat{\boldsymbol{w}})\\\\ w^∗=w^argmin(y−Xw^)T(y−Xw^)
令 E w ^ = ( y − X w ^ ) T ( y − X w ^ ) , E_{\hat{\boldsymbol{w}}}=(\boldsymbol{y}-\mathbf{X} \hat{\boldsymbol{w}})^{\mathrm{T}}(\boldsymbol{y}-\mathbf{X} \hat{\boldsymbol{w}}), Ew^=(y−Xw^)T(y−Xw^),
呜呜,稍微有点蒙
跟着南瓜书推了推 第3章-多元线性回归_哔哩哔哩_bilibili,这个视频讲的太好啦呜呜!
将 w \boldsymbol{w} w 和 b b b 组合成 w ^ \hat{\boldsymbol{w}} w^ :
w 和 x i \boldsymbol{w}和x_i w和xi都是d维的 x i x_i xi是第i个样本
f ( x i ) = w T x i + b f\left(\boldsymbol{x}_{i}\right)=\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i}+b f(xi)=wTxi+b
展开写成这样
f ( x i ) = ( w 1 w 2 ⋯ w d ) ( x i 1 x i 2 ⋮ x i d ) + b \\\\f\left(\boldsymbol{x}_{i}\right)=\left(\begin{array}{llll}\\w_{1} & w_{2} & \cdots & w_{d}\\\end{array}\right)\left(\begin{array}{c}\\x_{i 1} \\\\x_{i 2} \\\\\vdots \\\\x_{i d}\\\end{array}\right)+b \\\\ f(xi)=(w1w2⋯wd) xi1xi2⋮xid +b
把b看为 w d + 1 = w d + 1 ⋅ 1 w_{d+1}=w_{d+1}\cdot 1 wd+1=wd+1⋅1,相应的w和xi里面都要增加一个元素
f ( x i ) = w 1 x i 1 + w 2 x i 2 + … + w d x i d + b f ( x i ) = w 1 x i 1 + w 2 x i 2 + … + w d x i d + w d + 1 ⋅ 1 f\left(\boldsymbol{x}_{i}\right)=w_{1} x_{i 1}+w_{2} x_{i 2}+\ldots+w_{d} x_{i d}+b \\\\f\left(\boldsymbol{x}_{i}\right)=w_{1} x_{i 1}+w_{2} x_{i 2}+\ldots+w_{d} x_{i d}+w_{d+1} \cdot 1 f(xi)=w1xi1+w2xi2+…+wdxid+bf(xi)=w1xi1+w2xi2+…+wdxid+wd+1⋅1
向量化表示
把新的 w \boldsymbol{w} w记作 w ^ \hat{\boldsymbol{w}} w^,新的 x i \boldsymbol{x_i} xi记作 x i ^ \hat{\boldsymbol{x_i}} xi^
f ( x i ) = ( w 1 w 2 ⋯ w d w d + 1 ) ( x i 1 x i 2 ⋮ x i d 1 ) f ( x ^ i ) = w ^ T x ^ i f\left(\boldsymbol{x}_{i}\right)=\left(\begin{array}{ccccc}w_{1} & w_{2} & \cdots & w_{d} & w_{d+1}\end{array}\right)\left(\begin{array}{c}x_{i 1} \\ x_{i 2} \\ \vdots \\ x_{i d} \\ 1\end{array}\right)\\f\left(\hat{\boldsymbol{x}}_{i}\right)=\hat{\boldsymbol{w}}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i} f(xi)=(w1w2⋯wdwd+1) xi1xi2⋮xid1 f(x^i)=w^Tx^i
上面是针对一个样本的,那么整个的损失就是要求和,由最小二乘法可得
E w ^ = ∑ i = 1 m ( y i − f ( x ^ i ) ) 2 = ∑ i = 1 m ( y i − w ^ T x ^ i ) 2 \\\\E_{\hat{\boldsymbol{w}}}=\sum_{i=1}^{m}\left(y_{i}-f\left(\hat{\boldsymbol{x}}_{i}\right)\right)^{2}=\sum_{i=1}^{m}\left(y_{i}-\hat{\boldsymbol{w}}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}\right)^{2}\\\\ Ew^=i=1∑m(yi−f(x^i))2=i=1∑m(yi−w^Tx^i)2
下面继续将其向量化,把求和符号向量化
共m个样本
E w ^ = ∑ i = 1 m ( y i − w ^ T x ^ i ) 2 = ( y 1 − w ^ T x ^ 1 ) 2 + ( y 2 − w ^ T x ^ 2 ) 2 + … + ( y m − w ^ T x ^ m ) 2 E w ^ = ( y 1 − w ^ T x ^ 1 y 2 − w ^ T x ^ 2 ⋯ y m − w ^ T x ^ m ) ( y 1 − w ^ T x ^ 1 y 2 − w ^ T x ^ 2 ⋮ y m − w ^ T x ^ m ) E_{\hat{\boldsymbol{w}}}=\sum_{i=1}^{m}\left(y_{i}-\hat{\boldsymbol{w}}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}\right)^{2}=\left(y_{1}-\hat{\boldsymbol{w}}^{\mathrm{T}} \hat{\boldsymbol{x}}_{1}\right)^{2}+\left(y_{2}-\hat{\boldsymbol{w}}^{\mathrm{T}} \hat{\boldsymbol{x}}_{2}\right)^{2}+\ldots+\left(y_{m}-\hat{\boldsymbol{w}}^{\mathrm{T}} \hat{\boldsymbol{x}}_{m}\right)^{2}\\E_{\hat{\boldsymbol{w}}}=\left(\begin{array}{llll}y_{1}-\hat{\boldsymbol{w}}^{\mathrm{T}} \hat{\boldsymbol{x}}_{1} & y_{2}-\hat{\boldsymbol{w}}^{\mathrm{T}} \hat{\boldsymbol{x}}_{2} & \cdots & y_{m}-\hat{\boldsymbol{w}}^{\mathrm{T}} \hat{\boldsymbol{x}}_{m}\end{array}\right)\left(\begin{array}{c}y_{1}-\hat{\boldsymbol{w}}^{\mathrm{T}} \hat{\boldsymbol{x}}_{1} \\ y_{2}-\hat{\boldsymbol{w}}^{\mathrm{T}} \hat{\boldsymbol{x}}_{2} \\ \vdots \\ y_{m}-\hat{\boldsymbol{w}}^{\mathrm{T}} \hat{\boldsymbol{x}}_{m}\end{array}\right) Ew^=i=1∑m(yi−w^Tx^i)2=(y1−w^Tx^1)2+(y2−w^Tx^2)2+…+(ym−w^Tx^m)2Ew^=(y1−w^Tx^1y2−w^Tx^2⋯ym−w^Tx^m) y1−w^Tx^1y2−w^Tx^2⋮ym−w^Tx^m
如何继续化简?
( y 1 − w ^ T x ^ 1 y 2 − w ^ T x ^ 2 ⋮ y m − w ^ T x ^ m ) = ( y 1 y 2 ⋮ y m ) − ( w ^ T x ^ 1 w ^ T x ^ 2 ⋮ w ^ T x ^ m ) = ( y 1 y 2 ⋮ y m ) − ( x ^ 1 T w ^ x ^ 2 T w ^ ⋮ x ^ m T w ^ ) y = ( y 1 y 2 ⋮ y m ) , ( x ^ 1 T w ^ x ^ 2 T w ^ ⋮ x ^ m T w ^ ) = ( x ^ 1 T x ^ 2 T ⋮ x ^ m T ) ⋅ w ^ = ( x 1 T 1 x 2 T 1 ⋮ ⋮ x m T 1 ) ⋅ w ^ = X ⋅ w ^ \left(\begin{array}{c}y_{1}-\hat{\boldsymbol{w}}^{\mathrm{T}} \hat{\boldsymbol{x}}_{1} \\ y_{2}-\hat{\boldsymbol{w}}^{\mathrm{T}} \hat{\boldsymbol{x}}_{2} \\ \vdots \\ y_{m}-\hat{\boldsymbol{w}}^{\mathrm{T}} \hat{\boldsymbol{x}}_{m}\end{array}\right)=\left(\begin{array}{c}y_{1} \\ y_{2} \\ \vdots \\ y_{m}\end{array}\right)-\left(\begin{array}{c}\hat{\boldsymbol{w}}^{\mathrm{T}} \hat{\boldsymbol{x}}_{1} \\ \hat{\boldsymbol{w}}^{\mathrm{T}} \hat{\boldsymbol{x}}_{2} \\ \vdots \\ \hat{\boldsymbol{w}}^{\mathrm{T}} \hat{\boldsymbol{x}}_{m}\end{array}\right)=\left(\begin{array}{c}y_{1} \\ y_{2} \\ \vdots \\ y_{m}\end{array}\right)-\left(\begin{array}{c}\hat{\boldsymbol{x}}_{1}^{\mathrm{T}} \hat{\boldsymbol{w}} \\ \hat{\boldsymbol{x}}_{2}^{\mathrm{T}} \hat{\boldsymbol{w}} \\ \vdots \\ \hat{\boldsymbol{x}}_{m}^{\mathrm{T}} \hat{\boldsymbol{w}}\end{array}\right)\\\boldsymbol{y}=\left(\begin{array}{c}y_{1} \\ y_{2} \\ \vdots \\ y_{m}\end{array}\right), \quad\left(\begin{array}{c}\hat{\boldsymbol{x}}_{1}^{\mathrm{T}} \hat{\boldsymbol{w}} \\ \hat{\boldsymbol{x}}_{2}^{\mathrm{T}} \hat{\boldsymbol{w}} \\ \vdots \\ \hat{\boldsymbol{x}}_{m}^{\mathrm{T}} \hat{\boldsymbol{w}}\end{array}\right)=\left(\begin{array}{c}\hat{\boldsymbol{x}}_{1}^{\mathrm{T}} \\ \hat{\boldsymbol{x}}_{2}^{\mathrm{T}} \\ \vdots \\ \hat{\boldsymbol{x}}_{m}^{\mathrm{T}}\end{array}\right) \cdot \hat{\boldsymbol{w}}=\left(\begin{array}{cc}\boldsymbol{x}_{1}^{\mathrm{T}} & 1 \\ \boldsymbol{x}_{2}^{\mathrm{T}} & 1 \\ \vdots & \vdots \\ \boldsymbol{x}_{m}^{\mathrm{T}} & 1\end{array}\right) \cdot \hat{\boldsymbol{w}}=\mathbf{X} \cdot \hat{\boldsymbol{w}} y1−w^Tx^1y2−w^Tx^2⋮ym−w^Tx^m = y1y2⋮ym − w^Tx^1w^Tx^2⋮w^Tx^m = y1y2⋮ym − x^1Tw^x^2Tw^⋮x^mTw^ y= y1y2⋮ym , x^1Tw^x^2Tw^⋮x^mTw^ = x^1Tx^2T⋮x^mT ⋅w^= x1Tx2T⋮xmT11⋮1 ⋅w^=X⋅w^
里面关键的是 w ^ T x ^ 1 = x ^ 1 T w ^ \hat{\boldsymbol{w}}^{\mathrm{T}}\hat{\boldsymbol{x}}_{1}=\hat{\boldsymbol{x}}_{1}^{\mathrm{T}}\hat{\boldsymbol{w}} w^Tx^1=x^1Tw^这一步, w ^ \hat{\boldsymbol{w}} w^, x i ^ \hat{\boldsymbol{x_i}} xi^都是列向量,其中一个转置乘以另一个,也就是行向量乘以列向量,得到的都是一个数, 所以这个是对的
最后那个大X是m行,d+1列, w hat 是 d+1行, 1列
于是
E w ^ = ( y 1 − w ^ T x ^ 1 y 2 − w ^ T x ^ 2 ⋯ y m − w ^ T x ^ m ) ( y 1 − w ^ T x ^ 1 y 2 − w ^ T x ^ 2 ⋮ y m − w ^ T x ^ m ) E w ^ = ( y − X w ^ ) T ( y − X w ^ ) E_{\hat{\boldsymbol{w}}}=\left(\begin{array}{cccc}y_{1}-\hat{\boldsymbol{w}}^{\mathrm{T}} \hat{\boldsymbol{x}}_{1} & y_{2}-\hat{\boldsymbol{w}}^{\mathrm{T}} \hat{\boldsymbol{x}}_{2} & \cdots & y_{m}-\hat{\boldsymbol{w}}^{\mathrm{T}} \hat{\boldsymbol{x}}_{m}\end{array}\right)\left(\begin{array}{c}y_{1}-\hat{\boldsymbol{w}}^{\mathrm{T}} \hat{\boldsymbol{x}}_{1} \\ y_{2}-\hat{\boldsymbol{w}}^{\mathrm{T}} \hat{\boldsymbol{x}}_{2} \\ \vdots \\ y_{m}-\hat{\boldsymbol{w}}^{\mathrm{T}} \hat{\boldsymbol{x}}_{m}\end{array}\right)\\E_{\hat{\boldsymbol{w}}}=(\boldsymbol{y}-\mathbf{X} \hat{\boldsymbol{w}})^{\mathrm{T}}(\boldsymbol{y}-\mathbf{X} \hat{\boldsymbol{w}}) Ew^=(y1−w^Tx^1y2−w^Tx^2⋯ym−w^Tx^m) y1−w^Tx^1y2−w^Tx^2⋮ym−w^Tx^m Ew^=(y−Xw^)T(y−Xw^)
对 w ^ \hat{\boldsymbol{w}} w^ 求导:
∂ E w ^ ∂ w ^ = 2 X T ( X w ^ − y ) \\\frac{\partial E_{\hat{\boldsymbol{w}}}}{\partial \hat{\boldsymbol{w}}}=2 \mathbf{X}^{\mathrm{T}}(\mathbf{X} \hat{\boldsymbol{w}}-\boldsymbol{y}) ∂w^∂Ew^=2XT(Xw^−y)
令上式为零可得 w ^ \hat{\boldsymbol{w}} w^ 最优解的闭式解, 但由于涉及矩阵逆的计算, 比单变量情形 要复杂一些. 需要讨论
若 X T X \mathbf{X}^{\mathrm{T}} \mathbf{X} XTX 满秩或正定, 则
w ^ ∗ = ( X T X ) − 1 X T y \hat{w}^{*}=\left(\mathbf{X}^{\mathrm{T}}\mathbf{X}\right)^{-1} \mathbf{X}^{\mathrm{T}} \boldsymbol{y}\\ w^∗=(XTX)−1XTy
令一阶导数为0,可得
w ^ ∗ = ( X T X ) − 1 X T y \hat{\boldsymbol{w}}^{*}=\left(\mathbf{X}^{\mathrm{T}} \mathbf{X}\right)^{-1} \mathbf{X}^{\mathrm{T}} \boldsymbol{y}\\\\ w^∗=(XTX)−1XTy
其中 ( X T X ) − 1 \left(\mathbf{X}^{\mathrm{T}} \mathbf{X}\right)^{-1} (XTX)−1 是矩阵 ( X T X ) \left(\mathbf{X}^{\mathrm{T}} \mathbf{X}\right) (XTX) 的逆矩阵. 令 x ^ i = ( x i , 1 ) \hat{\boldsymbol{x}}_{i}=\left(\boldsymbol{x}_{i}, 1\right) x^i=(xi,1), 则最终学得的多元线性回归模型为
f ( x ^ i ) = x ^ i T ( X T X ) − 1 X T y . \\\\\\f\left(\hat{\boldsymbol{x}}_{i}\right)=\hat{\boldsymbol{x}}_{i}^{\mathrm{T}}\left(\mathbf{X}^{\mathrm{T}} \mathbf{X}\right)^{-1} \mathbf{X}^{\mathrm{T}} \boldsymbol{y} . f(x^i)=x^iT(XTX)−1XTy.
若 X T X \mathbf{X}^{\mathrm{T}} \mathbf{X} XTX 不满秩, 则可解出多个 w ^ \hat{w} w^
现实任务中 X T X \mathbf{X}^{\mathrm{T}} \mathbf{X} XTX 往往不是满秩矩阵.
例如在许多任务中我们会遇到 大量的变量, 其数目甚至超过样例数, 导致 X \mathbf{X} X 的列数多于行数, X T X \mathbf{X}^{\mathrm{T}} \mathbf{X} XTX 显然不满 秩. 此时可解出多个 w ^ \hat{\boldsymbol{w}} w^, 它们都能使均方误差最小化. 选择哪一个解作为输出, 将由学习算法的归纳偏好决定, 常见的做法是引入正则化 (regularization)项.
我们不能硬去解它,我们要加入额外的限制。而额外的限制就是或者正则化。
大家再联系一下我们在第一部分讲到的东西,机器学习很多时候是要有一个偏好的,没有偏好就有很多题做不出来。具体在操作的时候我们我们把它叫做加正则化。
加了限制之后,就得到可解的一个方程了。不同的解法可以加不同的限制,可以根据自己的喜好把限制加上去,这里面就有很大的弹性了。
w ^ ∗ = arg min w ^ ( y − X w ^ ) T ( y − X w ^ ) \hat{\boldsymbol{w}}^{*}=\underset{\hat{\boldsymbol{w}}}{\arg \min }(\boldsymbol{y}-\mathbf{X} \hat{\boldsymbol{w}})^{\mathrm{T}}(\boldsymbol{y}-\mathbf{X} \hat{\boldsymbol{w}})\\\\ w^∗=w^argmin(y−Xw^)T(y−Xw^)
求解 w ^ \hat{\boldsymbol{w}} w^ 仍然是一个多元函数求最值(点)的问题, 同样也是凸函数求最值的问题。
求 E w ^ 的 H e s s i a n (海塞)矩阵 ∇ 2 E w ^ E_{\hat{\boldsymbol{w}}} 的Hessian(海塞)矩阵 \nabla^{2} E_{\hat{\boldsymbol{w}}} Ew^的Hessian(海塞)矩阵∇2Ew^, 然后判断其正定性:
∂ E w ^ ∂ w ^ = ∂ ∂ w ^ [ ( y − X w ^ ) T ( y − X w ^ ) ] = ∂ ∂ w ^ [ ( y T − w ^ T X T ) ( y − X w ^ ) ] = ∂ ∂ w ^ [ y T y − y T X w ^ − w ^ T X T y + w ^ T X T X w ^ ] = ∂ ∂ w ^ [ − y T X w ^ − w ^ T X T y + w ^ T X T X w ^ ] = − ∂ y T X w ^ ∂ w ^ − ∂ w ^ T X T y ∂ w ^ + ∂ w ^ T X T X w ^ ∂ w ^ \\\\\begin{aligned}\\\frac{\partial E_{\hat{\boldsymbol{w}}}}{\partial \hat{\boldsymbol{w}}} & =\frac{\partial}{\partial \hat{\boldsymbol{w}}}\left[(\boldsymbol{y}-\mathbf{X} \hat{\boldsymbol{w}})^{\mathrm{T}}(\boldsymbol{y}-\mathbf{X} \hat{\boldsymbol{w}})\right] \\\\& =\frac{\partial}{\partial \hat{\boldsymbol{w}}}\left[\left(\boldsymbol{y}^{\mathrm{T}}-\hat{\boldsymbol{w}}^{\mathrm{T}} \mathbf{X}^{\mathrm{T}}\right)(\boldsymbol{y}-\mathbf{X} \hat{\boldsymbol{w}})\right] \\\\& =\frac{\partial}{\partial \hat{\boldsymbol{w}}}\left[\boldsymbol{y}^{\mathrm{T}} \boldsymbol{y}-\boldsymbol{y}^{\mathrm{T}} \mathbf{X} \hat{\boldsymbol{w}}-\hat{\boldsymbol{w}}^{\mathrm{T}} \mathbf{X}^{\mathrm{T}} \boldsymbol{y}+\hat{\boldsymbol{w}}^{\mathrm{T}} \mathbf{X}^{\mathrm{T}} \mathbf{X} \hat{\boldsymbol{w}}\right] \\\\& =\frac{\partial}{\partial \hat{\boldsymbol{w}}}\left[-\boldsymbol{y}^{\mathrm{T}} \mathbf{X} \hat{\boldsymbol{w}}-\hat{\boldsymbol{w}}^{\mathrm{T}} \mathbf{X}^{\mathrm{T}} \boldsymbol{y}+\hat{\boldsymbol{w}}^{\mathrm{T}} \mathbf{X}^{\mathrm{T}} \mathbf{X} \hat{\boldsymbol{w}}\right] \\\\& =-\frac{\partial \boldsymbol{y}^{\mathrm{T}} \mathbf{X} \hat{\boldsymbol{w}}}{\partial \hat{\boldsymbol{w}}}-\frac{\partial \hat{\boldsymbol{w}}^{\mathrm{T}} \mathbf{X}^{\mathrm{T}} \boldsymbol{y}}{\partial \hat{\boldsymbol{w}}}+\frac{\partial \hat{\boldsymbol{w}}^{\mathrm{T}} \mathbf{X}^{\mathrm{T}} \mathbf{X} \hat{\boldsymbol{w}}}{\partial \hat{\boldsymbol{w}}}\\\end{aligned} ∂w^∂Ew^=∂w^∂[(y−Xw^)T(y−Xw^)]=∂w^∂[(yT−w^TXT)(y−Xw^)]=∂w^∂[yTy−yTXw^−w^TXTy+w^TXTXw^]=∂w^∂[−yTXw^−w^TXTy+w^TXTXw^]=−∂w^∂yTXw^−∂w^∂w^TXTy+∂w^∂w^TXTXw^
注意此时,分子上都是标量,也就是标量要对向量函数求导
那么标量如何对向量函数求导呢
x为n维向量,f输入是n维向量,输出是标量,f就是n元标量函数,求导就是把各个分量的偏导数求出来,然后然后组成向量
如果组成列向量,称为分母布局, 组成行向量,称为分子布局
继续
∂ E w ^ ∂ w ^ = − ∂ y T X w ^ ∂ w ^ − ∂ w ^ T X T y ∂ w ^ + ∂ w ^ T X T X w ^ ∂ w ^ 根据矩阵微分公式 ∂ x T a ∂ x = ∂ a T x ∂ x = a , ∂ x T A x ∂ x = ( A + A T ) x 可得 : ∂ E w ^ ∂ w ^ = − X T y − X T y + ( X T X + X T X ) w ^ = 2 X T ( X w ^ − y ) \frac{\partial E_{\hat{\boldsymbol{w}}}}{\partial \hat{\boldsymbol{w}}}=-\frac{\partial \boldsymbol{y}^{\mathrm{T}} \mathbf{X} \hat{\boldsymbol{w}}}{\partial \hat{\boldsymbol{w}}}-\frac{\partial \hat{\boldsymbol{w}}^{\mathrm{T}} \mathbf{X}^{\mathrm{T}} \boldsymbol{y}}{\partial \hat{\boldsymbol{w}}}+\frac{\partial \hat{\boldsymbol{w}}^{\mathrm{T}} \mathbf{X}^{\mathrm{T}} \mathbf{X} \hat{\boldsymbol{w}}}{\partial \hat{\boldsymbol{w}}}\\\\根据矩阵微分公式 \frac{\partial \boldsymbol{x}^{\mathrm{T}} \boldsymbol{a}}{\partial \boldsymbol{x}}=\frac{\partial \boldsymbol{a}^{\mathrm{T}} \boldsymbol{x}}{\partial \boldsymbol{x}}=\boldsymbol{a}, \frac{\partial \boldsymbol{x}^{\mathrm{T}} \mathbf{A} \boldsymbol{x}}{\partial \boldsymbol{x}}=\left(\mathbf{A}+\mathbf{A}^{\mathrm{T}}\right) \boldsymbol{x} 可得:\\\\\begin{aligned}\\\frac{\partial E_{\hat{\boldsymbol{w}}}}{\partial \hat{\boldsymbol{w}}} & =-\mathbf{X}^{T} \boldsymbol{y}-\mathbf{X}^{T} \boldsymbol{y}+\left(\mathbf{X}^{T} \mathbf{X}+\mathbf{X}^{T} \mathbf{X}\right) \hat{\boldsymbol{w}} \\\\& =2 \mathbf{X}^{\mathrm{T}}(\mathbf{X} \hat{\boldsymbol{w}}-\boldsymbol{y}) \end{aligned} ∂w^∂Ew^=−∂w^∂yTXw^−∂w^∂w^TXTy+∂w^∂w^TXTXw^根据矩阵微分公式∂x∂xTa=∂x∂aTx=a,∂x∂xTAx=(A+AT)x可得:∂w^∂Ew^=−XTy−XTy+(XTX+XTX)w^=2XT(Xw^−y)
此时一阶导求毕
∇ 2 E w ^ = ∂ ∂ w ^ ( ∂ E w ^ ∂ w ^ ) = ∂ ∂ w ^ [ 2 X T ( X w ^ − y ) ] = ∂ ∂ w ^ ( 2 X T X w ^ − 2 X T y ) 根据矩阵微分公式 ∂ A x ∂ x = A T 可得 : ∇ 2 E w ^ = 2 X T X \begin{aligned}\\\nabla^{2} E_{\hat{\boldsymbol{w}}} & =\frac{\partial}{\partial \hat{\boldsymbol{w}}}\left(\frac{\partial E_{\hat{\boldsymbol{w}}}}{\partial \hat{\boldsymbol{w}}}\right) \\\\& =\frac{\partial}{\partial \hat{\boldsymbol{w}}}\left[2 \mathbf{X}^{\mathrm{T}}(\mathbf{X} \hat{\boldsymbol{w}}-\boldsymbol{y})\right] \\\\& =\frac{\partial}{\partial \hat{\boldsymbol{w}}}\left(2 \mathbf{X}^{\mathrm{T}} \mathbf{X} \hat{\boldsymbol{w}}-2 \mathbf{X}^{\mathrm{T}} \boldsymbol{y}\right)\\\end{aligned}\\\\根据矩阵微分公式 \frac{\partial \mathbf{A} \boldsymbol{x}}{\partial\boldsymbol{x}}=\mathbf{A}^{\mathrm{T}} 可得:\\\\\nabla^{2} E_{\hat{\boldsymbol{w}}}=2 \mathbf{X}^{\mathrm{T}} \mathbf{X}\\\\ ∇2Ew^=∂w^∂(∂w^∂Ew^)=∂w^∂[2XT(Xw^−y)]=∂w^∂(2XTXw^−2XTy)根据矩阵微分公式∂x∂Ax=AT可得:∇2Ew^=2XTX
这个海塞矩阵不一定是正定的
同西瓜书, 假定 X T X \mathbf{X}^{\mathrm{T}} \mathbf{X} XTX 为正定矩阵, 因此 E w ^ E_{\hat{\boldsymbol{w}}} Ew^ 是关于 w ^ \hat{\boldsymbol{w}} w^ 的凸函数得证。
令一阶导为0
∂ E w ^ ∂ w ^ = 2 X T ( X w ^ − y ) = 0 2 X T X w ^ − 2 X T y = 0 2 X T X w ^ = 2 X T y w ^ = ( X T X ) − 1 X T y \frac{\partial E_{\hat{\boldsymbol{w}}}}{\partial \hat{\boldsymbol{w}}}=2 \mathbf{X}^{\mathrm{T}}(\mathbf{X} \hat{\boldsymbol{w}}-\boldsymbol{y})=0\\2 \mathbf{X}^{\mathrm{T}} \mathbf{X} \hat{\boldsymbol{w}}-2 \mathbf{X}^{\mathrm{T}} \boldsymbol{y}=0\\2 \mathbf{X}^{\mathrm{T}} \mathbf{X} \hat{\boldsymbol{w}}=2 \mathbf{X}^{\mathrm{T}} \boldsymbol{y}\\\hat{\boldsymbol{w}}=\left(\mathbf{X}^{\mathrm{T}} \mathbf{X}\right)^{-1} \mathbf{X}^{\mathrm{T}} \boldsymbol{y} ∂w^∂Ew^=2XT(Xw^−y)=02XTXw^−2XTy=02XTXw^=2XTyw^=(XTX)−1XTy
所以更一般的来说,还有更多的变化。
用线性模型,它经过某个操作g来逼近y。刚才 ln y 是把 g 把它放到y左边
现在我们放到右边(假设g可逆),那就是 g 的逆函数
g叫做联系函数,这是把我们线性回归产生的结果和真正要的结果两者联系起来。
各种各样的g就可以得到各种各样的线性回归的模型的一个广义变化。