[斯坦福大学2014机器学习教程笔记]第四章-正规方程在矩阵不可逆状况下的解决方法(选学)

    上节中,咱们讲了正规方程。在这节中,咱们将学习正规方程以及不可逆性。本节的概念较为深刻,因此能够将它看做是选学材料。算法

    咱们要讨论的问题以下:机器学习

        当咱们计算θ=(XTX)-1XTy的时候,万一矩阵XTX是不可逆的话怎么办?函数

        若是懂一点线性代数的知识,咱们就会知道有些矩阵可逆,而有些矩阵不可逆。咱们称不可逆的矩阵称为奇异或退化矩阵。其实XTX不可逆的状况不多发生,在Octave里,若是你用pinv(X' *X) *X' *y来计算θ,事实上咱们会获得正解。在Octave里有两个函数能够求解矩阵的逆,一个被称为pinv,另外一个被称为inv。可是只要你使用pinv函数,它就能计算出你想要的θ值(即便矩阵XTX不可逆)。学习

    矩阵XTX不可逆一般有两种最多见的缘由。spa

  1. 第一个缘由是:若是因为某些缘由,你的学习问题包含了多余的特征。例如,在预测住房价格时,若是x1是以平方英尺为单位的房子面积,x2是以平方米为单位的房子面积。由于1米等于3.28英尺,因此这两个特征值将始终知足x1=(3.28)2*x2。若是你在线性代数上很是熟练,你会知道这两个特征是否是能够像这样用一个线性方程联系起来。若是这样的话,矩阵XTX是不可逆的。
  2. 第二个缘由是:你在运行的学习算法有不少特征值(m≤n)。例如,如今有10个训练样本(即m=10),但有100个调整数量(即n=100)。接着你要找到合适的n+1维参数向量θ,这意味着你要从10个训练样本中你要找到一个101维的参数向量,有时会成功,但这并非一个好主意。由于咱们以后将会看到要配置101个参数时,10个训练样本仍是有点少。稍后咱们将看到为何配置不少参数时,这些数据会太少了。可是,当咱们碰到m≤n这种状况的时候,咱们会看可否删除某些特征,或者使用一种叫作正则化的方法(在后面的课程将会讲到,在这个方法中,即便你有一个相对比较小的训练样本,它可让你使用不少的特征,配置不少参数)。

 [增长内容]θ=(XTX)-1XTy的推导过程blog

     J(θ)=(1/2m)Σ(hθ(xi)-yi)2  (i从1一直加到m)配置

    其中,hθ(x)=θT0x01x12x2+……+θnxn方法

    将向量表达形式转为矩阵表达形式,咱们有J(θ)=(1/2)(Xθ-y)2,其中X为m行n列的矩阵,θ为n行1列的矩阵。im

    下面对J(θ)进行以下变换:d3

          J(θ)=(1/2)(Xθ-y)T(Xθ-y)

                =(1/2)(XTθT-yT)(Xθ-y)

                =(1/2)(θTXTXθ-θTXTy-yTXθ-yTy)

    接下来对J(θ)求偏导,要用到dAB/dB=AT,dXTAX=2AX。

    因此有:对J(θ)求偏导 = (1/2)(2XTXθ-XTy-(yTX)T-0)

                                        = (1/2)(2XTXθ-XTy-yXT-0)

                                        = XTXθ-XTy

    令XTXθ-XTy=0,则有θ=(XTX)-1XTy。

或者吴恩达的斯坦福机器学习公开课cs229 第二节课后半段的推导过程以下:

 


 

总结:

    若是你发现矩阵XTX是奇异矩阵或者是不可逆的,咱们能够作的是:

  1. 看特征里是否有一些多余的特征。相似咱们在上面举的x1和x2,是线性相关的或者互为线性函数的。若是确实有一些多余的特征,咱们能够删除其中一个,无须两个特征都保留。删除至没有多余的特征为止。
  2. 若是没有多余的特征,就要检查是否是有过多的特征。若是特征数实在太多了,在少一些不影响的状况下,咱们能够删除一些特征或者考虑使用正规化方法
相关文章
相关标签/搜索