本文是摘抄學習大神 計算機的潛意識 文章 https://www.cnblogs.com/subconscious/p/5058741.htmlhtml
神經網絡是一種模擬人腦的神經網絡,指望可以實現類人的人工智能機器學習技術。算法
這個模型包含三個層次的神經網絡,紅色是輸入層(3個輸入單元),綠色是輸出層(2個單元),紫色是隱藏層(4個單元)網絡
神經網絡模型知識點:架構
神經元包含輸入、輸出和計算功能的模型,下圖包含3個輸入、1個輸出、以及二個計算功能的模型機器學習
鏈接是神經元中最重要的東西,每一個鏈接上都有一個權重。函數
神經網絡算法就是讓權重值調整到最佳,以到達模型預測的效果最好。學習
使用a表示輸入特徵變量,w來表示權重值,一個鏈接的有向箭頭表示:a通過鏈接加權變成了aw測試
對於多特徵變量的神經元模型,以下圖,其中:z = g(a1w1+a2w2+a3w3)爲輸出計算公式人工智能
在MP模型裏,函數g是sgn函數:當輸入大於0時輸出爲1,小於0是輸出爲0設計
把sum函數和sgn函數合併,神經元能夠看做一個計算和存儲單元,計算是神經元對輸入進行計算,存儲是神經元會暫存計算結果,並傳遞到下一層。
整個模型就是對函數:z = g(a1w1+a2w2+a3w3)結果的預測,經過已知的樣本a1,a2,a3特徵和對應的標籤z1,z2,z3,得出最優的w1,w2,w3權重,最後預測出z標籤值
在MP模型的輸入位置添加神經元節點,標誌其爲輸入單元(負責傳輸數據,不計算),輸出層的輸出單元須要對前一層對輸入進行計算。
有兩個輸出單元的模型,用wx,y來表達一個權值。下標中的x表明後一層神經元的序號,而y表明前一層神經元的序號(序號的順序從上到下)。
分析圖上兩個公式,能夠向量化:
輸入特徵變量:a = [a1 a2 a3]T(T表明轉置矩陣),預測值:z = [z1 z2]T,權重矩陣W(2X3矩陣)
輸出公式向量化表示: z = g(Wa) (神經網絡前一層計算後一層的矩陣運算)
神經網絡相似一個logistic迴歸,能夠作分類任務。決策界限表示分類效果
兩層神經網絡包含一個輸入層、一個輸出層和一個隱藏層,隱藏和輸出層都是計算層。
ax(y)表明第y層的第x個節點。z1,z2變成了a1(2),a2(2)。下圖給出了a1(2),a2(2)的計算公式
使用矩陣來進行向量化,a1,a2,z是網絡傳輸的向量數據,W1和W2是網絡的矩陣參數
a2 = g(W1a1)
z = g(W2a2)
因而可知,使用矩陣來向量化不會受到節點的數量影響,所以神經網絡大量使用矩陣運算來描述。
偏置節點:它本質上是一個只函數存儲功能,切存儲值永遠爲1的單元,除了輸出層外,神經網絡的每一個層都含有一個偏置單元,跟線性迴歸模型和邏輯(logistic)迴歸模型相同。
偏置單元與後一層的全部節點都有鏈接,設參數爲向量b,稱爲偏置
偏置節點沒有輸入,在考慮偏置後神經網絡的矩陣運算:
a2 = g(W1a1 + b1)
z = g(W2a2 + b2)
g函數爲sigmoid函數又稱logistic函數、激活函數:g(x) = 1/(1+e-x),輸入大於0時輸出爲1,小於0是輸出爲0。
理論證實,兩層神經網絡能夠無限逼近任意連續函數
在設計一個神經網絡是,輸入層的節點數須要與特徵的維度匹配,輸出層的節點數也要與目標的維度匹配,而隱藏層的節點數,由設計者指定,可是節點數設置多少,卻會影響模型的效果,如何決定這個自由層的節點數呢?目前業界沒有完善的理論來指導這個決策。通常是根據經驗來設置。較好的方法就是預先設定幾個可選值,經過切換這幾個值來看整個模型的預測效果,選擇效果最好的值做爲最終選擇。這種方法又叫作Grid Search(網格搜索)
瞭解了兩層神經網絡的結構之後,咱們就能夠看懂其它相似的結構圖。例如EasyPR字符識別網絡架構(下圖)。
EasyPR使用了字符的圖像去進行字符文字的識別。輸入是120維的向量。輸出是要預測的文字類別,共有65類。根據實驗,咱們測試了一些隱藏層數目,發現當值爲40時,整個網絡在測試集上的效果較好,所以選擇網絡的最終結構就是120,40,65。
參考:
一、《機器學習》(吳恩達)
二、計算機的潛意識:https://www.cnblogs.com/subconscious/p/5058741.html