【李宏毅机器学习2021】Task02 回归
【李宏毅機(jī)器學(xué)習(xí)2021】本系列是針對datawhale《李宏毅機(jī)器學(xué)習(xí)-2022 10月》的學(xué)習(xí)筆記。本次是對回歸的學(xué)習(xí)總結(jié)。本節(jié)通過視頻學(xué)習(xí)到回歸任務(wù)的提出,三個(gè)要素,及如何優(yōu)化。李老師通過層層遞進(jìn),提出問題解決問題的方式不斷打磨方法,從中介紹回歸任務(wù)的始末,引出深度學(xué)習(xí)及網(wǎng)絡(luò)加深伴隨的過擬合問題。
目錄
Task02 回歸
不同的機(jī)器學(xué)習(xí)方程類型:
回歸
分類
?structure learning
如何求得方程:
1.寫出帶有未知數(shù)的方程
?2.為訓(xùn)練數(shù)據(jù)定義損失函數(shù)
3.優(yōu)化(Optimization)
模型優(yōu)化:
1.增加para數(shù)據(jù)量,引入更多有效信息
2.更改模型
Task02 回歸
書接上回,Machine Learning的本質(zhì)就是讓計(jì)算機(jī)找一個(gè)解決問題的方程。
不同的機(jī)器學(xué)習(xí)方程類型:
回歸
例如給定一些特征,對數(shù)據(jù)進(jìn)行預(yù)測。例如給定PM2.5相關(guān)的參數(shù),如臭氧、今日的PM2.5、今日溫度濕度等,預(yù)測明天的溫度。
?
分類
給定特征,對數(shù)據(jù)進(jìn)行分類。且分類的目標(biāo)已經(jīng)提前告訴計(jì)算機(jī),讓計(jì)算機(jī)做選擇題。例如判斷郵箱郵件是不是垃圾郵件。?
再比如告訴計(jì)算機(jī)棋盤的情況,讓計(jì)算機(jī)下棋,計(jì)算機(jī)自己選擇19*19矩陣內(nèi)的一點(diǎn)。
?
?structure learning
分類回歸只是一小部分,深度學(xué)習(xí)能做的還有很多很多!!!
如何求得方程:
?
?在這里李老師給出了一個(gè)任務(wù),就是給出歷史的YouTuBe的視頻播放量,預(yù)測明天視頻播放量是多少。
這里的方程任務(wù)就是輸入歷史數(shù)據(jù),輸出預(yù)測情況(回歸)。
1.寫出帶有未知數(shù)的方程
將輸出和輸出用函數(shù)表示聯(lián)系起來,同時(shí)加入未知數(shù)w(權(quán)重)和b(偏值)。
?2.為訓(xùn)練數(shù)據(jù)定義損失函數(shù)
?損失函數(shù)的出現(xiàn)是為了判斷你在1中提出的方程有多好,例如通過你的預(yù)測在輸入17年1月1日后預(yù)測2號的播放量為5.3K 實(shí)際播放量為4.9K? 相差0.4K即為當(dāng)前的loss。
兩種loss:?
MAE 平均值loss
MSE 方差loss(作業(yè)里使用)
知道了怎么評價(jià),下一個(gè)問題又來了。如何調(diào)整方程,讓他更好的進(jìn)行預(yù)測呢?
3.優(yōu)化(Optimization)
采用梯度下降算法對提出的函數(shù)優(yōu)化,讓函數(shù)找到一個(gè)局部最優(yōu)解。在向梯度下降的位置移動,找到梯度為零的點(diǎn)。
引入學(xué)習(xí)率的概念,學(xué)習(xí)率表示每次找到梯度下降方向后要移動的大小尺寸。?
通過梯度下降的方法,對w參數(shù)不斷優(yōu)化,保證loss下降。函數(shù)找到合適的參數(shù)。?
?
這里又引出另一個(gè)問題,如果在local minima點(diǎn)梯度下降算法失效,會帶來什么問題呢?一般來說局部最優(yōu)解(local minima) 就可以解決問題了(在參數(shù)選擇正態(tài)分布參數(shù)時(shí))。而更嚴(yán)重的問題是過擬合問題。
在例子中梯度優(yōu)化的步驟如上圖。?
整體效果:
在經(jīng)過上述三部操作后得到以下結(jié)果:
模型優(yōu)化:
1.增加para數(shù)據(jù)量,引入更多有效信息
針對訓(xùn)練數(shù)據(jù)從一天的尺度不斷擴(kuò)充,從一天到七天,從七天到一個(gè)月、兩個(gè)月。可以發(fā)現(xiàn)剛開始增加尺度還是有一定效果的,但是到后面增加數(shù)據(jù)也沒了收益。
2.更改模型
將模型更新成紅色部分的函數(shù),這樣的函數(shù)進(jìn)行預(yù)測應(yīng)該有更好的效果。?
?和傅里葉級數(shù)的概念差不多,一般函數(shù)常見函數(shù)(除了一些怪異的也不會在深度學(xué)習(xí)問題里出現(xiàn))都可以用這樣的分段函數(shù)去表示。他們的組合疊加,像傅里葉級數(shù)的信號疊加一樣。
?
這里就會出現(xiàn)另一個(gè)問題,如何表示這樣的折線函數(shù)呢?
Sigmoid函數(shù)
這里引入了sigmoid函數(shù),去做分段函數(shù)。其實(shí)用這個(gè)Sigmoid函數(shù)的工作也是模擬了神經(jīng)元,在輸入信號達(dá)到一定值時(shí),會做出反應(yīng),如果沒有達(dá)到閾值反應(yīng)比較微弱或沒有反應(yīng)。
?通過采用不同的w和b及c可以調(diào)整sigmoid函數(shù)的表示,讓他們綜合起來可以表現(xiàn)任意函數(shù)。= =看起來就很像橫過來的tanθ函數(shù)。
?
加入了sigmoid函數(shù)就復(fù)雜起來了,整體函數(shù)表現(xiàn)如下:
?
?看上去式子比較復(fù)雜,其實(shí)改改就很清晰了
括號內(nèi)的內(nèi)容可以用r=b+wx矩陣形式表示。
?
?
??最終式子就如上所示。
這里所有未知數(shù)都看作是θ
這里我們計(jì)算loss
?最后進(jìn)行迭代優(yōu)化
其實(shí)也一樣,都差不多。
?
當(dāng)然對每個(gè)數(shù)據(jù)做一次opt非常麻煩,這里對數(shù)據(jù)進(jìn)行劃分,每個(gè)batch優(yōu)化一次loss。?
所以有數(shù)據(jù)集中數(shù)據(jù)都跑完叫一個(gè)epoch
?簡單算一下:1000個(gè)數(shù)據(jù) 每個(gè)batch100個(gè)數(shù)據(jù),這樣就做十次opt
RELU
這里對sigmoid函數(shù)做優(yōu)化調(diào)整,引入relu函數(shù)。
?
?
模型加深,進(jìn)化成DeepLearning
?
?
這里表示很多網(wǎng)絡(luò)疊加在一起,為什么要這樣做,有什么好處呢?為什不橫向加寬呢?
這里就買了一個(gè)包袱。
?這里盲目加深網(wǎng)絡(luò),會帶來過擬合問題。over fitting?
?
最后讓大家去猜如果用三層的,預(yù)測后天的結(jié)果會不會小于0.38。讓大家真實(shí)感受一下預(yù)測的情況,我覺得大于0.38的概率大一些哈哈。?
【結(jié)語】本節(jié)課學(xué)習(xí)了深度學(xué)習(xí)的搭建方法,從一個(gè)線性預(yù)測一步步到神經(jīng)網(wǎng)絡(luò)再到深度學(xué)習(xí)模型。后面會跟著更新一個(gè)對作業(yè)的筆記。作業(yè)我也詳細(xì)寫一下筆記,雖然學(xué)過很多知識但是看完視頻還是收獲頗豐,繼續(xù)加油吧~
總結(jié)
以上是生活随笔為你收集整理的【李宏毅机器学习2021】Task02 回归的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java6_64.tar配置,Ubunt
- 下一篇: HTTP的幂等性