深度學習三步驟

機器學習模型 輸入層 隱藏層 輸出層 權重 偏置 公式_神經網絡

普遍性定理

  • 對於任何一個連續的函數,都可以用足夠多的隱藏層來表示
神經網絡

完全連接前饋神經網絡

  • 輸入層(Input Layer):1層
  • 隱藏層(Hidden Layer):N層
  • 輸出層(Output Layer):1層

機器學習模型 輸入層 隱藏層 輸出層 權重 偏置 公式_數據_02

全鏈接

  • 因為layer1與layer2之間兩兩都有連接,所以叫做Fully Connect;

前饋

  • 前饋(feedforward)也可以稱為前向,從信號流向來理解就是輸入信號進入網絡後,信號流動是單向的,即信號從前一層流向後一層,一直到輸出層,其中任意兩層之間的連接並沒有反饋(feedback),亦即信號沒有從後一層又返回到前一層。

深度

  • Deep = Many hidden layer

本質理解

  • 通過隱藏層進行特徵轉換
  • 把隱藏層通過特徵提取來替代原來的特徵工程,這樣在最後一個隱藏層輸出的就是一組新的特徵(相當於黑箱操作)而對於輸出層,其實是把前面的隱藏層的輸出當做輸入(經過特徵提取得到的一組最好的特徵)然後通過一個多分類器(可以是softmax函數)得到最後的輸出y。

機器學習模型 輸入層 隱藏層 輸出層 權重 偏置 公式_數據_03

計算過程相當於一連串的矩陣運算,可以使用GPU進行加速

手寫數字識別例子

  • 輸入:一個16*16=256維的向量,每個pixel對應一個dimension,有顏色用(ink)用1表示,沒有顏色(no ink)用0表示.
  • 輸出:10個維度,每個維度代表一個數字的置信度。
  • 結果判定:從輸出結果來看,每一個維度對應輸出一個數字,是數字2的概率為0.7的概率最大。説明這張圖片是2的可能性就是最大的
  • 在這個問題中,唯一需要的就是一個函數,輸入是256維的向量,輸出是10維的向量,我們所需要求的函數就是神經網絡這個函數

機器學習模型 輸入層 隱藏層 輸出層 權重 偏置 公式_數據_04

模型評估

損失函數

  • 採用交叉熵進行評估,越小越好
  • 對於損失,我們不單單要計算一筆數據的,而是要計算整體所有訓練數據的損失,然後把所有的訓練數據的損失都加起來,得到一個總體損失L。接下來就是在function set裏面找到一組函數能最小化這個總體損失L,或者是找一組神經網絡的參數機器學習模型 輸入層 隱藏層 輸出層 權重 偏置 公式_神經網絡_05,來最小化總體損失L

機器學習模型 輸入層 隱藏層 輸出層 權重 偏置 公式_數據_06

選擇最優函數

使用梯度下降

使用反向傳播計算損失