吴恩达《Machine Learning》精炼笔记 5:神经网络
作者 | Peter
編輯 |?AI有道
系列文章:
吳恩達《Machine Learning》精煉筆記 1:監督學習與非監督學習
吳恩達《Machine Learning》精煉筆記 2:梯度下降與正規方程
吳恩達《Machine Learning》精煉筆記 3:回歸問題和正則化
吳恩達《Machine Learning》精煉筆記 4:神經網絡基礎
今天帶來第五周課程的筆記:神經網絡。本文是在上節神經網絡的基礎上,做了進一步的闡述,內容包含:
神經網絡代價函數
反向傳播法及解釋
梯度檢驗
神經網絡的小結
神經網絡代價函數
參數解釋
對幾個參數的標記方法進行說明解釋:
分類討論
主要是兩類:二分類和多類分類
代價函數
邏輯斯蒂回歸(LR)中的代價函數:
在邏輯斯蒂回歸中,只有一個輸出變量稱之為標量scalar。
但是在神經網絡中會有多個輸出變量,hθ(x)是一個K維的向量。
假設第i個輸出函數:
代價函數J表示為:
解釋說明:
反向傳播法Backpropagation Algorithm
首先計算最后一層的誤差
再一層層地反向求出各層的誤差,直到倒數第二層
前向傳播例子
假設有一個數據樣本:
前向傳播法就是通過一層層地按照神經網絡的順序從輸入層到輸出層計算下去。
反向傳播例子
1. 從最后一層的誤差開始計算:
2. 用δ表示誤差,誤差=模型預測值-真實值
3. 前一層的誤差
4. 再前一層的誤差
第一層是輸入變量,不存在誤差
5. 假設λ=0,如果不做正則化處理時
對上面的式子中各個上下標的含義進行解釋:
l代表的是第幾層
j代表的是計算層中的激活單元的下標
i代表的是誤差單元的下標
算法
利用正向傳播方法計算每層的激活單元
利用訓練集的真實結果與神經網絡的預測結果求出最后一層的誤差
最后利用該誤差運用反向傳播法計算出直至第二層的所有誤差。
便可以計算代價函數的偏導數
反向傳播的直觀理解
前向傳播原理
2個輸入單元;2個隱藏層(不包含偏置單元);1個輸出單元
上標ii表示的是第幾層,下標表示的是第幾個特征或者說屬性
圖中有個小問題,看截圖的右下角!!!
根據上面的反向傳播法得到的結論:
反向傳播原理
參數展開
上面的式子中實現了怎么利用反向傳播法計算代價函數的導數,在這里介紹怎么將參數從矩陣形式展開成向量形式
梯度檢驗
如何求解在某點的導數
在代價函數中怎么對某個參數θ求導
神經網絡小結
首要工作
在構建神經網絡的時候,首先考慮的是如何選擇網絡結構:多少層和每層多少個神經單元
第一層的單元數即我們訓練集的特征數量。
最后一層的單元數是我們訓練集的結果的類的數量。
如果隱藏層數大于1,確保每個隱藏層的單元個數相同,通常情況下隱藏層單元的個數越多越好。
訓練神經網絡步驟
參數的隨機初始化
利用正向傳播方法計算所有的hθ(x)
編寫計算代價函數?JJ的代碼
利用反向傳播方法計算所有偏導數
利用數值檢驗方法檢驗這些偏導數
使用優化算法來最小化代價函數
至此,第五周的課程筆記完畢!
推薦閱讀
(點擊標題可跳轉閱讀)
干貨 | 公眾號歷史文章精選
我的深度學習入門路線
我的機器學習入門路線圖
重磅!
AI有道年度技術文章電子版PDF來啦!
掃描下方二維碼,添加?AI有道小助手微信,可申請入群,并獲得2020完整技術文章合集PDF(一定要備注:入群?+ 地點 + 學校/公司。例如:入群+上海+復旦。?
長按掃碼,申請入群
(添加人數較多,請耐心等待)
感謝你的分享,點贊,在看三連↓
總結
以上是生活随笔為你收集整理的吴恩达《Machine Learning》精炼笔记 5:神经网络的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 学C++你绝不能错过的干货!
- 下一篇: NET命令的基本用法