深度學習教程 Part 1
如果你想利用深度學習方法來識別圖像,但卻不知道如何上手的話,那麼我想這篇文章可以幫助到你。
如果你不知道機器學習和卷積神經網路的話,那麼我強烈建議你先看下 Adam Geitgey的文章
本文將構建一個卷積神經網路模型來讀取並識別圖像,對每個圖像打上相應的標籤。
環境配置
首先,我們需要配置下環境,你可以從官網下載 Anaconda,並選擇 Python 2.7版本。
安裝完成後,你需要確認 NumPy, SciPy, Sphinx, pyyaml 等包是否已經成功安裝,你可以利用搜索欄來搜尋這些軟體包。
此外,我們還需要安裝 Theano,我們將採用最簡單的方法來安裝該軟體庫。如下所示:在 Anaconda 界面中,打開終端界面
使用 Jupyter Notebook
從 Anaconda 登陸界面中打開 Jupyter notebook 並新建一個文件:
編程階段
首先,我們需要載入相應的軟體庫
我們將以MNIST數據集為例,並利用 Keras 來載入數據集。該數據集中包含了 60,000 張大小為 28*28 的圖片,測試集中包含 10,000 張圖片。
深度學習架構
我們將使用基於 Lenet-5 結構的神經網路[1],具體如下所示:
如果你對上述層級結構感到困惑的話,你可以參閱這個教程。
訓練並測試模型
利用 CPU 來訓練模型的話需要幾分鐘的計算時間,但是如果使用 GPU 的話僅需要幾秒鐘。
其中測試集的得分是損失函數值,如 MSE,而測試精度則是預測結果的準確率。測試得分越小,測試精度越高,模型的擬合效果越好。結果顯示,上述模型的測試得分為 3%,測試精度為 99%。
分類結果
別忘了我們的測試集中有 10,000 張圖片,在這裡我們只展示前 25 張圖片的預測結果:
接下來我們還能做啥呢?我們還可以調整神經網路的結構,改變隱藏層的類型,改變迭代次數並觀察模型的擬合效果是否變得更好。或者我們可以將訓練好的模型保存下來以便於處理圖像分類預測問題。當然我們也可以將預測錯誤的圖片列印出來:更多資訊和文章盡在微信號:「datartisan數據工匠」
參考文獻
[1] Y. Lecun, L. Bottou, Y. Bengio and P. Haffner, 「Gradient-based learning applied to document recognition,」 in Proceedings of the IEEE, vol. 86, no. 11, pp. 2278–2324, Nov 1998.
原文鏈接:https://medium.com/@databolism/getting-start-with-deep-learning-a-hands-on-guide-for-complete-beginners-part-1-setting-up-c2737a2fc0d#.4y6kbdrvv
原文作者:Akina M.
譯者:Fibears
推薦閱讀:
※紙質文檔轉可編輯電子版太複雜?請看這份安裝指南
※星巴克鐵粉必備:你的收集欲,數據來買單!
※學習是一種狀態
※我用數據分析了一切,卻還是不知道你愛不愛我
※花式玩轉博物館,用數據和藝術品來對話!
TAG:大数据 |