5 線性分類器(三)

2021-07-23 09:00:50 字數 2687 閱讀 2705

之前一直在討論的線性分類器,器如其名,只能對線性可分的樣本做處理。如果提供的樣本線性不可分,結果很簡單,線性分類器的求解程式會無限迴圈,永遠也解不出來。這必然使得它的適用範圍大大縮小,而它的很多優點我們實在不願意放棄,怎麼辦呢?是否有某種方法,讓線性不可分的資料變得線性可分呢?

有!其思想說來也簡單,來用乙個二維平面中的分類問題作例子,你一看就會明白。。

例子是下面這張圖:

我們把橫軸上端點a和b之間紅色部分裡的所有點定為正類,兩邊的黑色部分裡的點定為負類。試問能找到乙個線性函式把兩類正確分開麼?不能,因為二維空間裡的線性函式就是指直線,顯然找不到符合條件的直線。

但我們可以找到一條曲線,例如下面這一條:

顯然通過點在這條曲線的上方還是下方就可以判斷點所屬的類別(你在橫軸上隨便找一點,算算這一點的函式值,會發現負類的點函式值一定比0大,而正類的一定比0小)。這條曲線就是我們熟知的二次曲線,它的函式表示式可以寫為:

問題只是它不是乙個線性函式,但是,下面要注意看了,新建乙個向量y和a:

這樣g(x)就可以轉化為f(y)=,你可以把y和a分別回帶一下,看看等不等於原來的g(x)。用內積的形式寫你可能看不太清楚,實際上f(y)的形式就是:

g(x)=f(y)=ay

在任意維度的空間中,這種形式的函式都是乙個線性函式(只不過其中的a和y都是多維向量罷了),因為自變數y的次數不大於1。

看出妙在哪了麼?原來在二維空間中乙個線性不可分的問題,對映到四維空間後,變成了線性可分的!因此這也形成了我們最初想解決線性不可分問題的基本思路——向高維空間轉化,使其變得線性可分。

而轉化最關鍵的部分就在於找到x到y的對映方法。遺憾的是,如何找到這個對映,沒有系統性的方法(也就是說,純靠猜和湊)。具體到我們的文字分類問題,文字被表示為上千維的向量,即使維數已經如此之高,也常常是線性不可分的,還要向更高的空間轉化。其中的難度可想而知。

為什麼說f(y)=ay是四維空間裡的函式?

大家可能一時沒看明白。回想一下我們二維空間裡的函式定義

g(x)=ax+b

變數x是一維的,為什麼說它是二維空間裡的函式呢?因為還有乙個變數我們沒寫出來,它的完整形式其實是

y=g(x)=ax+b

即y=ax+b

看看,有幾個變數?兩個。那是幾維空間的函式?

f(y)=ay,裡面的y是三維的變數,那f(y)是幾維空間裡的函式?

用乙個具體文字分類的例子來看看這種向高維空間對映從而分類的方法如何運作,想象一下,我們文字分類問題的原始空間是1000維的(即每個要被分類的文件被表示為乙個1000維的向量),在這個維度上問題是線性不可分的。現在我們有乙個2000維空間裡的線性函式

f(x』)=』,x』>+b。

注意向量的右上角有個 』。它能夠將原問題變得可分。式中的 w』和x』都是2000維的向量,只不過w』是定值,而x』是變數(好吧,嚴格說來這個函式是2001維的),現在我們的輸入呢,是乙個1000維的向量x,分類的過程是先把x變換為2000維的向量x』,然後求這個變換後的向量x』與向量w』的內積,再把這個內積的值和b相加,就得到了結果,看結果大於閾值還是小於閾值就得到了分類結果。

我們其實只關心那個高維空間裡內積的值,那個值算出來了,分類結果就算出來了。而從理論上說, x』是經由x變換來的,因此廣義上可以把它叫做x的函式(有乙個x,就確定了乙個x』,對吧,確定不出第二個),而w』是常量,它是乙個低維空間裡的常量w經過變換得到的,所以給了乙個w 和x的值,就有乙個確定的f(x』)值與其對應。這讓我們幻想,是否能有這樣一種函式k(w,x),他接受低維空間的輸入值,卻能算出高維空間的內積值』,x』>?

如果有這樣的函式,那麼當給了乙個低維空間的輸入x以後,

g(x)=k(w,x)+b

f(x』)=』,x』>+b

這兩個函式的計算結果就完全一樣,我們也就用不著費力找那個對映關係,直接拿低維的輸入往g(x)裡面代就可以了(再次提醒,這回的g(x)就不是線性函式啦,因為你不能保證k(w,x)這個表示式裡的x次數不高於1)。

萬幸的是,這樣的k(w,x)確實存在(發現凡是我們人類能解決的問題,大都是巧得不能再巧,特殊得不能再特殊的問題,總是恰好有些能投機取巧的地方才能解決),它被稱作核函式(核,kernel),而且還不止乙個,事實上,只要是滿足了mercer條件的函式,都可以作為核函式。核函式的基本作用就是接受兩個低維空間裡的向量,能夠計算出經過某個變換後在高維空間裡的向量內積值。

回想我們上節說的求乙個線性分類器,它的形式應該是:

現在這個就是高維空間裡的線性函式(為了區別低維和高維空間裡的函式和向量,我改了函式的名字,並且給w和x都加上了 』),我們就可以用乙個低維空間裡的函式(再一次的,這個低維空間裡的函式就不再是線性的)來代替,

f(x』) 和g(x)裡的α,y,b全都是一樣一樣的!這就是說,儘管給的問題是線性不可分的,但是我們就硬當它是線性問題來求解,只不過求解過程中,凡是要求內積的時候就用你選定的核函式來算。這樣求出來的α再和你選定的核函式一組合,就得到分類器!

線性分類器和非線性分類器

線性和非線性的區別 1.線性linear,指量與量之間按比例 成直線的關係,在數學上可以理解為一階導數為常數的函式 非線性non linear則指不按比例 不成直線的關係,一階導數不為常數。2.線性的可以認為是1次曲線,比如y ax b 即成一條直線 非線性的可以認為是2次以上的曲線,比如y ax ...

線性分類器

softmax回歸是多分類,其他都是二分類 f x w,b w tx b y in r g f x w begin 1 if f x w 0 0 if f x w 0 end y x in mathbb d y in g f x w begin 1 if f x w 0 0 if f x w 0 e...

線性分類器分類準則

以下 屬於線性分類器最佳準則?機器學習 ml模型 易 a.感知準則函式 b.貝葉斯分類 c.支援向量機 d.fisher準則 正確答案 acd 線性分類器有三大類 感知器準則函式 svm fisher準則,而貝葉斯分類器不是線性分類器。感知準則函式 準則函式以使錯分類樣本到分介面距離之和最小為原則。...