Coursera机器学习基石笔记week9

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_35564813/article/details/83927446

Linear Regression

线性回归的预测函数取值在整个实数空间,这跟线性分类不同。 h ( x ) = w T X h(x)=w^TX

在一维或者多维空间里,线性回归的目标是找到一条直线(对应一维)、一个平面(对应二维)或者更高维的超平面,使样本集中的点更接近它,也就是残留误差Residuals最小化。如下图所示:
在这里插入图片描述
一般最常用的错误测量方式是基于最小二乘法(这里是线性的),其目标是计算误差的最小平方和对应的权重w,即上节课介绍的squared error:
在这里插入图片描述

Linear Regression Algorithm

首先,运用矩阵转换的思想,将EinEin计算转换为矩阵的形式。
在这里插入图片描述
对于此类线性回归问题, E i n ( w ) E_{in}(w) 一般是个凸函数。凸函数的话,我们只要找到一阶导数等于零的位置,就找到了最优解。那么,我们将 E w E_w 对每个 w i w_i ,i=0,1,⋯,d求偏导,偏导为零的 w i w_i ,即为最优化的权重值分布。
在这里插入图片描述
那么如何求导呢?
在这里插入图片描述
让倒数为0,即可计算出w:
在这里插入图片描述
对于可逆的矩阵 X T X X^TX 来说,我们就可以使用上述伪逆矩阵进行计算了,但是针对于奇异(不可逆)矩阵来说,逆矩阵 ( X T X ) 1 (X^TX)^{-1} 就不一定存在了。但是一般来说,如果样本数量N远大于样本维度d+1的话,是能保证矩阵的逆是存在的。如果不可逆,大部分计算软件也可以处理这个问题,计算出一个逆矩阵。所以,一般的伪逆矩阵都是可解的。

Generalization Issue

在这里插入图片描述
有两种观点:1、这不属于机器学习范畴。因为这种closed-form解的形式跟一般的机器学习算法不一样,而且在计算最小化误差的过程中没有用到迭代。2、这属于机器学习范畴。因为从结果上看,EinEin和EoutEout都实现了最小化,而且实际上在计算逆矩阵的过程中,也用到了迭代。
在这里插入图片描述
那么 E i n ( w L I N ) = 1 N ( I X X + ) y 2 = 1 N ( I H ) y 2 E_in(w_{LIN})=\frac{1}{N}||(I-XX^+)y||^2=\frac{1}{N}||(I-H)y||^2
在这里插入图片描述

  • 粉色区域是X分别乘以不同的w来生成一个新的空间,那么我们ŷ也是由w乘以X产生的,因此ŷ要在这个空间内。

  • 我们要做的就是让y与ŷ最小,也就是垂直于这个空间的时候。

  • H就是把y映射为ŷ,Hy=ŷ

  • I-H就是通过(I−H)y=y−ŷ,使y转换为y−ŷ

接下来,先探究一下H的性质:

H a t   M a t r i x   H = X ( X T X ) 1 X T Hat \ Matrix\ H=X(X^TX)^{-1}X^T

  • 对称性(symetric),即H= H T H^T :

    H T = ( X ( X T X ) 1 X T ) T H^T=(X(X^TX)^{-1}X^T)^T

    = X ( ( X T X ) 1 ) T X T =X((X^TX)^{-1})^TX^T

    = X ( X T X ) 1 X T =X(X^TX)^{-1}X^T

    = H =H

  • 幂等性(idempotent),即 H 2 = H H^2=H

    H 2 = ( X ( X T X ) 1 X T ) ( X ( X T X ) 1 X T ) H^2=(X(X^TX)^{-1}X^T)(X(X^TX)^{-1}X^T)

    = X ( X T X ) 1 ( X T X ) ( X T X ) 1 X T =X(X^TX)^{-1}(X^TX)(X^TX)^{-1}X^T

    = X ( X T X ) 1 X T =X(X^TX)^{-1}X^T

    = H =H

首先复习一下迹运算。

  • 如果A是m * n,B是n * m的话,那么trace(AB)=trace(BA)

  • 多个矩阵相乘得到的方阵的迹,和将这些矩阵中的最后一个挪到最前面之后相乘的迹是相同的。当然,我们需要考虑挪动之后矩阵乘积依然定义良好:

    ​ Tr(ABC)=Tr(CAB)=Tr(BCA)

  • 如果C和D都是m * m的,那么trace(C+D)=trace©+trace(D)

  • 如果 α \alpha 是一个标量的话,那么 t r a c e ( α C ) = α t r a c e ( C ) trace(\alpha C)=\alpha trace(C) , t r a c e ( α ) = α trace(\alpha)=\alpha

  • 在这里插入图片描述

这里给出trace(I-H)=N-(d+1),那么为什么呢?一个矩阵的trace(迹)等于其对角元素的和。

t r a c e ( I H ) = t r a c e ( I ) t r a c e ( H ) trace(I-H)=trace(I)-trace(H)

= N t r a c e ( X X + ) = N t r a c e ( X ( X T X ) 1 X T ) =N-trace(XX^+)=N-trace(X(X^TX)^{-1}X^T)

= N t r a c e ( ( X T X ) ( X T X ) 1 ) =N-trace((X^TX)(X^TX)^{-1})

= N I d + 1 =N-I_{d+1}

= N ( d + 1 ) =N-(d+1)

在这里插入图片描述

从上图可知,y=f(x)+noise。之前我们提到H作用于某个向量可以得倒在span上的投影,而I-H作用于某个向量,那么可以得到与span垂直的向量,也就是图里的y−ŷ ,那么也就是说

(I-H)noise=y−ŷ 。

这个y−ŷ 是真实值与预测值的差,其长度就是所有点的平方误差之和。于是可以知道:

要得到结论,我们需要先了解一下相关概念:

由上述可知,H是对称的,又因为I是对称的,那么 I H = ( I H ) T I-H=(I-H)^T

H是幂等的,那么 H 2 = H H^2=H ( I H ) 2 = I 2 2 H I + H 2 = I 2 H + H = I H (I-H)^2=I^2-2H*I+H^2=I-2H+H=I-H

E i n ( W L I N ) = 1 N y y ^ 2 E_{in}(W_{LIN})=\frac{1}{N}||y−ŷ ||^2

= 1 N ( I H ) n o i s e 2 =\frac{1}{N}||(I-H)noise||^2

= 1 N t r a c e ( ( I H ) T ( I H ) n o i s e n o i s e T ) =\frac{1}{N}trace((I-H)^T(I-H)noise*noise^T)

= 1 N t r a c e ( ( I H ) 2 n o i s e n o i s e T ) =\frac{1}{N}trace((I-H)^2noise*noise^T )

= 1 N t r a c e ( ( I H ) n o i s e n o i s e T ) =\frac{1}{N}trace((I-H)noise*noise^T )

1 N t r a c e ( I H ) n o i s e 2 \leq\frac{1}{N}trace(I-H)||noise||^2

1 N ( N ( d + 1 ) ) n o i s e 2 \leq\frac{1}{N}(N-(d+1))||noise||^2

那么可以知道: E ˉ i n \bar{E}_{in} = n o i s e   l e v e l ( 1 d + 1 N ) noise\ level * (1-\frac{d+1}{N})

那么直觉上可以得出,当在训练集往一些特定的noise偏过去的时候,那么在测试集中,对于其他训练集上没有的噪音就会使测试集的偏差往反方向生成。

E ˉ o u t \bar{E}_{out} = n o i s e   l e v e l ( 1 + d + 1 N ) noise\ level *(1+\frac{d+1}{N})
在这里插入图片描述

Linear Regression for Binary Classfication

在这里插入图片描述
从上图可以看出, e r r 0 / 1 e r r s q r err_{0/1}\leq err_{sqr}

那么根据之前vc bound的知识点,我们可以得出:
在这里插入图片描述
从图中可以看出,用 e r r s q r err_{sqr} 代替 e r r 0 / 1 err_{0/1} E o u t E_{out} 仍然有上界,只不过是上界变得宽松了。也就是说用线性回归方法仍然可以解决线性分类问题,效果不会太差。二元分类问题得到了一个更宽松的上界,但是也是一种更有效率的求解方式。

总结

本节课,我们主要介绍了Linear Regression。首先,我们从问题出发,想要找到一条直线拟合实际数据值;然后,我们利用最小二乘法,用解析形式推导了权重w的closed-form解;接着,用图形的形式得到 E o u t E i n 2 ( N + 1 ) N E_{out}−E_{in}≈\frac{2(N+1)}{N} ,证明了linear regression是可以进行机器学习的;最后,我们证明linear regressin这种方法可以用在binary classification上,虽然上界变宽松了,但是仍然能得到不错的学习方法。

猜你喜欢

转载自blog.csdn.net/qq_35564813/article/details/83927446