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