神經網絡可以通過輸入的特征向量經過層層推導得到最終輸出,并通過這些輸出結果來解決分類或者回歸問題。實際上,神經網絡是采用前向傳播算法實作層層推導的。
神經網絡的前向傳播結果需要三部分資訊。第一,神經網絡的輸入,即從實體中提取的特征向量;第二,神經網絡的連接配接結構,其會給出不同神經元之間輸入輸出的連接配接關系,神經網絡結構中每一個神經元代表一個節點;第三,每個神經元中的參數,包含權重
(表示第l-1層i節點與l層j節點邊上的權重參數)和偏置值
(表示第l層第j個節點偏置)。
假設我們判斷一個電子産品合格的标準是外觀無損和電性能名額合格。用0到1内的數值對這兩個特征進行量化,值越大表示特征名額越好。在此基礎上,建立一個三層神經網絡來判斷該電子産品是否合格?神經網絡結構如下:
我們對神經網絡的參數進行初始化,假設所有神經元的偏置值都為0,第一層和第二層的激活函數都為一次線性函數y=x,且第一、第二層權重矩陣和輸入向量X初始化如下:
可根據最終的輸出值來判别電子産品是否合格;而實際中我們需要較大量的資料來訓練神經網絡的參數,使其當一個輸入到來時,能準确判斷産品是否合格。
Tensorflow中實作矩陣算法非常容易,直接調用tensorflow.matmul()函數即可,用語言實作上述神經網絡的前向傳播過程:
a=tf.matmul(X,W1)
y=tf.matmul(a,W2)