掌握深度學習的第一步是從Keras出發!

本文會帶著大家一起去了解如何安裝Keras,這是一個最初構建於Python上的深度學習庫,可在TensorFlow或Theano上運行。

在過去的一些文章中,我們瞭解了神經網絡和深度學習的不同基礎知識。我們看到了如何在R中使用不同的庫創建前饋神經網絡、CNN和自編碼器。您可以閱讀以下鏈接:

深入深度學習(https://dzone.com/articles/dive-deep-into-deep-learning-using-h2o)

具有mxnetR的前饋神經網絡(https://dzone.com/articles/feed-forward-neural-network-with-mxnetr)

使用H2O深度學習的異常檢測(https://dzone.com/articles/dive-deep-into-deep-learning-using-h2o-1)

在本文中,我們將開始在Python中使用Keras。本文是作者“動手實現自動機器學習”的一部分。我們將以這篇文章為基礎,並通過一系列專注於Python深度學習的文章掌握Keras DL的步驟。

Keras是一個深度學習庫,最初建立在Python上,它可以運行在TensorFlow或Theano上。它的開發使DL實現更快。

我們在操作系統的命令提示符中使用以下命令調用Keras安裝:

掌握深度學習的第一步是從Keras出發!

我們首先導入數據操作的numpy和pandas庫。 另外,我們設置了一個seed,允許我們重現腳本的結果:

掌握深度學習的第一步是從Keras出發!

然後加載HR耗損數據集,該數據集有14,999行和10列。salary 和 sales是一種one-hot編碼,Keras將使用它來構建DL模型:

掌握深度學習的第一步是從Keras出發!

以下是上述代碼的輸出:

掌握深度學習的第一步是從Keras出發!

數據集然後以70:30的比率分割以訓練和測試模型:

掌握深度學習的第一步是從Keras出發!

接下來,我們開始通過使用三層定義一個順序模型來創建一個完全連接的神經網絡。第一層是輸入層。在這一層中,我們使用input_dim參數、神經元數量和激活函數來定義輸入要素的數量。我們將input_dim參數設置為20,以獲取我們在預處理數據集X_train中的20個輸入要素。第一層中的神經元數量被指定為12。目標是預測員工磨損,這是一個二元分類問題。因此,我們在前兩層使用整流器激活功能將非線性引入模型並激活神經元。第二層是隱藏層,配置有10個神經元。第三層,即輸出層,具有一個具有S形激活功能的神經元。這確保了二進制分類任務的輸出介於0和1之間:

掌握深度學習的第一步是從Keras出發!

一旦我們配置了模型,下一步就是編譯模型。在編譯過程中,我們指定了丟失函數、優化器和度量。由於我們正在處理兩類問題,因此我們將損失函數指定為binary_crossentropy。我們宣佈adam作為用於此練習的優化程序。優化算法的選擇對模型的優異性能至關重要。adam優化器是隨機梯度下降算法的擴展,並且是廣泛使用的優化器:

掌握深度學習的第一步是從Keras出發!

接下來,我們使用擬合方法將模型擬合到訓練集。一個紀元用於指定前進和後退的次數。batch_size參數用於聲明每個時期使用的訓練樣例的數量。在我們的例子中,我們用batch_size為10來指定時期數為100:

掌握深度學習的第一步是從Keras出發!

一旦我們執行了前面的代碼片段,執行就開始了,我們可以看到進度,如下圖所示。處理一旦達到模型擬合方法中指定的時期數就會停止:

掌握深度學習的第一步是從Keras出發!

  1. 最後一步是評估模型。我們在評估指標中較早指定了準確度。在最後一步,我們使用以下代碼片段檢索模型的準確性:以下結果表明模型精度為93.56%,測試精度為93.20%,這是一個相當不錯的結果。我們可能會得到略有不同的結果:
掌握深度學習的第一步是從Keras出發!


分享到:


相關文章: