iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 2
0

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

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

分類

現在想像一下,如果你手上有一些資料,這些資料都有兩個維度 https://chart.googleapis.com/chart?cht=tx&chl=(x_1%2Cx_2),可以他們畫在二維的平面上,這些資料有的被標記成方塊,有的被標記成圓圈。我現在希望有一種方法可以將不同標記的資料點分開,我們可以怎麼做?

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

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

https://chart.googleapis.com/chart?cht=tx&chl=x_2%20%3D%20w%20x_1%20%2B%20b

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

https://chart.googleapis.com/chart?cht=tx&chl=x_2%20-%20w%20x_1%20-%20b%20%3D%200

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

  1. https://chart.googleapis.com/chart?cht=tx&chl=x_2%20-%20w%20x_1%20-%20b%20%3E%200
  2. https://chart.googleapis.com/chart?cht=tx&chl=x_2%20-%20w%20x_1%20-%20b%20%3C%200

如果你的線畫的夠好的話,應該是不會有點剛好位於線上而讓 https://chart.googleapis.com/chart?cht=tx&chl=x_2%20-%20w%20x_1%20-%20b%20%3D%200 發生的。所以我們是不是能夠透過將點代入公式中,計算出他的結果為正或是為負來決定他應該是方塊或是圓圈。新的資料點就可以透過這樣的運算來做預測。

如果要模型給出一個比較容易理解的預測值的話,我們可以在模型之後再加上一個 https://chart.googleapis.com/chart?cht=tx&chl=sign 來取數值的正負號。

https://chart.googleapis.com/chart?cht=tx&chl=sign(x_2%20-%20w%20x_1%20-%20b)%20%3D%200

https://chart.googleapis.com/chart?cht=tx&chl=sign(x)%20%3D%20%5Cbegin%7Bcases%7D%20%20-1%2C%20%26%5Ctext%7Bif%20%7D%20x%20%5Clt%200%5C%5C%20%200%2C%20%26%5Ctext%7Bif%20%7D%20x%20%3D%200%5C%5C%20%201%2C%20%26%5Ctext%7Bif%20%7D%20x%20%5Cgt%200%20%5Cend%7Bcases%7D

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

https://chart.googleapis.com/chart?cht=tx&chl=sign(%5Cmathbf%7Bw%7D%5ET%5Cmathbf%7Bx%7D%20%2B%20b)

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

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

常數項

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

基本上,對一條線來說,常數項仍舊是讓線可以有位移的機會,不過反過來想,如果沒有常數項的話,即便有 https://chart.googleapis.com/chart?cht=tx&chl=%5Cmathbf%7Bw%7D%5ET%5Cmathbf%7Bx%7D 可以計算出結果,但是可能仍不足以分隔資料,所以需要加上(或是減掉)一個閾值或是臨界值。


上一篇
02 線性迴歸 -- 迴歸問題中的線性模型
下一篇
04 從感知器到 maximum-margin classifier
系列文
機器學習模型圖書館:從傳統模型到深度學習31

尚未有邦友留言

立即登入留言