1. 程式人生 > >初識神經網路---My way of AI18

初識神經網路---My way of AI18

感知機

說到神經網路之前我們先說一下感知機,它其實是一種偽神經元。 有n個數據,通過權重與各種資料之間的計算和比較啟用函式結果,得出輸出,它的主要目的是解決分類問題。

但是如何現在是有一個感知機解決不了的我們就引入了多個感知機,這其實也就是我們常說的svm演算法。

我們登陸playground.tensorflow.org網站去模擬一下單個以及多個感知機的分類效果。

1.一個神經元進行二分類 在這裡插入圖片描述

可以明顯的看出分類結果毫不準確,就是因為一條線不可能分開。

2.兩個神經元 在這裡插入圖片描述

3.三個神經元 在這裡插入圖片描述

可以看出來三個神經元得出的結果已經是非常準確了。所以可以看得出來,所謂的感知機其實就是神經網路(神經元)。

神經網路

神經網路的一些過程無法解釋(其實今天10.28才在csdn上看到新聞,國外有一些科學家把深度學習比作是鍊金術,hhhh),我討厭將深度學習稱為AI

多個神經元(感知機)組成神經網路。不同的結構解決不同的問題,不只是分類,迴歸及其他問題。

特點

  1. 輸入向量維度與輸入神經元個數相同
  2. 每個連線都有權值
  3. 同一層神經元之間沒有連線
  4. 由輸入層,隱層和輸出層組成
  5. 第N層和第N-1層的所有神經元連線,叫做全連線

組成

  1. 結構:神經網路中的權重,神經元等
  2. 啟用函式
  3. 學習規則:學習規則規定了網路中的權重如何隨著時間推進而調整(反向傳播演算法)

神經網路。解決多分類,得出某一個樣本屬於全部樣本的概率,所有有多少個類別就有多少個類別概率的輸出。

神經網路的模組選擇: tf.nn:提供神經網路的基本操作 tf.layers:主要是對tf.nn的進一步封裝 tf.contrib:將tf.layers進一步封裝,目前處於試驗階段還不穩定

學習中採用tf.nn模組體會神經網路的流程

淺層的人工神經網路模型

SoftMax迴歸

Si=ei/(e1+e2+…+ej)求出的是一個概率值,其中i代表的是第i個類別求出的值,j代表一共j個列別。這樣就可以求出各個類別的概率。且從公式可以看出來所有類別的概率值相加等於1。 在這裡插入圖片描述

神經網路用交叉熵函式衡量損失 其實就是資訊熵,一個樣本就有一個交叉熵損失,y\i代表是真實值,yi代表預測概率 在這裡插入圖片描述

優化:反向傳播演算法(就是梯度下降)

因為神經網路有反響傳播的概念,我們把資料的輸入叫做正向傳播,我們把更新權重叫做反向傳播。可以參考李金洪的《深度學習之tensorflow入門與實戰》。

API

softmax

在這裡插入圖片描述

損失值列表平均值計算

在這裡插入圖片描述

反向傳播演算法API

在這裡插入圖片描述