1. 程式人生 > 實用技巧 >感知機

感知機

一、感知器

參考阮一峰的日誌-很好理解

歷史上,科學家一直希望模擬人的大腦,造出可以思考的機器。人為什麼能夠思考?科學家發現,原因在於人體的神經網路。

  1. 外部刺激通過神經末梢,轉化為電訊號,轉導到神經細胞(又叫神經元)。
  2. 無數神經元構成神經中樞。
  3. 神經中樞綜合各種訊號,做出判斷。
  4. 人體根據神經中樞的指令,對外部刺激做出反應。

既然思考的基礎是神經元,如果能夠"人造神經元"(artificial neuron),就能組成人工神經網路,模擬思考。上個世紀六十年代,提出了最早的"人造神經元"模型,叫做"感知器"(perceptron),直到今天還在用。

上圖的圓圈就代表一個感知器。它接受多個輸入(x1,x2,x3...),產生一個輸出(output),好比神經末梢感受各種外部環境的變化,最後產生電訊號。

為了簡化模型,我們約定每種輸入只有兩種可能:1 或 0。如果所有輸入都是1,表示各種條件都成立,輸出就是1;如果所有輸入都是0,表示條件都不成立,輸出就是0。

二、感知器的例子

下面來看一個例子。城裡正在舉辦一年一度的遊戲動漫展覽,小明拿不定主意,週末要不要去參觀。

他決定考慮三個因素。

  1. 天氣:週末是否晴天?
  2. 同伴:能否找到人一起去?
  3. 價格:門票是否可承受?

這就構成一個感知器。上面三個因素就是外部輸入,最後的決定就是感知器的輸出。如果三個因素都是 Yes(使用1表示),輸出就是1(去參觀);如果都是 No(使用0表示),輸出就是0(不去參觀)。

三、權重和閾值

看到這裡,你肯定會問:如果某些因素成立,另一些因素不成立,輸出是什麼?比如,週末是好天氣,門票也不貴,但是小明找不到同伴,他還要不要去參觀呢?

現實中,各種因素很少具有同等重要性:某些因素是決定性因素,另一些因素是次要因素。因此,可以給這些因素指定權重(weight),代表它們不同的重要性。

  • 天氣:權重為8
  • 同伴:權重為4
  • 價格:權重為4

上面的權重表示,天氣是決定性因素,同伴和價格都是次要因素。

如果三個因素都為1,它們乘以權重的總和就是 8 + 4 + 4 = 16。如果天氣和價格因素為1,同伴因素為0,總和就變為 8 + 0 + 4 = 12。

這時,還需要指定一個閾值(threshold)。如果總和大於閾值,感知器輸出1,否則輸出0。假定閾值為8,那麼 12 > 8,小明決定去參觀。閾值的高低代表了意願的強烈,閾值越低就表示越想去,越高就越不想去。

上面的決策過程,使用數學表達如下。

上面公式中,x表示各種外部因素,w表示對應的權重。