在這篇文章中,咱們將去學習神經網絡的基礎知識。
本篇文章的學習須要對機器學習有着基本理解,若是你學習過一些機器學習算法,那就更好了。
首先簡單介紹一下人工神經網絡,也叫ANN。
不少機器學習算法的靈感來自於大天然,而最大的靈感來自咱們的大腦,咱們如何思考、學習和作決定。
有趣的是,當咱們觸摸到熱的東西時,咱們身體裏的神經元會將信號傳遞給大腦的,而後大腦會產生讓咱們從熱的區域撤退的反應。咱們能夠根據經驗來進行訓練,根據咱們的經驗,咱們開始作出更好的決定。
使用一樣的類比,當咱們向神經網絡發送一個輸入(觸摸熱物質),而後根據學習(先前的經驗),咱們產生一個輸出(從熱區域退出)。在將來,當咱們獲得相似的信號(接觸熱表面),咱們能夠預測輸出(從熱區退出)。
假設咱們輸入了諸如溫度、風速、能見度、溼度等信息,以預測將來的天氣情況——下雨、多雲仍是晴天。
這能夠表示爲以下所示。
讓咱們用神經網絡來表示它並理解神經網絡的組成部分。
神經網絡接收輸入,經過使用激活函數改變狀態從而轉換輸入信號,進而產生輸出。
輸出將根據接收到的輸入、強度(若是信號由權值表示)和應用於輸入參數和權值的激活而改變。
神經網絡與咱們神經系統中的神經元很是類似。
x一、x二、…xn是神經元向樹突的輸入信號,在神經元的軸突末端會發生狀態改變,產生輸出y一、y二、…yn。
以天氣預報爲例,溫度、風速、能見度和溼度是輸入參數,而後神經元經過使用激活函數對輸入施加權重來處理這些輸入,從而產生輸出,這裏預測的輸出是晴天、雨天或陰天的類型。
那麼,神經網絡的組成部分是什麼呢
神經網絡會有算法
Epoch是指用於一次學習,一次正向傳播和一次反向傳播的完整數據集。
咱們能夠重複也就是在多個epoch下前向和反向傳播,直到咱們收斂到一個全局極小值。
什麼是學習率?
學習率控制着咱們應該在多大程度上根據損失梯度調整權重。
值越低,學習越慢,收斂到全局最小也越慢。
較高的學習率值不會使梯度降低收斂
學習率是隨機初始化的。
如何肯定隱藏層的數量和每一個隱藏層的節點數量?
隨着隱層數目的增長和隱層神經元或節點數目的增長,神經網絡的容量也隨之增大,神經元能夠協做來表達不一樣的功能,這經常會致使過擬合,咱們必須當心過擬合。
對於神經網絡中隱藏層的最優數量,根據Jeff Heaton提出的下表
對於隱藏層中神經元的最佳數目,咱們能夠採用下面的方法網絡