StatQuest 筆記分享 — 人工神經網路1 解密黑盒子
此系列有8支影片,不同於其他教學一開始就介紹人工神經網路(類神經網路)的公式、推導和專有名詞等。Josh反其道而行的先以計算出的結果來反推並解釋這個黑盒子裡到底是怎麼運作的。在之後的影片才會介紹,這些結果是怎麼用Backpropagation計算出來的。
本篇所使用的範例數據是一款藥劑的劑量和是否有效關係圖。可粗略分成三個群組,
- 低用量 ⇒ 沒效
- 中用量 ⇒ 有效
- 高用量 ⇒ 沒效
進入模型,人工神經網路是由神經元節點和連結向量所組成。
這部影片的其中一個重點是呈現如何透過下圖這些參數來塑形、調整、加總範例中的兩個活化函數(Activation function) 來找到最能代表這些數據的綠色波浪弧線。
影片中簡單介紹三種常用的活化函數:
在建立人工神經網路模型時,我們必須決定使用哪種或哪些活化函數。Josh提到很多教學會使用Sigmoid function,然而,在實務上,Softplus 和ReLu是比較常用的活化函數。此影片會使用Softplus來解說。
用來講解範例的模型包含一個輸入節點(Input Node)、一個輸出節點(Output Node)以及包含兩個節點的隱藏層(Hidden Layers)。在更複雜的實務上,可以有多個輸入節點、輸出節點及多個隱藏層。而這些節點和隱藏層的數量都是在建立人工神經網路的過程中所需模擬並決定的。
介紹完了人工神經網路的架構後,Josh開始拿範例中的資料點來產生目標綠色波浪曲線。
- 上方藍色線部分:
1.1 第一個資料點Dosage = 0
1.1.1 (0 * -34.4) + 2.14 = 2.14 ⇒ 上方活化函數的X
1.1.2 f(x) = ln(1+ e^(x)) ⇒ f(2.14) = 2.25
1.1.3 將算出的2.25繪製至座標軸上
1.2 其他資料點 Dosage = 0.1
1.2.1 (0.1 * -34.4) + 2.14 = -1.3
1.2.2 f(-1.3) = 0.24
1.2.3 將算出的0.24繪製至座標軸上
1.3 將剩餘資料點算出並繪製至座標軸上
1.4 所有點繪製後,將圖乘上-1.3。
2.下方橘色線部分: 與上方步驟一樣,將資料點輸入、乘上-2.52並加上1.29,繪製至座標軸上。最後,將圖乘上2.28。
3.將繪製好的藍色和橘色曲線加總出綠色波浪曲線。
4.最後,將綠色波浪曲線向下位移0.58後完成。
我們可以拿數據資料點來進行驗證。比如Dosage = 0.5 (x = 0.5),算出(或代入綠色曲線)得出1.03 (y = 1.03),亦即”有效”。
在這過程中,我們用來乘上的參數稱為權重(Weight),用來加減的參數稱為偏誤(Bias)。這些組合可以將活化函數連結、切割、翻轉、放大縮小來產生用來Fitting資料的目標函數。
Thanks! Enjoy it :)