1. 程式人生 > >機器學習第4周

機器學習第4周

神經網路

背景-非線性假設的缺陷

  • 特徵量增加過快
    非線性處理擁有多個特徵的資料集是非常棘手的,如果將輸入特徵變為二次,如:將 x 1

    x 2 x 3 x_1、x_2、x_3
    變為 x 1 2 x 2 2
    x 3 2 x 1 x 2 x 1 x 3 x 2 x 3 x_1^2、x_2^2、x_3^2、x_1x_2、x_1x_3、x_2x_3
    ,特徵種類從三個變為六個。
    具體的,如果將n個輸入特徵變為二次,則特徵種類有 C n 2 C_n^2 n ( n + 1 ) / 2 n(n+1)/2 ),特徵種類數量的增長估計為 o ( n 2 / 2 ) o(n^2/2)

  • 實際處理問題複雜
    如果處理一幅50*50畫素的照片,將有2500個輸入特徵,如果將輸入特徵變為二次,則有約三百萬個輸入特徵,特徵的增長量非常大,因此很容易造成過擬合、計算效率低等問題?

  • 神經網路的出現提供了對於輸入特徵過多的另一種解決方法。

神經元和大腦

神經網路對我們自己的大腦如何工作的模仿是有限的,但是 由於計算機硬體的進步,關於神經網路的研究熱情最近有了較大的回升。

有證據表明大腦只使用一種“學習演算法”來實現其所有不同的功能。 科學家們已經嘗試切割(在動物大腦中)耳朵和聽覺皮層之間的連線,並將視神經與聽覺皮層重新連線,發現聽覺皮層確實學會了去“看”。

這個原則被稱為“神經可塑性”,並有許多例子和實驗證據。神經網路演算法正是源於這一原則,構建一個自主學習世間萬物的演算法。

模型展示1

  • 以一個神經元為計算單元的話,將輸入(樹突)作為電輸入(尖峰)進行處理,再將處理後的電輸入引導至輸出(軸突)。

  • 在我們的模型中,樹突相當於輸入特徵 x 1 x n x_1、\dots、x_n ,軸突相當於輸出特徵(假設函式的計算結果)。

  • x 0 x_0 (對應 θ 0 \theta_0 )作為額外的偏置單元,取值為1。

  • 神經網路中同樣採用邏輯函式(S型函式)進行假設。

  • 機器學習中的模型引數 θ \theta 在神經網路中被稱為“權重”。

  • 簡單展示如下:
    [ x 0 x 1 x 2 ] [    ] h θ ( x ) \begin{bmatrix}x_0 \\ x_1 \\ x_2 \end{bmatrix} \rightarrow \begin{bmatrix}\ \ \end{bmatrix} \rightarrow h_\theta(x)
    輸入節點(第1層)進入另一個節點(第2層)時,以假設函式為輸出。

  • 第1層和第2層分別稱為輸入層和輸出層,它們之間的中間層可稱為隱藏層,第2層若為隱藏層,其中的節點 a 0 2 a 0 n a_0^2、\dots、a_0^n ,也被稱為激勵單元。具體展示如下:
    [ x 0 x 1 x 2 x 3 ] [ a 1 ( 2 ) a 2 ( 2 ) a 3 ( 2 ) ] h θ ( x ) \begin{bmatrix}x_0 \\x_1 \\x_2 \\x_3\end{bmatrix} \rightarrow \begin{bmatrix}a_1^{(2)} \\a_2^{(2)} \\a_3^{(2)} \\\end{bmatrix} \rightarrow h_\theta(x)

-激勵單元由以下式子獲得:
a 1 ( 2 ) = g ( Θ 10 ( 1 ) x 0 + Θ 11 ( 1 ) x 1 + Θ 12 ( 1 ) x 2 + Θ 13 ( 1 ) x 3 ) a 2 ( 2 ) = g ( Θ 20 ( 1 ) x 0 + Θ 21 ( 1 ) x 1 + Θ 22 ( 1 ) x 2 + Θ 23 ( 1 ) x 3 ) a 3 ( 2 ) = g ( Θ 30 ( 1 ) x 0 + Θ 31 ( 1 ) x 1 + Θ 32 ( 1 ) x 2 + Θ 33 ( 1 ) x 3 ) h Θ ( x ) = a 1 ( 3 ) = g ( Θ 10 ( 2 ) a 0 ( 2 ) + Θ 11 ( 2 ) a 1 ( 2 ) + Θ 12 ( 2 ) a 2 ( 2 ) + Θ 13 ( 2 ) a 3 ( 2 ) ) a_1^{(2)} = g(\Theta_{10}^{(1)}x_0 + \Theta_{11}^{(1)}x_1 + \Theta_{12}^{(1)}x_2 + \Theta_{13}^{(1)}x_3) \\ a_2^{(2)} = g(\Theta_{20}^{(1)}x_0 + \Theta_{21}^{(1)}x_1 + \Theta_{22}^{(1)}x_2 + \Theta_{23}^{(1)}x_3) \\ a_3^{(2)} = g(\Theta_{30}^{(1)}x_0 + \Theta_{31}^{(1)}x_1 + \Theta_{32}^{(1)}x_2 + \Theta_{33}^{(1)}x_3) \\ h_\Theta(x) = a_1^{(3)} = g(\Theta_{10}^{(2)}a_0^{(2)} + \Theta_{11}^{(2)}a_1^{(2)} + \Theta_{12}^{(2)}a_2^{(2)} + \Theta_{13}^{(2)}a_3^{(2)})