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