李宏毅深度学习基础
一句話:
神經(jīng)網(wǎng)絡(luò)基本形式是線性加權(quán)與非線性變換,即y=h(b+w1x1+w2x2)。
線性加權(quán)即b+w1x1+w2x2
非線性變換:h()是激活函數(shù)
文章目錄
- 回歸定義和應(yīng)用例子
- 回歸定義
- 應(yīng)用舉例
- 模型步驟
- Step 1:模型假設(shè) - 線性模型
- 一元線性模型(單個特征)
- 多元線性模型(多個特征)
- Step 2:模型評估 - 損失函數(shù)
- 如何判斷眾多模型的好壞(損失函數(shù))
- Step 3:最佳模型 - 梯度下降
- 如何篩選最優(yōu)的模型(參數(shù)w,b)
- 梯度下降推演最優(yōu)模型的過程
- 梯度下降算法在現(xiàn)實世界中面臨的挑戰(zhàn)
- w和b偏微分的計算方法
- 如何驗證訓(xùn)練好的模型的好壞
- 更強大復(fù)雜的模型:1元N次線性模型
- 過擬合問題出現(xiàn)
- 步驟優(yōu)化
- Step1優(yōu)化:2個input的四個線性模型是合并到一個線性模型中
- Step2優(yōu)化:如果希望模型更強大表現(xiàn)更好(更多參數(shù),更多input)
- Step3優(yōu)化:加入正則化
- 總結(jié)
回歸定義和應(yīng)用例子
回歸定義
Regression 就是找到一個函數(shù) functionfunctionfunction ,通過輸入特征 xxx,輸出一個數(shù)值 。
應(yīng)用舉例
- 股市預(yù)測(Stock market forecast)
- 輸入:過去10年股票的變動、新聞咨詢、公司并購咨詢等
- 輸出:預(yù)測股市明天的平均值
模型步驟
- step1:模型假設(shè),選擇模型框架(線性模型)
- step2:模型評估,如何判斷眾多模型的好壞(損失函數(shù))
- step3:模型優(yōu)化,如何篩選最優(yōu)的模型(梯度下降)
Step 1:模型假設(shè) - 線性模型
一元線性模型(單個特征)
線性模型假設(shè) y=b+w?xcpy = b + w·x_{cp}y=b+w?xcp?
多元線性模型(多個特征)
所以我們假設(shè) 線性模型 Linear model:y=b+∑wixiy = b + \sum w_ix_iy=b+∑wi?xi?
- xix_ixi?:就是各種特征(fetrure) xcp,xhp,xw,xh,???x_{cp},x_{hp},x_w,x_h,···xcp?,xhp?,xw?,xh?,???
- wiw_iwi?:各個特征的權(quán)重 wcp,whp,ww,wh,??w_{cp},w_{hp},w_w,w_h,··wcp?,whp?,ww?,wh?,??
- bbb:偏移量
Step 2:模型評估 - 損失函數(shù)
如何判斷眾多模型的好壞(損失函數(shù))
有了這些真實的數(shù)據(jù),那我們怎么衡量模型的好壞呢?從數(shù)學(xué)的角度來講,我們使用距離。求【進(jìn)化后的CP值】與【模型預(yù)測的CP值】差,來判定模型的好壞。也就是使用損失函數(shù)(Loss function) 來衡量模型的好壞,統(tǒng)計10組原始數(shù)據(jù) (y^n?f(xcpn))2\left ( \hat{y}^n - f(x_{cp}^n) \right )^2(y^?n?f(xcpn?))2 的和,和越小模型越好。
L(f)=∑n=110(y^n?f(xcpn))2,將【f(x)=y】,【y=b+w?xcp】代入=∑n=110(y^n?(b+w?xcp))2\begin{aligned} L(f) & = \sum_{n=1}^{10}\left ( \hat{y}^n - f(x_{cp}^n) \right )^2,將【f(x) = y】, 【y= b + w·x_{cp}】代入 \\ & = \sum_{n=1}^{10}\left ( \hat{y}^n - (b + w·x_{cp}) \right )^2\\ \end{aligned} L(f)?=n=1∑10?(y^?n?f(xcpn?))2,將【f(x)=y】,【y=b+w?xcp?】代入=n=1∑10?(y^?n?(b+w?xcp?))2?
Step 3:最佳模型 - 梯度下降
如何篩選最優(yōu)的模型(參數(shù)w,b)
- 步驟1:隨機選取一個 w0w^0w0
- 步驟2:計算微分,也就是當(dāng)前的斜率,根據(jù)斜率來判定移動的方向
- 大于0向右移動(增加www)
- 小于0向左移動(減少www)
- 步驟3:根據(jù)學(xué)習(xí)率移動
- 重復(fù)步驟2和步驟3,直到找到最低點
梯度下降推演最優(yōu)模型的過程
梯度下降算法在現(xiàn)實世界中面臨的挑戰(zhàn)
- 問題1:具備最優(yōu)(Stuck at local minima)而非全局最優(yōu)
- 問題2:Stuck at saddle point
- 問題3:趨近于0(Very slow at the plateau)
注:
在非線性模型中會遇到 問題2 和 問題3 ,需要調(diào)整迭代次數(shù)與學(xué)習(xí)率(超參數(shù))
在線性模型里面都是一個碗的形狀(山谷形狀),梯度下降基本上都能找到最優(yōu)點
w和b偏微分的計算方法
如何驗證訓(xùn)練好的模型的好壞
使用訓(xùn)練集和測試集的平均誤差來驗證模型的好壞
我們使用將10組原始數(shù)據(jù),訓(xùn)練集求得平均誤差為31.9
然后再使用10組Pokemons測試模型,測試集求得平均誤差為35.0 如圖所示:
更強大復(fù)雜的模型:1元N次線性模型
在模型上,我們還可以進(jìn)一部優(yōu)化,選擇更復(fù)雜的模型,使用1元2次方程舉例,如圖17,發(fā)現(xiàn)訓(xùn)練集求得平均誤差為15.4,測試集的平均誤差為18.4
過擬合問題出現(xiàn)
在訓(xùn)練集上面表現(xiàn)更為優(yōu)秀的模型,為什么在測試集上效果反而變差了?這就是模型在訓(xùn)練集上過擬合的問題。
將錯誤率結(jié)果圖形化展示,發(fā)現(xiàn)3次方以上的模型,已經(jīng)出現(xiàn)了過擬合的現(xiàn)象:
步驟優(yōu)化
Step1優(yōu)化:2個input的四個線性模型是合并到一個線性模型中
Step2優(yōu)化:如果希望模型更強大表現(xiàn)更好(更多參數(shù),更多input)
更多input,數(shù)據(jù)量沒有明顯增加,仍舊可能導(dǎo)致overfitting
Step3優(yōu)化:加入正則化
更多特征,但是權(quán)重 www 可能會使某些特征權(quán)值過高,仍舊導(dǎo)致overfitting,所以加入正則化
- www 越小,表示 functionfunctionfunction 較平滑的, functionfunctionfunction輸出值與輸入值相差不大
- 在很多應(yīng)用場景中,并不是 www 越小模型越平滑越好,但是經(jīng)驗值告訴我們 www 越小大部分情況下都是好的。
- bbb 的值接近于0 ,對曲線平滑是沒有影響
總結(jié)
一句話:神經(jīng)網(wǎng)絡(luò)基本形式是線性加權(quán)與非線性變換,即y=h(b+w1x1+w2x2)。
線性加權(quán)即b+w1x1+w2x2
非線性變換:h()是激活函數(shù)
總結(jié)
- 上一篇: Java多线程Zip压缩
- 下一篇: 2020李宏毅深度学习hw1