上節中,咱們講了正規方程。在這節中,咱們將學習正規方程以及不可逆性。本節的概念較爲深刻,因此能夠將它看做是選學材料。算法
咱們要討論的問題以下:機器學習
當咱們計算θ=(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是奇異矩陣或者是不可逆的,咱們能夠作的是: