第14课:项目实战——深度优化你的神经网络模型
生活随笔
收集整理的這篇文章主要介紹了
第14课:项目实战——深度优化你的神经网络模型
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
上一篇給出了構建神經網絡模型時的一些實用建議,涉及到評估模型、訓練/驗證/測試集、貝葉斯最優誤差和人類表現水平、錯誤分析等內容。掌握這些知識對優化神經網絡模型非常有用。
本文將繼續使用第9課中的項目,帶領大家使用一些梯度優化技巧和正則化技術搭建一個更好的神經網絡來解決貓、狗圖片分類問題。這是一個典型的二分類問題。輸入是一張圖片,我們會把三通道的 RGB 圖片拉伸為一維數據作為神經網絡的輸入層。神經網絡的輸出層包含一個神經元,經過 Sigmoid 函數輸出概率值 $P$,若 $P>0.5$,則判斷為貓(正類),若 $P\leq 0.5$,則判斷為非貓(負類)。
本項目中,我們主要通過以下技巧來優化神經網絡模型:
- 網絡輸入標準化;
- 權重 W 初始化技巧;
- L2 正則化和 Dropout 技巧;
- 梯度優化技巧 SGD、Momentum、Adam。
導入數據集
首先,我們導入構建模型所需的數據集。
該數據集分為訓練(Train)集和測試(Test)集,訓練集共有 250 張貓的圖片和 250 張狗的圖片,測試集共有 100 張貓的圖片和 100 張狗的圖片。我們需要訓練神經網絡模型來識別圖片是否為貓類,最終模型在測試集上進行正確率的驗證。
說明:本文所有代碼均在 Jupyter Notebook 中編寫實現。
首先導入數據集,代碼如下:
import skimage.io as io import numpy as np import math%matplotlib inline plt 與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的第14课:项目实战——深度优化你的神经网络模型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一个“程序员的自我修养”是什么?
- 下一篇: 自己常用的C/C++小技巧