上节中,咱们讲了正规方程。在这节中,咱们将学习正规方程以及不可逆性。本节的概念较为深刻,因此能够将它看做是选学材料。算法
咱们要讨论的问题以下:机器学习
当咱们计算θ=(XTX)-1XTy的时候,万一矩阵XTX是不可逆的话怎么办?函数
若是懂一点线性代数的知识,咱们就会知道有些矩阵可逆,而有些矩阵不可逆。咱们称不可逆的矩阵称为奇异或退化矩阵。其实XTX不可逆的状况不多发生,在Octave里,若是你用pinv(X' *X) *X' *y来计算θ,事实上咱们会获得正解。在Octave里有两个函数能够求解矩阵的逆,一个被称为pinv,另外一个被称为inv。可是只要你使用pinv函数,它就能计算出你想要的θ值(即便矩阵XTX不可逆)。学习
矩阵XTX不可逆一般有两种最多见的缘由。spa
[增长内容]θ=(XTX)-1XTy的推导过程blog
J(θ)=(1/2m)Σ(hθ(xi)-yi)2 (i从1一直加到m)配置
其中,hθ(x)=θT=θ0x0+θ1x1+θ2x2+……+θ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是奇异矩阵或者是不可逆的,咱们能够作的是: