Google機(jī)器學(xué)習(xí)速成課-01

這里主要涉及監(jiān)督式機(jī)器學(xué)習(xí),(監(jiān)督式)機(jī)器學(xué)習(xí)系統(tǒng)通過學(xué)習(xí)如何組合輸入信息來對(duì)從未見過的數(shù)據(jù)做出有用的預(yù)測(cè)。

一.機(jī)器學(xué)習(xí)主要術(shù)語

(1)特征與標(biāo)簽

特征是輸入變量,即簡單線性回歸中的 x 變量。在復(fù)雜的機(jī)器學(xué)習(xí)系統(tǒng)中,特征一般表示為向量的形式。如:X=x_{1} ,x_{2} ,x_{3} ,x_{4}

標(biāo)簽是我們要預(yù)測(cè)的事物,即簡單線性回歸中的 y 變量??梢允切←溛磥淼膬r(jià)格、圖片中顯示的動(dòng)物品種、音頻剪輯的含義或任何事物。

(2)樣本

樣本是指數(shù)據(jù)的特定實(shí)例,又分為有標(biāo)簽樣本無標(biāo)簽樣本。其中,有標(biāo)簽樣本同時(shí)包含特征和標(biāo)簽,用于訓(xùn)練模型。

(3)模型與訓(xùn)練

模型定義了特征與標(biāo)簽之間的關(guān)系。

訓(xùn)練是指創(chuàng)建或學(xué)習(xí)模型。也就是說,向模型展示有標(biāo)簽樣本,讓模型逐漸學(xué)習(xí)特征與標(biāo)簽之間的關(guān)系。

推斷是指將訓(xùn)練后的模型應(yīng)用于無標(biāo)簽樣本。也就是說,使用經(jīng)過訓(xùn)練的模型做出有用的預(yù)測(cè) (y')。

(4)回歸與分類

回歸模型可預(yù)測(cè)連續(xù)值;分類模型可預(yù)測(cè)離散值。

二、訓(xùn)練與損失

在監(jiān)督式學(xué)習(xí)中,通過檢查多個(gè)樣本并嘗試找出可最大限度地減少損失的模型。這一過程稱為經(jīng)驗(yàn)風(fēng)險(xiǎn)最小化

損失是對(duì)糟糕預(yù)測(cè)的懲罰。也就是說,損失是一個(gè)數(shù)值,表示對(duì)于單個(gè)樣本而言模型預(yù)測(cè)的準(zhǔn)確程度。

訓(xùn)練的目標(biāo)是從所有樣本中找到一組平均損失“較小”的權(quán)重和偏差(以線性模型為例)。

(1)平方損失(又稱為 L2損失)

L_{2}  = \sum_{(x,y)\in D} (y-prediction(x))^2

(2)均方誤差 (MSE), 即每個(gè)樣本的平均平方損失

MSE =\frac{1}{N} \sum_{(x,y)\in D} (y-prediction(x))^2

三、降低損失

(1)迭代法

迭代策略在機(jī)器學(xué)習(xí)中的應(yīng)用非常普遍,這主要是因?yàn)樗鼈兛梢院芎玫財(cái)U(kuò)展到大型數(shù)據(jù)集。

圖 3.1? 用于訓(xùn)練模型的迭代方法

“模型”部分將一個(gè)或多個(gè)特征作為輸入,然后返回一個(gè)預(yù)測(cè) (y') 作為輸出?!坝?jì)算損失”部分是模型將要使用的損失函數(shù)。在“計(jì)算參數(shù)更新”部分,機(jī)器學(xué)習(xí)系統(tǒng)檢查損失函數(shù)的值,并為 模型參數(shù)生成新值。然后機(jī)器學(xué)習(xí)系統(tǒng)將根據(jù)所有標(biāo)簽重新評(píng)估所有特征,為損失函數(shù)生成一個(gè)新值,而該值又產(chǎn)生新的參數(shù)值。這種學(xué)習(xí)過程會(huì)持續(xù)迭代,直到該算法發(fā)現(xiàn)損失可能最低的模型參數(shù)。

(2)梯度下降法

凸形問題只有一個(gè)最低點(diǎn);即只存在一個(gè)斜率正好為 0 的位置。

梯度下降法

圖3.2? 一個(gè)梯度步長將我們移動(dòng)到損失曲線上的下一個(gè)點(diǎn)

第一個(gè)階段是為參數(shù) w1 選擇一個(gè)起始值(起點(diǎn))。通常設(shè)為 0 或隨機(jī)選擇一個(gè)值。

第二個(gè)階段會(huì)計(jì)算損失曲線在起點(diǎn)處的梯度。梯度是偏導(dǎo)數(shù)的矢量(損失相對(duì)于單個(gè)權(quán)重的梯度就等于導(dǎo)數(shù)。)

梯度始終指向損失函數(shù)中增長最為迅猛的方向。

梯度下降法算法用梯度乘以一個(gè)稱為學(xué)習(xí)速率(有時(shí)也稱為步長)的標(biāo)量,以確定下一個(gè)點(diǎn)的位置。

超參數(shù)是編程人員在機(jī)器學(xué)習(xí)算法中用于調(diào)整的旋鈕,這里的學(xué)習(xí)速率就是一個(gè)超參數(shù)。

注意:在實(shí)踐中,成功的模型訓(xùn)練并不意味著要找到“完美”(或接近完美)的學(xué)習(xí)速率。我們的目標(biāo)是找到一個(gè)足夠高的學(xué)習(xí)速率,該速率要能夠使梯度下降過程高效收斂,但又不會(huì)高到使該過程永遠(yuǎn)無法收斂。

(3)隨機(jī)梯度下降法(SGD)

在梯度下降法中,批量指的是用于在單次迭代中計(jì)算梯度的樣本總數(shù),一個(gè)批量可能相當(dāng)巨大。如果是超大批量,則單次迭代就可能要花費(fèi)很長時(shí)間進(jìn)行計(jì)算。

隨機(jī)梯度下降法在每次迭代時(shí)只使用一個(gè)樣本(批量大小為 1)。如果進(jìn)行足夠的迭代,SGD 也可以發(fā)揮作用,但過程會(huì)非常雜亂?!半S機(jī)”這一術(shù)語表示構(gòu)成各個(gè)批量的一個(gè)樣本都是隨機(jī)選擇的。

小批量隨機(jī)梯度下降法小批量 SGD)是介于全批量迭代與 SGD 之間的折衷方案。小批量通常包含 10-1000 個(gè)隨機(jī)選擇的樣本。小批量 SGD 可以減少 SGD 中的雜亂樣本數(shù)量,但仍然比全批量更高效。

四、泛化

(1)過擬合

過擬合模型在訓(xùn)練過程中產(chǎn)生的損失很低,但在預(yù)測(cè)新數(shù)據(jù)方面的表現(xiàn)卻非常糟糕。過擬合是由于模型的復(fù)雜程度超出所需程度而造成的。機(jī)器學(xué)習(xí)的基本沖突是適當(dāng)擬合我們的數(shù)據(jù),但也要盡可能簡單地?cái)M合數(shù)據(jù)。

奧卡姆剃刀定律:機(jī)器學(xué)習(xí)應(yīng)該優(yōu)先采用更簡單的模型。

(2)泛化

即統(tǒng)計(jì)化描述模型根據(jù)以下因素泛化到新數(shù)據(jù)的能力:

-模型的復(fù)雜程度;

-模型在處理訓(xùn)練數(shù)據(jù)方面的表現(xiàn);

以下三項(xiàng)基本假設(shè)闡明了泛化:

-我們從分布中隨機(jī)抽取獨(dú)立同分布(i.i.d) 的樣本。

-分布是平穩(wěn)的;即分布在數(shù)據(jù)集內(nèi)不會(huì)發(fā)生變化。

-我們從同一分布的數(shù)據(jù)劃分中抽取樣本。

五、拆分?jǐn)?shù)據(jù)集

(1)訓(xùn)練集和測(cè)試集

將數(shù)據(jù)集劃分為訓(xùn)練集和測(cè)試集。借助這種劃分,可以對(duì)一個(gè)樣本集進(jìn)行訓(xùn)練,然后使用測(cè)試集測(cè)試模型。工作流程如下所示:

“調(diào)整模型”指的是調(diào)整可以想到的關(guān)于模型的任何方面,從更改學(xué)習(xí)速率、添加或移除特征,到從頭開始設(shè)計(jì)全新模型。

圖5.1 拆分為訓(xùn)練集和測(cè)試集

(2)劃分驗(yàn)證集

使用驗(yàn)證集評(píng)估訓(xùn)練集的效果。然后,在模型“通過”驗(yàn)證集之后,使用測(cè)試集再次檢查評(píng)估結(jié)果。下圖展示了這一新工作流程:

圖5.2 更好的工作流程

不斷使用測(cè)試集和驗(yàn)證集會(huì)使其逐漸失去效果。也就是說,使用相同數(shù)據(jù)來決定超參數(shù)設(shè)置或其他模型改進(jìn)的次數(shù)越多,對(duì)于這些結(jié)果能夠真正泛化到未見過的新數(shù)據(jù)的信心就越低。

如果可能的話,建議收集更多數(shù)據(jù)來“刷新”測(cè)試集和驗(yàn)證集。重新開始是一種很好的重置方式。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容