開始學習神經網絡(Neural Network)
已有線性與邏輯迴歸,爲何須要用到NN
實際的應用中,須要根據不少特徵進行訓練分類器,當今有兩個特徵下,能夠經過下圖表述:網絡
![2 features](http://wx1.sinaimg.cn/mw690/7b8d2108gy1fgfzq1729tj20m107hgn6.jpg)
然而還有太多的特徵須要考慮,假設這裏有100個特徵,包含他們全部的相關項後可能會有5000個,這種計算量很顯然是很是大的,固然你能夠僅保存$x_1^二、x_2^2....X_{100}^2$,此時僅100個,但此時擬合結果頗有可能出現underfitting。
![mult-features](http://wx4.sinaimg.cn/mw690/7b8d2108gy1fgfzq1oqw6j20qc07pdgw.jpg)
### NN模型表示
咱們來看看咱們如何使用神經網絡來表示一個假設函數。簡單地,神經元基本上是計算單位,其將輸入(樹突)做爲被輸送到輸出(軸突)的電輸入(稱爲「尖峯」)。 在咱們的模型中,咱們的樹突像輸入特徵\(x_一、x_2...x_n\),輸出是咱們假設函數的結果。 在這個模型中,咱們的\(x_0\)輸入節點有時被稱爲「偏置單元」。 它老是等於1。函數
![Nucleus](http://wx3.sinaimg.cn/mw690/7b8d2108gy1fgfzq2dqo1j20he0a4q78.jpg)
![model repression](http://static.javashuo.com/static/loading.gif)
這裏咱們依然利用$\frac{1}{1+e^{-\theta^Tx}}$做爲咱們的邏輯函數(logistic function),有時稱爲s形激勵函數(sigmoid activation function)。這裏的參數Theta也被稱爲權重「Weights」
咱們的輸入節點(第1層)也稱爲「輸入層」,進入另外一個節點(第2層),最終輸出稱爲「輸出層」的假設函數。在輸入層與輸出層之間的部分咱們通常稱爲隱藏層。在這個例子中,咱們標註這些中間層或「隱藏」層節點\(a_0^2...a_n^2\)並將其稱爲「激勵單元」。學習
\(a_j^{(j)}\)稱爲第j層中的第i個單元,矩陣\(\Theta^{(j)}\)描述的是第j層到第j+1層權重。下圖反應了僅包含一個隱藏層的狀況:
spa
每一個節點的」激勵「(activation)按照一下計算:blog
![activation](http://wx2.sinaimg.cn/mw690/7b8d2108gy1fgfzq36l3cj20c703caa5.jpg)
這就是說,咱們使用3×4的參數矩陣來計算激活節點。 咱們將每行參數應用到咱們的輸入,以得到一個激活節點的值。 咱們的假設輸出是應用於激活節點的值之和的邏輯函數,它們已經乘以包含第二層節點權重的另外一個參數矩陣$\Theta^{(2)}$。
對於權重矩陣的維度:it
若是網絡在層j + 1中有和\(s_{j+1}\)單元,層j中具備\(s_j\)單元,則\(\Theta^{(j)}\)將爲尺寸\(s_{j+1}\)×(\(s_j\) + 1)。io
如:在第一層有2個輸入單元,第二層有4個激勵點,那麼權重參數\(\Theta^{(1)}\)的維度爲4×(2+1)=4×3。function
總結以下圖所示:class
![summary of the repression](http://wx2.sinaimg.cn/mw690/7b8d2108gy1fgfzq3hwi0j20i30a8jti.jpg)
接下來,咱們將對上述函數進行向量化實現。 咱們要定義一個包含咱們g函數內的參數的新變量\(z_k^{(j)}\)。 在咱們前面的例子中,若是咱們用變量z代替全部參數,咱們將獲得:變量
![vector for simplify](http://wx3.sinaimg.cn/mw690/7b8d2108gy1fgfzq3o6y0j203q02fdfm.jpg)
換句話說,對於層數J=2中的第k個節點,變量z有:
\(z_k^{(2)}=\Theta_{k,0}^{(1)}x_0+\Theta_{k,1}^{(1)}x_1+...\Theta_{k,n}^{(1)}x_n\)
用向量表示爲:
![vector of the var](http://wx1.sinaimg.cn/mw690/7b8d2108gy1fgfzq3yhetj2066032q2r.jpg)
將輸入x設置爲$a^{(1)}$,有如下等式:
\(z^{(j)}=\Theta^{(j-1)}a^{(j-1)}\)
最後有:\(h_\Theta(x)=a^{(j+1)}=g(z^(j+1))\)
請注意,在最後一步中,在層j和層j + 1之間,咱們的作法與咱們在邏輯迴歸中徹底同樣。 在神經網絡中添加全部這些中間層使咱們可以更優雅地產生有趣和更復雜的非線性假設。