在這篇文章中,我們將回顧監督機器學習的基礎知識,以及訓練和驗證階段包括哪些內容。
在這里,我們將為不了解AI的讀者介紹機器學習(ML)的基礎知識,並且我們將描述在監督機器學習模型中的訓練和驗證步驟。
ML是AI的一個分支,它試圖通過歸納一組示例而不是接收顯式指令來讓機器找出如何執行任務。ML有三種范式:監督學習、非監督學習和強化學習。在監督學習中,一個模型(我們將在下面討論)通過一個稱為訓練的過程進行學習,在這個過程中,它會提供示例輸入和正確輸出。它了解數據集示例中哪些特性映射到特定輸出,然后能夠在一個稱為預測的階段預測新的輸入數據。在無監督學習中,模型通過分析數據之間的關系來學習數據的結構,而不涉及任何其他過程。在強化學習中,我們建立模型,通過試驗和錯誤技術,隨着時間的推移學習和改進。
ML中的模型是什么?模型是一個簡單的數學對象或實體,它包含一些關於AI的理論背景,以便能夠從數據集學習。在監督學習中流行的模型包括決策樹、向量機,當然還有神經網絡。
神經網絡是按堆棧的形狀分層排列的。除了輸入層和輸出層之外,每一層的節點都接收來自上一層節點的輸入,也可以接收來自下一層節點的輸入,同樣也可以向上一層和下一層節點發送信號或輸出。
在一個神經網絡中,我們總是存在輸入和輸出層,可能有一個或多個隱藏層。
最簡單的NN是感知器,它是包含的輸入層和輸出層單個節點。
對於神經網絡中的每條邊都有一個關聯的權重值,這是對於每個節點都有關聯的值。例如,輸入層中每個節點的值可以來自與數據集中的圖像相關聯的像素值輸入數組。為了計算下一層節點的值,我們計算連接到該節點的輸入的加權和。這就是傳遞函數。一旦計算出這個值,它就被傳遞給另一個稱為激活函數的函數,該函數根據閾值確定該節點是否應該觸發到下一層。有些激活函數是二進制的,有些則有多個輸出。
通常在神經網絡的末尾,我們有一個激活函數,它對傳遞到輸入層的數據進行分類(做出決定)。在硬幣識別的情況下,它將決定圖像中硬幣的類別或類型。神經網絡中的學習過程可以僅僅看作是對其權重的調整,以便為每個給定的輸入獲得預期的輸出。一旦對模型進行了訓練,得到的權重就可以被保存下來。
當一個神經網絡有一個以上的隱藏層時,我們將其稱為深度學習(DL)。DL是一套依賴於神經網絡且不止一個隱藏層的技術。擁有多個隱藏層的原因是提供比單一隱藏層神經網絡更准確的結果。實踐證明,深度神經網絡比單層神經網絡能產生更快更准確的結果。你添加到你的神經網絡的每一層都有助於從數據集學習復雜的特征。
神經網絡包含許多需要調整以獲得更好性能的參數。為了能夠檢查參數優化的有效性和神經網絡本身的性能,我們留出很大一部分的原始數據集(通常大於70%)作為訓練集,使用其他驗證(測試)組。驗證集也幫助我們防止過度擬合,這發生在一個模型學習太好一組非常相似的對象數據集,使它太適合這個數據和不適合新數據。
在下一篇文章中,我們將研究用於硬幣識別問題的卷積神經網絡,並將在Keras.NET中實現一個卷積神經網絡。
歡迎關注我的公眾號,如果你有喜歡的外文技術文章,可以通過公眾號留言推薦給我。
原文鏈接:https://www.codeproject.com/Articles/5284227/Deep-Learning-in-Csharp-Understanding-Neural-Netwo