機器學習 神經網路(1)
如何識別手寫數字呢,我們 28 * 28 矩陣表示作為輸入,輸出是一個 0 - 9 中的一個數字。今天就這個課題給大家介紹一下什麼是神經網路。我們看一下識別 8 的過程, 8 是由兩個圈 o組成的,所以我們需要先識別出 o 圈,那麼我們怎麼識別出圈 o的呢。我們可以看到圖片按畫素劃分為小格子,每一個那麼輸入是矩陣,每一個畫素

神經網路是我們大腦認識事物的結構,這裡可以將神經網路拆分為神經和網路兩個詞。我們看一看什麼樣的神經網路結構可以識別出這些手寫的數字。
神經指的是神經元,網路指的是由神經元組成的網路。我們可以把神經元理解為一個數字的容器,這個數字叫做 activation 。
理清一下思路,第一步弄清我們的系統的輸入和輸出,然後在設計我們的神經網路,最後找出層與層間關係,找出最優演算法模型。
1我輸入是一張手寫的數字圖 輸出是一個數字,好那麼最後一層就是10節點代表 0 到 9數字。輸入一張圖,怎麼把圖片轉換為計算機能夠識別的資料結構呢,我們 28 * 28 的矩陣,矩陣的每個值是畫素的灰度值。然後我們把多維矩陣轉換一維矩陣。一維矩陣作為輸入第一層神經元。


2 開始設計神經網路之前,先想一想應該如何讓機器識別出數字呢,以 9 為例,由於識別 9 這件事太自然了,所以很少認真思考人類是如何把 9 從其他數字區分開的,是因為他外形,就是由一個圈和一個豎組成的。

8 呢是由兩個圈來組成的,以此類推
這樣我們把每個數字拆分成圓圈,豎線或橫線的一小部分,數字是由這些小部分組成的。

然後我們繼續對圈和豎線進行分解,將他們也分解成更細的組成部分,一個一個的小線段以便我們來識別。

我們現在將圖形分解為許多線端(部件)組成的。這裡以 9 為例,我們通過一次判斷 9 是否圓圈和豎線,以及他們出現位子來判斷圖中數值是否為 9。

那麼我們又是如何識別出線段的呢,下次給大家分享。