電腦學會如何學習了嗎?——類神經網路學習分類
類神經網路如何自動調整權重?
誤差與學習演算法 學習分類昆蟲資料 激勵函數與學習演算法
學習分類昆蟲資料
在本章節中,我們將呈現類神經網路如何「自動」調整權重,
最後學習到如何分類毛毛蟲與瓢蟲的資料。
當然,這是一個非常簡單的案例,實際的分類問題還是複雜許多,
但我們仍然可以透過簡單的案例,理解類神經網路的運作過程。
首先,我們準備毛毛蟲與瓢蟲的資料:

如果將資料呈現在二維平面上,會像下圖:

(試著操作以下的頁面,並觀察其位置與長寬的變化)

還記得我們在第二章提到類神經網路如何學習嗎?
我們在第二章節,就希望你熟悉並且牢記這個概念,
因為我們接下來要介紹類神經網路如何「自動」調整權重,
也是同樣的概念,只不過我們更深入到數學的運算當中,
然而,為何要使用數學去建立類神經網路呢?
以電腦科學的角度來看,是因為這整個過程我們希望「自動化」、「程式化」,
用數學的表示方式,才方便我們透過電腦執行這件事情。
並計算輸出值
計算輸出值
我們先說明一下類神經網路的訓練過程,讓你更加理解下方呈現的訓練過程,
在每次迭代中,類神經網路會讀取每一筆資料,計算出一個輸出值,再與期望輸出比較,
最後再透過誤差來調整權重,而調整權重的方式就是依照我們本章介紹的方式。
另外,在此我們必須要多說明的還有四件事情:
第一、在這個問題情境中,我們設定𝜃值為0.2,是為了簡化討論,你在實際使用類神經網路時可以任意調整𝜃值。
第二、我們設定𝛼值為0.2,也是為了簡化討論,你在實際使用類神經網路時可以任意調整𝛼值。
第三、我們設定類神經網路的起始權重為(w1, w2) = (0.3, 0.1),這也是為了簡化討論,
實際上在應用類神經網路時,初始權重通常是亂數產生的。
第四、在這個問題情境中,我們挑選的激勵函數是步階函數,並且設定毛毛蟲為+1,瓢蟲為0,
同樣地,這在你實際使用類神經網路時,也都是可以任意調整的。
(按下進行迭代後,請仔細觀察訓練類神經網路的過程)
0
0
0.3
0.1
0.2
0.2
0
0
0
0
0
我們將訓練的過程,用表格的方式呈現在下方,
希望你體會過類神經網路的訓練過程後,可以再自己動動腦筋演算看看這個訓練過程,
雖然我們通常是撰寫程式交給電腦執行這整個過程,但自己動腦筋演算,
對於熟悉這個概念是有幫助的,試試看吧。
(附上前個章節介紹的學習演算法:wnew = wi + 𝛼 * xi * Error)



最後,我們再次呈現這個大家已經熟悉的頁面,
這個類神經網路與先前章節不同的就是,它多了一個修正權重的部分,
你可以一邊操作看看,一邊動動腦筋再演算幾次這個章節介紹的概念。
(試著在方格中輸入數字,並按下計算)
(重點提醒:雖然可以任意輸入期望輸出,但在使用步階函數的情況下,合理的期望輸出只有+1或0)
0
0
0
0
思考一下,回答問題
問題一
假設X = (0.2)·x1 + (0.3)·x2 - 2,
並且Y = step(X),
設定學習率𝛼值為0.2。
(提示:誤差 = 期望輸出 - y值)
(提示:wnew = wi + 𝛼 * xi * Error)

試著算出表格中,A~P所代表的數字,
你可以試著自己計算看看,也可以試著使用上方的類神經網路計算。