官术网_书友最值得收藏!

2.5.1 線性回歸的基本概念

線性回歸是機(jī)器學(xué)習(xí)中最簡(jiǎn)單也是最重要的模型之一,其模型建立同樣遵循圖2-10所示的流程:獲取數(shù)據(jù)、數(shù)據(jù)預(yù)處理、訓(xùn)練模型、應(yīng)用模型。回歸模型可以理解為存在一個(gè)點(diǎn)集,用一條曲線去擬合它分布的過(guò)程。如果擬合曲線是一條直線,則稱為線性回歸;如果是一條二次曲線,則稱為二次回歸。線性回歸是最簡(jiǎn)單的一種回歸模型。

線性回歸中有幾個(gè)基本的概念需要掌握:假設(shè)函數(shù)(Hypothesis Function)、損失函數(shù)(Loss Function)和優(yōu)化算法(Optimization Algorithm)。

假設(shè)函數(shù)是指用數(shù)學(xué)的方法描述自變量和因變量之間的關(guān)系,它們之間可以是一個(gè)線性函數(shù)或非線性函數(shù)。

損失函數(shù)是指用數(shù)學(xué)的方法衡量假設(shè)函數(shù)預(yù)測(cè)結(jié)果與真實(shí)值之間的誤差。這個(gè)差距越小預(yù)測(cè)越準(zhǔn)確,而算法的任務(wù)就是使這個(gè)差距越來(lái)越小。對(duì)于某個(gè)具體樣本(x(i),y(i)),算法通過(guò)不斷調(diào)整參數(shù)值ω和b,最終使得預(yù)測(cè)值和真實(shí)值盡可能相似,即(i)≈y(i)。整個(gè)訓(xùn)練的過(guò)程可以表述為通過(guò)調(diào)整參數(shù)值ω和b最小化損失函數(shù)。因此,損失函數(shù)也是衡量算法優(yōu)良性的方法。這里涉及兩個(gè)值:預(yù)測(cè)值和真實(shí)值。預(yù)測(cè)值是算法給出的值(用來(lái)表示概率)。而真實(shí)值是訓(xùn)練集中預(yù)先包含的,是事先準(zhǔn)備好的。形式上,可以表示為:

其中,x(i)表示屬于第i個(gè)樣本的特征向量,y(i)表示屬于第i個(gè)樣本的分類標(biāo)簽,也就是真實(shí)值。損失函數(shù)的選擇需要根據(jù)具體問(wèn)題具體分析,在不同問(wèn)題場(chǎng)景下采用不同的函數(shù)。通常情況下,會(huì)將損失函數(shù)定義為平方損失函數(shù)(Quadratic Loss Function)。在本次線性回歸中,使用的是均方差(Mean Squared Error)來(lái)衡量,當(dāng)然還有許多其他方法,如神經(jīng)網(wǎng)絡(luò)模型中可以使用交叉熵作為損失函數(shù),在后面的章節(jié)會(huì)一一提到。

在模型訓(xùn)練中優(yōu)化算法也是至關(guān)重要的,它決定了一個(gè)模型的精度和運(yùn)算速度。本章的線性回歸實(shí)例主要使用了梯度下降法進(jìn)行優(yōu)化。梯度下降是深度學(xué)習(xí)中非常重要的概念,值得慶幸的是它也十分容易理解。損失函數(shù)J(w,b)可以理解為變量w和b的函數(shù)。觀察圖2-11,垂直軸表示損失函數(shù)的值,兩個(gè)水平軸分別表示變量w和b。實(shí)際上,w可能是更高維的向量,但是為了方便說(shuō)明,在這里假設(shè)w和b都是一個(gè)實(shí)數(shù)。算法的最終目標(biāo)是找到損失函數(shù)J(w,b)的最小值。而這個(gè)尋找過(guò)程就是不斷地微調(diào)變量w和b的值,一步一步地試出這個(gè)最小值。試的方法就是沿著梯度方向逐步移動(dòng)。本例中讓圖中的圓點(diǎn)表示J(w,b)的某個(gè)值,那么梯度下降就是讓圓點(diǎn)沿著曲面下降,直到J(w,b)取到最小值或逼近最小值。

應(yīng)用梯度下降算法,首先需要初始化參數(shù)w和b。一般情況下,深度學(xué)習(xí)模型中的w和b應(yīng)該初始化為一個(gè)很小的數(shù),逼近0但是非0。因?yàn)镴(w,b)是凸函數(shù),所以無(wú)論在曲面上初始化為哪一點(diǎn),最終都會(huì)收斂到同一點(diǎn)或者相近的點(diǎn)。

圖2-11 梯度下降示意圖

一旦初始化w和b之后,就可以開(kāi)始迭代過(guò)程了。所謂的迭代過(guò)程就是從初始點(diǎn)沿著曲面朝著下降最快的方向一步一步地移動(dòng),經(jīng)過(guò)多次迭代,最終收斂到全局最優(yōu)解或者接近全局最優(yōu)解。

為了簡(jiǎn)化說(shuō)明,將參數(shù)b暫時(shí)去掉,只考慮參數(shù)w,這時(shí)損失函數(shù)變?yōu)镴(w)。整個(gè)梯度下降過(guò)程可以表示為重復(fù)以下步驟:

即重復(fù)對(duì)參數(shù)w進(jìn)行更新操作,其中,表示學(xué)習(xí)率。學(xué)習(xí)率也是深度學(xué)習(xí)中的一個(gè)重要概念。學(xué)習(xí)率可以理解為每次迭代時(shí)圓點(diǎn)移動(dòng)的步長(zhǎng),它決定了梯度下降的速率和穩(wěn)定性。需要注意的是,在編碼的過(guò)程中,為了方便書寫和實(shí)現(xiàn)代碼時(shí)更標(biāo)準(zhǔn)地命名變量,通常使用dw來(lái)表示,其意義不變。這樣式(2-2)就可以表示為:

通過(guò)不斷對(duì)參數(shù)w進(jìn)行迭代更新,最終得到全局最優(yōu)解或接近全局最優(yōu)解,使得損失函數(shù)J(w,b)取得最小值。本章學(xué)習(xí)過(guò)線性回歸中的梯度下降后,第3章中將討論在Logistic回歸中如何使用梯度下降算法。

主站蜘蛛池模板: 共和县| 广东省| 余江县| 英山县| 罗甸县| 绥化市| 铜梁县| 福贡县| 巴林右旗| 工布江达县| 荔波县| 沭阳县| 澄江县| 武宁县| 海林市| 高清| 江陵县| 蓬溪县| 方城县| 天全县| 新营市| 石城县| 昂仁县| 宾阳县| 定南县| 西畴县| 托里县| 勃利县| 阜新| 武乡县| 南充市| 灵石县| 通海县| 宁波市| 虹口区| 南昌市| 卢湾区| 古蔺县| 江口县| 阜新| 剑阁县|