在多元线性回归部分,西瓜书的省略实在是太多了,有时候会让读者很无奈。这篇博客便针对这些问题进行详细的解答,希望对大家理解西瓜书有帮助。
在多元线性回归这一章节中,或许是囿于篇幅,西瓜书中(1)没有解释清楚wwbb怎么组合成w^\hat{w}的(注:此处的www^\hat{w}都是向量,因为这是多元线性回归了)(2)没有解释损失函数Ew^E_{\hat{w}}怎么来的。(3)没有解释为什么Ew^w^=0\frac{\partial E_{\hat{w}}}{\partial{\hat{w}}}=0时,就有最小值。

1、ww向量和bb组合成w^\hat{w}向量

对于多元的情况,我们可以的到一个回归公式,
f(xi)=wTxi+bf(x_i)=w^Tx_i+b,因为wwxx都是列向量,所以我们可以将其展开,得到如下的式子。f(xi)=w1xi1+w2xi2++wdxid+bf(x_i)=w_1x_{i1}+w_2x_{i2}+\cdots+w_dx_{id}+b i代表第几个样本,d代表样本的维度。
b=wd+11b=w_{d+1} \cdot1,所以f(xi)f(x_i)又可以变成如下的式子:
f(xi^)=(w1w2wdwd+1)w^T(xi1xi2xid1)xi^=w^Txi^ f(\hat{x_i})=\underbrace{ \begin{pmatrix}w_1&w_2\cdots&w_d&w_{d+1}\end{pmatrix}}_{\rm \hat{w}^T} \underbrace{ \begin{pmatrix} x_{i1}\\x_{i2}\\\vdots \\ x_{id}\\1\\ \end{pmatrix}} _{\rm \hat{x_i}}=\hat{w}^T\cdot \hat{x_i}
所以我们这样就表示出了w^\hat{w}x^\hat{x}

2、损失函数Ew^E_{\hat{w}}的“前世今生”

损失函数Ew^=i=1m(yif(xi^))2=i=1m(yiw^Txi^)2E_{\hat{w}}=\sum_{i=1}^{m}(y_i-f(\hat{x_i}))^2=\sum_{i=1}^{m}(y_i-\hat{w}^T\hat{x_i})^2但这和西瓜书上的损失函数表达式不同,所以还应该进行恒等变形。所以我们现在求得的就是损失函数的“前世”了。由上一篇博客可知,一个求和符号就代表了两个向量相乘。所以我们接下来进行向量化。

2.1、向量化

首先我们先来定义一个矩阵X和向量yy:
X=(x11x12x13x1d1x21x22x23x2d1xm1xm2xm3xmd1)=(x1T1x2T1xmT1)=(x1^Tx2^Txm^T)X= \begin{pmatrix} x_{11} & x_{12} & x_{13} & \cdots & x_{1d} & 1 \\ x_{21} & x_{22} & x_{23} & \cdots & x_{2d}&1 \\ \vdots & \vdots & \vdots & \ddots & \vdots & \vdots \\ x_{m1} & x_{m2} & x_{m3} & \cdots & x_{md} &1 \\\\ \end{pmatrix} = \begin{pmatrix} x_1^T&1\\ x_2^T&1\\ \vdots\\ x_m^T&1\\ \end{pmatrix} = \begin{pmatrix} \hat{x_1}^T\\ \hat{x_2}^T\\ \vdots\\ \hat{x_m}^T\\ \end{pmatrix}
y=(y1y2y3ym)y=\begin{pmatrix} y_1\\y_2\\y_3\\\vdots\\y_m \end{pmatrix}
准备工作结束了,我们先将Ew^E_{\hat{w}}的求和项展开成矩阵相乘的形式。

Ew^=(y1w^Tx1^)2+(y2w^Tx2^)2++(ymw^Txm^)2E_{\hat{w}}=(y_1-\hat{w}^T\hat{x_1})^2+(y_2-\hat{w}^T\hat{x_2})^2+\cdots+(y_m-\hat{w}^T\hat{x_m})^2
Ew^=[(y1w^Tx1^)(y1w^Tx1^)(ymw^Txm^)][(y1w^Tx1^)(y2w^Tx2^)(ymw^Txm^)]E_{\hat{w}}= \begin{bmatrix} (y_1-\hat{w}^T\hat{x_1})&(y_1-\hat{w}^T\hat{x_1})\cdots(y_m-\hat{w}^T\hat{x_m}) \end{bmatrix} \begin{bmatrix} (y_1-\hat{w}^T\hat{x_1})\\ (y_2-\hat{w}^T\hat{x_2})\\ \vdots\\ (y_m-\hat{w}^T\hat{x_m}) \end{bmatrix}
再对里面的小项进行恒等变形,
[(y1w^Tx1^)(y2w^Tx2^)(ymw^Txm^)]=[y1y2y3ym][w^Tx1^w^Tx2^w^Txm^]=y[w^Tx1^w^Tx2^w^Txm^] \begin{bmatrix} (y_1-\hat{w}^T\hat{x_1})\\ (y_2-\hat{w}^T\hat{x_2})\\ \vdots\\ (y_m-\hat{w}^T\hat{x_m}) \end{bmatrix} =\begin{bmatrix} y_1\\y_2\\y_3\\\vdots\\y_m \end{bmatrix} - \begin{bmatrix} \hat{w}^T\hat{x_1}\\ \hat{w}^T\hat{x_2}\\ \vdots\\ \hat{w}^T\hat{x_m} \end{bmatrix} =y- \begin{bmatrix} \hat{w}^T\hat{x_1}\\ \hat{w}^T\hat{x_2}\\ \vdots\\ \hat{w}^T\hat{x_m} \end{bmatrix}
发现w^Txi^\hat{w}^T\hat{x_i}是一个标量而非向量,根据矩阵转置的法则,标量转置还是等于原先的标量。所以我们就把w^Txi^\hat{w}^T\hat{x_i}转置成xi^Tw^\hat{x_i}^T\hat{w}再进行恒等变形。
[w^Tx1^w^Tx2^w^Txm^]=[x1^Tw^x2^Tw^xm^Tw^]=[x1^Tx2^Txm^T]w^=Xw^ \begin{bmatrix} \hat{w}^T\hat{x_1}\\ \hat{w}^T\hat{x_2}\\ \vdots\\ \hat{w}^T\hat{x_m} \end{bmatrix} =\begin{bmatrix} \hat{x_1}^T\hat{w}\\ \hat{x_2}^T\hat{w}\\ \vdots\\ \hat{x_m}^T\hat{w} \end{bmatrix} =\begin{bmatrix} \hat{x_1}^T\\ \hat{x_2}^T\\ \vdots\\ \hat{x_m}^T \end{bmatrix} \hat{w} =X\cdot \hat{w}
所以损失函数Ew^E_{\hat{w}}的“今生”就得到了,
Ew^=(yXw^)T(yXw^)E_{\hat{w}}=(y-X\hat{w})^T(y-X\hat{w})

3、证明损失函数为凸函数

证明多元函数为凸函数的方法与证明一元函数(详情请见一元线性回归(一))有所不同,又有点相似之处。
最大的不同之处就是一元函数求偏导,是对标量求偏导;而多元则是对向量求偏导,所以这里要补充一些概念(只是图有点多而已概念不难只需了解就好)。西瓜书——多元线性回归西瓜书——多元线性回归西瓜书——多元线性回归西瓜书——多元线性回归西瓜书——多元线性回归西瓜书——多元线性回归
下面的这个公式将用来恒等变形(公式里的x,a,Bx,a,B都是矩阵或者向量)西瓜书——多元线性回归
现在可以开始着手证明Ew^E_{\hat{w}}是个凸函数了。
Ew^w^=(yXw^)T(yXw^)w^\frac{\partial{E_{\hat{w}}}} {\partial{\hat{w}}}=\frac{\partial{(y-X\hat{w})^T(y-X\hat{w})}}{\partial{\hat{w}}}
恒等变形,得
Ew^w^=(yTXw^w^TXTy+w^TXTXw^)w^\frac{\partial{E_{\hat{w}}}} {\partial{\hat{w}}}=\frac{\partial{( -y^TX\hat{w}-\hat{w}^TX^Ty+\hat{w}^TX^TX\hat{w} ) }}{\partial{\hat{w}}}
再用上面给出的公式对每一项进行化简,最后得,
Ew^w^=2XT(Xw^y)\frac{\partial{E_{\hat{w}}}} {\partial{\hat{w}}}=2X^T(X\hat{w}-y)
一阶导数已经求出来了,但是根据多元函数凹凸性的定理,我们需要求出二阶导数,所以继续求偏导。
(Ew^w^)w^=[2XT(Xw^y)]w^=(2XTXw^)w^ \frac{\partial( \frac{\partial{E_{\hat{w}}}} {\partial{\hat{w}}} )}{\partial\hat{w}}=\frac{\partial{[2X^T(X\hat{w}-y)]}} {\partial{\hat{w}}}=\frac{\partial{(2X^TX\hat{w})}} {\partial{\hat{w}}}
再次利用公式,所以
(Ew^w^)w^=2XTX(Hession矩阵)\frac{\partial( \frac{\partial{E_{\hat{w}}}} {\partial{\hat{w}}} )}{\partial\hat{w}}= 2X^TX \tag{Hession矩阵}
根据多元函数凹凸性判定定理,Hession矩阵需要是正定矩阵,这样才能证明是凸函数,事实上Hession矩阵不一定是正定矩阵,因为XX代表的是我们的样本数据,如果没有经过处理的话,是很难符合条件的。所以西瓜书为了简便起见,直接假设Hession矩阵是正定的。
我们同样也假设Hession矩阵是正定的,那么根据判定定理,损失函数应该为凸函数。
再由凸充分性定理可知当一阶导数=0时,w^\hat{w}为全局解。
Ew^w^=2XT(Xw^y)=0\frac{\partial{E_{\hat{w}}}}{\partial{\hat{w}}} =2X^T(X\hat{w}-y)=0
XTXw^=XTy X^TX\hat{w}=X^Ty
w^=(XTX)1XTy\hat{w}=(X^TX)^{-1}X^Ty
花了一下午写这篇博客,深感疲惫,得抱着我的吉他弹弹“5323”了

                                                               西瓜书——多元线性回归

相关文章:

  • 2021-08-23
  • 2022-12-23
  • 2021-11-30
猜你喜欢
  • 2021-04-01
  • 2021-06-06
  • 2021-12-08
  • 2022-12-23
  • 2021-05-17
  • 2021-05-15
  • 2021-07-25
相关资源
相似解决方案