1. 程式人生 > >矩陣法求解線性回歸

矩陣法求解線性回歸

技術 線性回歸 blog 數據量過大 並且 trace 計算 如果 多次

技術分享圖片

由於梯度下降算法需要多次叠代,並且需要指定下降速率,如果下降速度過快則可能錯過最優點,如果過慢則需要叠代多次,因此還可選用矩陣法求解。

首先給出一些基本數學知識:

矩陣的跡trace為矩陣主對角線元素之和:

  技術分享圖片

tr(a)=a ,如果a為實數

以下是關於矩陣跡的一些性質:

  技術分享圖片

對於多元線性回歸,將所有訓練數據作為一個矩陣,多元線性回歸,也就是多個自變量的線性方程,類似y=a1x1+a2x2+a3x3...:

技術分享圖片

將y值也作為一個矩陣:

技術分享圖片

則可得技術分享圖片

則誤差為:

技術分享圖片

轉變為平方後:

技術分享圖片

其中轉變為平方主要為了統一為正值,前面乘以1/2是方便求導後的計算。

對J(θ)求導,

技術分享圖片

其中用到上面的求跡公式,以及求導公式,

令上式為0,

技術分享圖片

則可求出最優的系數,矩陣方求解相對簡單,不需要多次叠代,但當數據量過大時,即設計矩陣X過大時,對矩陣的乘法即求逆有很大計算復雜度,因此此方法適用於小規模數據。另外,用矩陣法時不需要對輸入特征數據中心化。

矩陣法求解線性回歸