感知器(perceptron)是在 1957 年就被發明出來的的模型,對電腦的發展或是人工智慧來說都是非常早期的。

感知器模型他是一個二元分類的分類器,他解的是分類問題。相對我們前面的線性迴歸解的是迴歸問題,兩者在問題的定義上有根本性的不一樣,那他們兩個有什麼關聯性呢?

分類

現在想像一下,如果你手上有一些資料,這些資料都有兩個維度 $(x_1,x_2)$,可以他們畫在二維的平面上,這些資料有的被標記成方塊,有的被標記成圓圈。我現在希望有一種方法可以將不同標記的資料點分開,我們可以怎麼做?

在資料點上,大多相似的資料點會有接近的座標,所以資料點本身就會因為相似性而聚在一起。最直覺的方法就是畫一條直線將他們分開。

我們可以在二維平面上畫一條線來把這些點分開的話,那麼要怎麼以數學的方式呈現呢?

$$
x_2 = w x_1 + b
$$

這是我們的二維平面上的線,我們把他移項一下。

$$
x_2 - w x_1 - b = 0
$$

當你試著把資料點代入方程式的時候,你會發現不同的點算出來結果會分成兩種:

  1. $x_2 - w x_1 - b > 0$
  2. $x_2 - w x_1 - b < 0$

如果你的線畫的夠好的話,應該是不會有點剛好位於線上而讓 $x_2 - w x_1 - b = 0$ 發生的。所以我們是不是能夠透過將點代入公式中,計算出他的結果為正或是為負來決定他應該是方塊或是圓圈。新的資料點就可以透過這樣的運算來做預測。

如果要模型給出一個比較容易理解的預測值的話,我們可以在模型之後再加上一個 $sign$ 來取數值的正負號。

$$
sign(x_2 - w x_1 - b) = 0
$$

$$
sign(x) = \begin{cases}
-1, &\text{if } x \lt 0\
0, &\text{if } x = 0\
1, &\text{if } x \gt 0
\end{cases}
$$

當整件事情拓展到了高維度空間的時候就變成這樣了:

$$
sign(\mathbf{w}^T\mathbf{x} + b)
$$

看到了嗎?中間是不是我們的線性迴歸裡的線性模型了呢?

準確來說,是跟線性迴歸沒什麼關係啦!但是同為線性模型可以應用在迴歸問題或是分類問題,有兩種些許不同的形式,是不是很妙呢?

常數項

前面說過,常數項在分類器上有些許不一樣的的解釋。

基本上,對一條線來說,常數項仍舊是讓線可以有位移的機會,不過反過來想,如果沒有常數項的話,即便有 $\mathbf{w}^T\mathbf{x}$ 可以計算出結果,但是可能仍不足以分隔資料,所以需要加上(或是減掉)一個閾值或是臨界值。