線性回歸演算法的核心在於**結果為連續型變數,可以從代數和矩陣兩種角度理解線性回歸。這裡給大家分享的是矩陣角度的線性回歸。
線性回歸是機器學習中最簡單的回歸演算法,多元線性回歸指的就是乙個樣本有多個特徵的線性回歸問題,所以多元其實指的是多個特徵。對於乙個有 n個特徵的樣本 i而言,它的回歸結果可以寫作乙個幾乎人人熟悉的方程:
我們可以使用矩陣來表示這個方程,其中 可以被看做是乙個結構為(n+1,1)的列矩陣, 是乙個結構為(m,n+1)的特徵矩陣,則有:
線性回歸的任務,就是構造乙個**函式來對映輸出的特徵矩陣 x和標籤值y 的線性關係.這個**函式的本質就是我們需要構建的模型。
對於線性回歸,**函式 y=xw就是我們的模型,其中只有 w是未知的,所以線性回歸原理的核心就是找出模型的引數向量 。但我們怎樣才能夠求解出引數向量呢?我們需要依賴乙個重要概念:損失函式。
我們認為這個損失函式衡量了我們構造的模型的**結果和真實標籤的差異,因此我們固然希望我們的**結果和真實值差異越小越好。所以我們的求解目標就可以轉化成–損失函式的公式:
如果用矩陣來寫,可以表達成:
這樣的矩陣可以轉變成l2正規化的形式。我們往往稱呼這個損失函式為sse(sum of squared error,誤差平方和)或者rss(residual sum of squares 殘差平方和)。
求解讓rss最小化的引數向量 w,這種通過最小化真實值和**值之間的rss來求解引數的解法叫做最小二乘法。求解極值的第一步往往是求解一階導數並讓一階導數等於0,最小二乘法也不能免俗。因此,我們現在殘差平方和rss上對引數向量w 求導。這裡的過程涉及到少數矩陣求導的內容,需要查表來確定,感興趣可以去維基百科去檢視矩陣求導的詳細公式的**:
最終結果如下:
注意:在這裡,逆矩陣存在的充分必要條件是特徵矩陣不存在多重共線性。假設矩陣的逆是存在的,此時我們的w 就是我們引數的最優解.
使用最小二乘法來求解線性回歸的方法是一種」無偏估計「的方法,這種方偏估計要求因變數,也就是標籤的分布必須服從正態分佈。這是說,我們的y必須經由正太化處理(比如說取對數,或者使用quantiletransformer或者powertransformer這些功能)。
逆矩陣存在的充分必要條件是特徵矩陣不存在多重共線性。
逆矩陣存在的充分必要條件是:矩陣的行列式不能為0
矩陣滿秩(即轉換為梯形矩陣後對⻆線上沒有0)是矩陣的行列式不為0的充分必要條件。
嶺回歸解決多重共線性的問題
核心是正則化係數α,損失函式公式:
我們依然使用最小二乘法求解w係數:
我們這裡加了乙個n*n的單位矩陣i,只要 存在逆矩陣,我們就可以求解出 。乙個矩陣存在逆矩陣的充分必要條件是這個矩陣的行列式不為0。
正則化係數 α就非常爽快地避免了」精確相關關係「帶來的影響。當 α越大,模型越不容易受到共線性的影響。
lasso
不過lasso使用的是係數 的l1正規化(l1正規化則是係數 的絕對值)乘以正則化係數 ,所以lasso的損失函式表示式為:
當我們使用最小二乘法來求解lasso中的引數 ,我們依然對損失函式進行求導,最終結果為:
lasso不是從根本上解決多重共線性問題,而是限制多重共線性帶來的影響。
lasso的核心是特徵選擇,無法解決精度相關問題,可以解決高度相關問題。
線性回歸在sklearn中的實現**:線性回歸%26嶺回歸%26lasso.html
機器學習 線性回歸
可以說基本上是機器學習中最簡單的模型了,但是實際上其地位很重要 計算簡單 效果不錯,在很多其他演算法中也可以看到用lr作為一部分 先來看乙個小例子,給乙個 線性回歸是什麼 的概念。圖來自 2 假設有乙個房屋銷售的資料如下 面積 m 2 銷售價錢 萬元 123 250 150 320 87 160 1...
機器學習(線性回歸)
在機器學習中,回歸 分類和標註共同構成了監督學習技術。監督學習 supervised learning 是機器學習在工業界應用最廣的乙個領域分支。在學術界中也是研究最多的領域之一。大家都知道的資料探勘十大經典演算法中,監督學習技術佔據6席。方法 自變數 特徵 因變數 結果 關係 回歸演算法是試圖採用...
機器學習 線性回歸
line fitter linearregression 建立模型 line fitter.fit temperature,sales 傳入引數 sales predict line fitter.predict temperature 模型 直線 直線上會有loss 計算loss時 要使用平方距離...