這里主要涉及監(jiān)督式機(jī)器學(xué)習(xí)趁曼,(監(jiān)督式)機(jī)器學(xué)習(xí)系統(tǒng)通過(guò)學(xué)習(xí)如何組合輸入信息來(lái)對(duì)從未見(jiàn)過(guò)的數(shù)據(jù)做出有用的預(yù)測(cè)。
一.機(jī)器學(xué)習(xí)主要術(shù)語(yǔ)
(1)特征與標(biāo)簽
特征是輸入變量宠页,即簡(jiǎn)單線性回歸中的 x 變量。在復(fù)雜的機(jī)器學(xué)習(xí)系統(tǒng)中,特征一般表示為向量的形式省骂。如:
標(biāo)簽是我們要預(yù)測(cè)的事物,即簡(jiǎn)單線性回歸中的 y 變量涨缚≡冢可以是小麥未來(lái)的價(jià)格、圖片中顯示的動(dòng)物品種脓魏、音頻剪輯的含義或任何事物兰吟。
(2)樣本
樣本是指數(shù)據(jù)的特定實(shí)例,又分為有標(biāo)簽樣本和無(wú)標(biāo)簽樣本茂翔。其中混蔼,有標(biāo)簽樣本同時(shí)包含特征和標(biāo)簽,用于訓(xùn)練模型珊燎。
(3)模型與訓(xùn)練
模型定義了特征與標(biāo)簽之間的關(guān)系惭嚣。
訓(xùn)練是指創(chuàng)建或學(xué)習(xí)模型。也就是說(shuō)俐末,向模型展示有標(biāo)簽樣本料按,讓模型逐漸學(xué)習(xí)特征與標(biāo)簽之間的關(guān)系。
推斷是指將訓(xùn)練后的模型應(yīng)用于無(wú)標(biāo)簽樣本卓箫。也就是說(shuō)载矿,使用經(jīng)過(guò)訓(xùn)練的模型做出有用的預(yù)測(cè) (y')。
(4)回歸與分類(lèi)
回歸模型可預(yù)測(cè)連續(xù)值;分類(lèi)模型可預(yù)測(cè)離散值闷盔。
二弯洗、訓(xùn)練與損失
在監(jiān)督式學(xué)習(xí)中,通過(guò)檢查多個(gè)樣本并嘗試找出可最大限度地減少損失的模型逢勾。這一過(guò)程稱(chēng)為經(jīng)驗(yàn)風(fēng)險(xiǎn)最小化
損失是對(duì)糟糕預(yù)測(cè)的懲罰牡整。也就是說(shuō),損失是一個(gè)數(shù)值溺拱,表示對(duì)于單個(gè)樣本而言模型預(yù)測(cè)的準(zhǔn)確程度逃贝。
訓(xùn)練的目標(biāo)是從所有樣本中找到一組平均損失“較小”的權(quán)重和偏差(以線性模型為例)。
(1)平方損失(又稱(chēng)為 L2損失)
(2)均方誤差 (MSE)迫摔, 即每個(gè)樣本的平均平方損失
三沐扳、降低損失
(1)迭代法
迭代策略在機(jī)器學(xué)習(xí)中的應(yīng)用非常普遍,這主要是因?yàn)樗鼈兛梢院芎玫財(cái)U(kuò)展到大型數(shù)據(jù)集句占。
“模型”部分將一個(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í)過(guò)程會(huì)持續(xù)迭代舱痘,直到該算法發(fā)現(xiàn)損失可能最低的模型參數(shù)变骡。
(2)梯度下降法
凸形問(wèn)題只有一個(gè)最低點(diǎn);即只存在一個(gè)斜率正好為 0 的位置芭逝。
梯度下降法
第一個(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ù)中增長(zhǎng)最為迅猛的方向。
梯度下降法算法用梯度乘以一個(gè)稱(chēng)為學(xué)習(xí)速率(有時(shí)也稱(chēng)為步長(zhǎng))的標(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í)速率培他,該速率要能夠使梯度下降過(guò)程高效收斂鹃两,但又不會(huì)高到使該過(guò)程永遠(yuǎn)無(wú)法收斂遗座。
(3)隨機(jī)梯度下降法(SGD)
在梯度下降法中,批量指的是用于在單次迭代中計(jì)算梯度的樣本總數(shù)俊扳,一個(gè)批量可能相當(dāng)巨大途蒋。如果是超大批量,則單次迭代就可能要花費(fèi)很長(zhǎng)時(shí)間進(jìn)行計(jì)算馋记。
隨機(jī)梯度下降法在每次迭代時(shí)只使用一個(gè)樣本(批量大小為 1)号坡。如果進(jìn)行足夠的迭代,SGD 也可以發(fā)揮作用梯醒,但過(guò)程會(huì)非常雜亂筋帖。“隨機(jī)”這一術(shù)語(yǔ)表示構(gòu)成各個(gè)批量的一個(gè)樣本都是隨機(jī)選擇的冤馏。
小批量隨機(jī)梯度下降法(小批量 SGD)是介于全批量迭代與 SGD 之間的折衷方案日麸。小批量通常包含 10-1000 個(gè)隨機(jī)選擇的樣本。小批量 SGD 可以減少 SGD 中的雜亂樣本數(shù)量逮光,但仍然比全批量更高效代箭。
四、泛化
(1)過(guò)擬合
過(guò)擬合模型在訓(xùn)練過(guò)程中產(chǎn)生的損失很低涕刚,但在預(yù)測(cè)新數(shù)據(jù)方面的表現(xiàn)卻非常糟糕嗡综。過(guò)擬合是由于模型的復(fù)雜程度超出所需程度而造成的。機(jī)器學(xué)習(xí)的基本沖突是適當(dāng)擬合我們的數(shù)據(jù)杜漠,但也要盡可能簡(jiǎn)單地?cái)M合數(shù)據(jù)极景。
奧卡姆剃刀定律:機(jī)器學(xué)習(xí)應(yīng)該優(yōu)先采用更簡(jiǎn)單的模型。
(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í)速率砚婆、添加或移除特征械拍,到從頭開(kāi)始設(shè)計(jì)全新模型。
(2)劃分驗(yàn)證集
使用驗(yàn)證集評(píng)估訓(xùn)練集的效果。然后殊者,在模型“通過(guò)”驗(yàn)證集之后与境,使用測(cè)試集再次檢查評(píng)估結(jié)果。下圖展示了這一新工作流程:
不斷使用測(cè)試集和驗(yàn)證集會(huì)使其逐漸失去效果猖吴。也就是說(shuō)摔刁,使用相同數(shù)據(jù)來(lái)決定超參數(shù)設(shè)置或其他模型改進(jìn)的次數(shù)越多,對(duì)于這些結(jié)果能夠真正泛化到未見(jiàn)過(guò)的新數(shù)據(jù)的信心就越低海蔽。
如果可能的話共屈,建議收集更多數(shù)據(jù)來(lái)“刷新”測(cè)試集和驗(yàn)證集。重新開(kāi)始是一種很好的重置方式党窜。