2020臺(tái)大李宏毅機(jī)器學(xué)習(xí) 作業(yè)一——回歸(案例學(xué)習(xí))

根據(jù)之前的理論,機(jī)器學(xué)習(xí)就是在找合適的函數(shù)公式。例如:

· 股票預(yù)測(cè)問(wèn)題:輸入-過(guò)去十年某股票的價(jià)格,輸出-明天該股票的價(jià)格

· 無(wú)人駕駛問(wèn)題:輸入-傳感器收集的各種信息,輸出-方向盤(pán)的角度

· 推薦系統(tǒng)問(wèn)題:輸入-用戶已經(jīng)購(gòu)買(mǎi)的商品,輸出-購(gòu)買(mǎi)該商品的可能性

1. 案例問(wèn)題

案例背景:預(yù)測(cè)進(jìn)化后精靈寶可夢(mèng)的CP(combat power)值,如果可以預(yù)測(cè)到該寶可夢(mèng)進(jìn)化后的cp值,就可以選擇是否進(jìn)化它。

2. 回歸建模過(guò)程:

step 1: Model

機(jī)器學(xué)習(xí)的第一步,就是找到一組我們想要的函數(shù)表達(dá)式的組合,由前的分析可知,我們這里選擇的是一組線性表達(dá)式。

在上式中,X代表的是輸入的自變量,比如寶可夢(mèng)的身高、體重等等,我們叫特征(feature);w是權(quán)重(weight),b代表偏差(bias)也就是截距項(xiàng)。

step 2: Goodness of Function

因?yàn)槭怯斜O(jiān)督的學(xué)習(xí),所以要收集訓(xùn)練集。

在收集好訓(xùn)練集后,我們需要定義另外一個(gè)函數(shù)——損失函數(shù)(Loss Function),這個(gè)函數(shù)的作用是告訴我們,我們目前所選擇的模型等到的預(yù)測(cè)值,與其所對(duì)應(yīng)的真實(shí)值的偏差是多少,然后從中找出對(duì)應(yīng)的損失函數(shù)值最小的,函數(shù)表達(dá)式,通過(guò)這個(gè)過(guò)程,我們可以從之前的一組表達(dá)式中,找到我們想要的準(zhǔn)確的最高的表達(dá)式。

step 3: Best Function

通過(guò)之前的過(guò)程,我們已經(jīng)確定了最小的損失函數(shù),所對(duì)應(yīng)的參數(shù)w、b的值

通過(guò)之前的分析,我們已經(jīng)知道了如何找到想要表達(dá)式的思路,但是如果通過(guò)窮舉法來(lái)找到W、b效率太低,當(dāng)計(jì)算量過(guò)大時(shí)就很不現(xiàn)實(shí)。由于我們已經(jīng)得到了如上的表達(dá)式,就可以考慮如何用數(shù)學(xué)工具來(lái)求解,這里就使用了一個(gè)很有用的算法——梯度下降(Gradient Descent)。

梯度下降的具體操作:先隨機(jī)選取一個(gè)點(diǎn)w0,然后在改點(diǎn)求L的微分,如果小于0就向右移動(dòng),大于0則向左,直到微分值為0,這樣會(huì)找到一個(gè)局部最優(yōu)解。在這個(gè)過(guò)程中由兩個(gè)問(wèn)題:

· 每次迭代,具體移動(dòng)多遠(yuǎn)的距離呢?這取決于學(xué)習(xí)率(learning rate),也就是上式中的η值,具體取多少,在下節(jié)中會(huì)介紹。

· 由于隨機(jī)選取的w0,所以找到的局部最優(yōu)解,不一定是全局最優(yōu)解,但是該問(wèn)題在線性問(wèn)題中不存在,由于為線性函數(shù),所以只有一個(gè)最優(yōu)解。

那由于在本次案例中,由連個(gè)參數(shù),所以我們需要同時(shí)考慮w和b,其實(shí)就是一元到多元的推廣,在這里也介紹了“梯度”的具體含義:所求參數(shù)值的偏微分。

將求出的參數(shù)值帶入表達(dá)式,并輸入測(cè)試集數(shù)據(jù)進(jìn)行驗(yàn)證,發(fā)現(xiàn)損失函數(shù)為35,如何優(yōu)化我們的函數(shù)呢?根據(jù)散點(diǎn)圖,考慮引入一個(gè)二次項(xiàng)。

加入二次項(xiàng)后,我們繼續(xù)用梯度下降進(jìn)行求解,發(fā)現(xiàn)誤差值明顯變小了,那如果加入三次項(xiàng)會(huì)不會(huì)更精確呢?結(jié)果顯示有變化了一點(diǎn)。

我們繼續(xù)考慮加入四次項(xiàng):

加入四次項(xiàng)后,在訓(xùn)練集的效果更好了,我們的模型更的擬合了訓(xùn)練集,但是在測(cè)試集的表現(xiàn)缺變差了,那這種情況就叫做過(guò)擬合這里就涉及到模型的泛化能力,也說(shuō)明不是一味的準(zhǔn)確訓(xùn)練集的準(zhǔn)確率。所以應(yīng)該如何選擇合適的模型呢?

step 4: Redesign the Model

由于不同的寶可夢(mèng),進(jìn)化的CP值有著顯著的差異,所以我們考慮加入一個(gè)示性函數(shù),對(duì)不同的寶可夢(mèng)建立不同的方程。

但是這里只考慮了過(guò)去的cp值這一個(gè)特征,根據(jù)之前的研究,我們還可以加入其他的自變量

如上,是一個(gè)很復(fù)雜的模型,既考慮了不同的物種,也考慮了不同的特征,但是很現(xiàn)在這個(gè)模型過(guò)擬合了。

step 5: Regularization

如何解決過(guò)擬合問(wèn)題呢,需要加入一個(gè)正則項(xiàng),來(lái)約束加入的參數(shù)項(xiàng)。

在之前的損失函數(shù)的基礎(chǔ)上,加入一個(gè)正則項(xiàng),會(huì)使得誤差變小的同時(shí),模型不會(huì)過(guò)于復(fù)雜從而導(dǎo)致過(guò)擬合的情況。加入正則項(xiàng)也會(huì)是的函數(shù)更為平滑,平滑的函數(shù)對(duì)于異常值,不會(huì)過(guò)于敏感從而出現(xiàn)過(guò)擬合。

這里我們選擇不同的λ的值,來(lái)看在訓(xùn)練集和測(cè)試集的誤差變化,發(fā)現(xiàn)我們需要使得模型平滑,以防過(guò)擬合,但是過(guò)于平滑的函數(shù)也會(huì)使得誤差變大。

總結(jié):

建立線性模型后,需要用梯度下降來(lái)找到最優(yōu)解的參數(shù)值(b、w)

在確定模型的時(shí)候,需要做到準(zhǔn)確度和復(fù)雜度的平衡,越復(fù)雜的模型可能會(huì)在訓(xùn)練集上有很好的擬合,但是會(huì)出現(xiàn)過(guò)擬合的情況,而導(dǎo)致在測(cè)試集誤差很大,所以加入正則項(xiàng)來(lái)使得函數(shù)變得平滑,所以最后函數(shù)需要多平滑,也就是λ的值,就是我們需要不斷調(diào)整的參數(shù)。

最后編輯于
?著作權(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),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 以西瓜書(shū)為主線,以其他書(shū)籍作為參考進(jìn)行補(bǔ)充,例如《統(tǒng)計(jì)學(xué)習(xí)方法》,《PRML》等 第一章 緒論 1.2 基本術(shù)語(yǔ) ...
    danielAck閱讀 4,902評(píng)論 0 5
  • 深度學(xué)習(xí)(花書(shū)) 第一章 前言 本章節(jié)描述了深度學(xué)習(xí)的發(fā)展歷史,應(yīng)用前景,發(fā)展趨勢(shì),粗略的介紹機(jī)器學(xué)習(xí)如何有別于軟...
    迷途的Go閱讀 788評(píng)論 0 1
  • 機(jī)器學(xué)習(xí)術(shù)語(yǔ)表 本術(shù)語(yǔ)表中列出了一般的機(jī)器學(xué)習(xí)術(shù)語(yǔ)和 TensorFlow 專(zhuān)用術(shù)語(yǔ)的定義。 A A/B 測(cè)試 (...
    yalesaleng閱讀 2,144評(píng)論 0 11
  • 筆記參考:https://zhuanlan.zhihu.com/p/21407711?refer=intellig...
    spectre_hola閱讀 1,149評(píng)論 0 1
  • 有時(shí)候覺(jué)得自己有點(diǎn)倒霉,有時(shí)候又覺(jué)得自己挺幸運(yùn)的。說(shuō)起名師工作室,赧顏忝列,繼暑假前的漯河培訓(xùn)之后,這次竟然...
    簡(jiǎn)亦子閱讀 231評(píng)論 0 0

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