Neural Networks
神經網路是一種重要的機器學習技術,可以從處理複雜的資料分析問題到處理自然語言的問題,它的基礎是神經元 (neuron),神經元是一種單元,可以接受多個輸入,並通過激活函數 (activation function) 的作用給出輸出。神經網路可以有很多層,每層都有著不同的權重 (weight) 矩陣以及 bias unit,它們可以一起組合起來構成一個 hypothesis 來解決問題。訓練神經網路需要了解神經網路的符號、成本函數與反向傳播算法,這些技術可以幫助我們對神經網路的結果有更深入的了解。
📄️ 1 - Introduction of Neural Networks
神經網路是為了模擬人類的大腦運作,大腦可以透過一種 learning algorithm 做到聽、說、讀、寫等活動,而神經網路的最小單位為神經元,它可以由 input wires 接收多個輸入,並將處理過的訊息傳送出去透過 output wires。我們可以再加上 bias unit 作為輸入,而處理這些 input 的為 sigmoid (logistic) activation function。當有多層 layer 時,第一層為 input layer,最後一層為 output layer,而中間所有的層統稱為 hidden layer。我們給予 hidden layer 的 nodes 一個名字:activation units,它是經由 input 和 matrix of weights 作用 output 過來的,hypothesis 就是這些 activation units 經由權重矩陣與輸入矩陣相乘後的結果。
📄️ 2 - Neural Network Training
神經網路已成為解決從圖像識別到自然語言處理等各種問題的重要工具。 因此,理解與神經網路相關的符號 (notation)、成本函數 (cost function) 和反向傳播算法 (backpropagation algorithm) 對於成功訓練和使用至關重要。 在本文我們還將探索反向傳播算法背後的概念,以便我們能夠更好地理解結果的含義。