機器學習中的線性回歸是一種來源于經典統計學的有監(jiān)督學習技術。然而,隨著機器學習和深度學習的迅速興起,因為線性(多層感知器)層的神經網絡執(zhí)行回歸,線性回歸的使用也日益激增。
這種回歸通常是線性的,但是當把非線性激活函數合并到這些網絡中時,它們就可以執(zhí)行非線性回歸。
非線性回歸使用某種形式的非線性函數(例如多項式或指數)對輸入和輸出之間的關系進行建模。非線性回歸可以用來模擬科學和經濟學中常見的關系,例如,放射性分子的指數衰減或股票市場的走勢與全球經濟的整體走勢一致。
線性回歸如何工作?
從神經網絡的觀點來看,我們可以將線性回歸模型指定為一個簡單的數學關系。簡單來說,線性回歸是在輸入變量和輸出變量之間建立一個線性依賴關系模型。根據所處的工作環(huán)境,這些輸入和輸出使用不同的術語來引用。
最常見的是一個包含k個示例的訓練數據集,每個示例都有n個輸入分量稱為回歸變量、協變量或外生變量。輸出向量y稱為響應變量、輸出變量或因變量。在多元線性回歸中,可以有多個這樣的輸出變量。模型的參數被稱為回歸系數,或者在深度學習環(huán)境中稱為權重。對于單個訓練示例,該模型具有以下形式:
我們還可以通過將訓練數據壓縮到矩陣中:
以此將權重壓縮到矢量中來簡化這種表示法。權重構成了模型的核心。它們對輸入和輸出之間的線性關系進行編碼,從而更加重視重要的數據特征,并降低不重要的數據特征的權重。注意,我們向X值為1的每一行添加了一個“隱藏組件”。這讓我們能夠計算w的點積,其偏置項為 。偏置項允許模型將其計算的線性超平面移開原點,從而允許模型對非零中心數據中的關系進行建模。簡化后的模型可以表示為。
這是大多數線性回歸實現的基礎模型。然而,在此基本結構上可以存在許多變體,每種變體都有其自身的缺點和益處。例如,有一個線性回歸版本稱為貝葉斯線性回歸,它通過在模型的權重上放置先驗分布來引入一個貝葉斯觀點。這樣可以更容易地推斷模型正在做什么,隨后使其結果更具有解釋性。
訓練線性回歸模型
那么我們如何訓練線性回歸模型呢?這個過程類似于大多數機器學習模型所使用的過程。假設我們有一套訓練集,任務是在不影響模型對新示例預測能力的情況下,盡可能緊密地對這種關系進行建模。為此,我們定義一個損失或目標函數
輸入真實輸出y和預測輸出,并測量了給定x時模型在預測y時的“好壞程度”。我們使用下標w來表示J的輸出取決于模型的權重w,并通過預測y對其進行參數化,即使這些權重值未明確顯示在函數的計算中。線性回歸通常使用均方誤差(MSE)損失函數,定義為:
。
然后,我們可以使用多種技術之一來優(yōu)化此損失函數。我們可以使用例如梯度下降法,它是訓練神經網絡的實際標準,但是對于線性回歸來說不是必要的。因為我們其實可以直接解決優(yōu)化問題,以便找到權重的最佳值w*。
由于我們想要針對w優(yōu)化此設置,對w取梯度,將結果設置為0,然后求解w的最優(yōu)設置w*。我們有
現在我們將梯度設置為0并求解w
這是w的最優(yōu)設置,將為模型提供最佳結果。你可以看到,它僅使用X和y的乘積來計算。然而,它需要的矩陣求逆,當X非常大或條件不佳時,這在計算上會很困難。在這些情況下,你可以使用不精確的優(yōu)化方法如梯度下降法或不實際計算矩陣逆的近似技術。
正則化
線性回歸最常用的變形可能是那些涉及加法正則化的模型。正則化是指對絕對值較大的模型權重進行懲罰的過程。通常這是通過計算一些權重的范數作為附加在成本函數上的懲罰項來完成的。
正則化的目的通常是為了減輕過度擬合的可能性,過度擬合是模型過于緊密地復制其訓練數據中基礎關系的趨勢,無法將其很好地推廣到未知示例中。線性回歸模型的正則化有兩種基本類型:L1和L2。
采用L1正則化的回歸模型可以執(zhí)行Lasso回歸。L1規(guī)范定義為:
相反,L2正則化將權重向量w的L2范數作為懲罰項添加到目標函數中。 L2規(guī)范定義為:
采用L2正則化的回歸模型被稱為執(zhí)行Ridge回歸(嶺回歸)。
那么,這些正則化懲罰如何定性地影響模型的結果(輸出)的呢?結果表明,L2正則化產生的權重系數很小,但很分散。也就是說,它傾向于生成其中每個系數相對較小并且幅度相對相似的模型。
相比之下,L1正則化在懲罰系數的方式上更加具體。其中某些系數往往受到嚴重的懲罰,趨向于0的值,而有些則保持相對不變。L1正則化產生的權值通常被認為是稀疏的。
因此,也有人認為,L1正則化實際上執(zhí)行了一種軟特征選擇,即選擇對產生期望結果最重要的特征(數據中的分量)。通過將某些權重設為0,該模型表明這些變量實際上對其作用并沒有特別的幫助或解釋作用。
線性回歸的應用
線性回歸可以用在數據中任何可能存在線性關系的地方。對于企業(yè)來說,這可能會以銷售數據的形式出現。例如,一家企業(yè)可能向市場推出一種新產品,但不確定在什么價格銷售。
通過在幾個選定的價格點上以總銷售額的形式測試客戶的響應,企業(yè)可以使用線性回歸推斷價格和銷售額之間的關系,從而確定銷售產品的最佳點。
同樣,線性回歸可以應用在產品采購和生產線的許多階段。例如,一個農民可能想要模擬某些環(huán)境條件(例如降雨和濕度)的變化如何影響總體農作物產量。這可以幫助他確定一個優(yōu)化的系統,用于種植和輪作農作物,以實現利潤最大化。
最后,線性回歸是對數據中簡單關系建模的寶貴工具。 雖然它不像更現代的機器學習方法那么花哨或復雜,但它通常是許多存在直接關系的現實世界數據集的正確工具。更不用說,建立回歸模型的簡單性和對它們進行訓練的快速性,使其成為那些想要快速有效地進行建立模型的企業(yè)的首選工具。