1. 引言
所謂分類模型,是指一類用於解決分類問題的數學模型。
分類的目標是將輸入變數x分到K個離散的類別Ck中的某一類。最常見的情況是,類別互相不想交,因此每個輸入被分到唯一的一個類別中。因此輸入空間被劃分為不同的決策區域(decision region),它的邊界被稱為決策邊界(decision boundary)或者決策面(decision surface)。
在這篇文章中,我們討論分類的線性模型。
所謂分類線性模型,是指決策面是輸入向量x的線性函式,因此被定義為D維輸入空間中的(D - 1)維超平面。
如果資料集可以被線性決策面精確地分類,那麼我們說這個資料集是線性可分的(linearly separable)。
對於迴歸問題來說,目標向量t就是一個實數向量,它的值是我們想要預測的。在分類問題中,使用目標值的方式來表示類別標籤有許多不同的方式。
對於概率模型來說,在二分類問題的情況下,最方便的表達方式是二元表示方法。這種方法中,有一個目標變數t ∈ {0, 1},其中t = 1表示類別C1,而t = 0表示類別C2。我們可以把t的值看成分類結果為C1的概率,這個概率只取極端的值0和1。
對於K > 2類問題,比較方便的方法是使用“1-of-K”編碼規則。這種方法中,t是一個長度為K的向量。如果類別為Cj,那麼t的所有元素tk中,只有tj等於1,其餘的都等於0。
例如,如果我們有5個類別,那麼來自第2個類別的模式給出的目標向量為:
與之前一樣,我們可以把tk看成分類結果為Ck的概率。
我們在之前的文章中,我們討論了分類問題的三種不同方法,即:
- 構造判別函式(discriminant function):直接把向量x分到具體的類別中
- 直接對條件概率分佈 p(Ck | x) 進行建模,並使用這個概率分佈進行最優決策,有兩種不同的方法確定條件概率分佈
- 把條件概率分佈表示為引數模型,然後使用訓練集來最優化引數
- 生成式方法,對類條件概率密度 p(x | Ck) 以及類的先驗概率分佈 p(Ck) 建模,然後使用貝葉斯定理計算後驗概率分佈
我們將在本文中分別討論這3中方法。
在之前的關於線性迴歸模型的討論中,模型的預測y(x, w)由引數w的線性函式給出。在最簡單的情況下,模型對輸入變數也是線性的,因此形式為
即y是一個實數。
然而對於分類問題,我們想預測的是離散的類別標籤,或者更一般地,預測位於區間(0, 1)的後驗概率分佈。
為了完成這一點,我們考慮這個模型的一個推廣,這個模型中我們使用非線性函式f (·)對w的線性函式進行變換,即
在機器學習的文獻中,f(·)被稱為啟用函式(activation function),而它的反函式在統計學的文獻中被稱為連結函式(link function)。
決策面對應於y(x) = 常數,即wTx + w0 = 常數,因此決策面是x的線性函式,即使函式f (·)是非線性函式也是如此,因為最終都可以化簡為x的線性係數的形式。
因此,由上式描述的一類模型被稱為推廣的線性模型(generalized linear model)。
但是, 需要注意的是,與迴歸中使用的模型相反,它們不再是引數的線性模型,因為我們引入了非線性函式f (·)。這會導致計算比線性迴歸模型更加複雜。
2. 判別函式
判別函式是一個以向量x為輸入,把它分配到K個類別中的某一個類別(Ck)的函式。 本章中,我們把我們的精力集中於線性判別函式(linear discriminant function),即那些決策面是超平面的判別函式。
線性判別函式是一個泛概念,在這個概念框架之下,發展出了很多具體的實現方法。為了簡化討論,我們首先考慮兩類的情形,然後把討論擴充套件到K>2的情形。不同的線性判別函式之間的主要差異在於:尋找線性分介面的演算法不同。
0x1:二分類
線性判別函式的最簡單的形式是輸入向量的線性函式,即:
其中w被稱為權向量(weight vector),w0被稱為偏置(bias)。
對於一個輸入向量x,如 果y(x) ≥ 0,那麼它被分到C1中,否則被分到C2中。
對應的決策邊界因此由y(x) = 0確定,它對應著D維空間的一個(D-1)維的超平面。
考慮兩個點xA和xB,兩個點都位於決策面上。由 於y(xA) = y(xB) = 0,我們有wT(xA − xB) = 0,因此向量w與決策面內的任何向量都正交,從而w確定了決策面的方向。
類似地,如果x是決策面內的一個點,那麼y(x) = 0,因此從原點到決策面的垂直距離為:
因此偏置引數w0確定了決策面的位置。下圖給出了D = 2的情況下的這些性質:
二維線性判別函式的幾何表示。決策面(紅色)垂直與w,它距離原點的偏移量由偏置引數w0控制。此外,一個一般的點x與決策面的有符號的正交距離為y(x) / ||x||
我們可以引入一個額外的虛“輸入”x0 = 1,這會使得記號更簡潔,比較方便。引入“虛”輸入後,我們定義w ̃ = (w0, w)以及x ̃ = (x0, x),從而:
在這種情況下,決策面是一個D維超平面,並且這個超平面會穿過(D+1)維擴充套件輸入空間的原點。
0x2:多分類
現在考慮把線性判別函式推廣到K > 2個類別。我們可能會嘗試把多個二分類判別函式結合起來,構造一個K類判別函式。但是,這會產生一些嚴重的困難。
考慮使用 K-1 個分類器,每個分類器用來解決一個二分類問題,把屬於類別Ck和不屬於那個類別的點分開。這被稱為“1對其他”(one-versus-the-rest)分類器。下圖的左側給出了一個涉及到三個類別的例子。這個例子中,這種方法產生了輸入空間中無法分類的區域。
另一種方法是引入 K(K−1)/2 個二元判別函式,對每一對類別都設定一個判別函式。這被稱為“1對1”(one-versus-one)分類器。這樣,每個點的類別根據這些判別函式中的大多數輸出類別確定。但是,這也會造成輸入空間中的無法分類的區域,如下圖所示。
一對一方法和一對多方法表明,使用二分類判別器直接構建多分類判別器是不合理的,一個更好的辦法是,通過引入一個 K類判別函式,我們可以避免這些問題。這個 K類判別函式由 K個線性函式組 成,形式為:
然後對於點x,如果對於所有的 j ≠ k,都有yk(x) > yj(x),那麼就把它分到Ck。於是類別Ck和Cj之間的決策面為yk(x) = yj(x),並且對應於一個(D-1)維超平面,形式為:
這樣的判別函式的決策區域總是單連通的,並且是凸的。為了說明這一點,考慮兩個點xA和xB,兩個點都位於決策區域Rk中,如下圖所示。
任何位於連線xA和xB的線段上的點都可以表示成下面的形式:
其中0 ≤ λ ≤ 1。根據判別函式的線性性質,有:
由於xA和xB位於Rk內部,因此對於所有j ≠ k,都有yk(xA) > yj(xA),以及yk(xB) > yj(xB), 因此
從而也位於Rk內部,即Rk是單連通的並且是凸的。
0x3:學習線性判別函式的引數的方法
1、最小平方方法
在高斯誤差的假設下,最小平方誤差函式的最小化產生了引數值的簡單的解析解。這個結論在一般的K分類問題上也同樣成立。其中目標向量t使用了“1-of-K”二元表示方式。這種設定下,使用最小平方方法的一個理由是它在給定輸入向量的情況下,近似了目標值的條件期望E[t | x]。
對於二元表示方法,條件期望由後驗類概率向量給出。但是不幸的是,這些概率通常很難近似。事實上,近似的過程有可能產生位於區間(0, 1)之外的值,這是因為線性模型的靈活性很受限,我們稍後會討論這個問題。
我們上一小節談到,在K多分類情況下,每個類別Ck由自己的線性模型描述,即:
其中k = 1, . . . , K 。使用向量記號,我們可以很容易地把這些量聚集在一起表示,即:
其中W ̃是一個矩陣,第k列由D+1維向量w ̃k =(wk0,wTk)T組成,x ̃是對應的增廣輸入向量(1, xT)T ,它帶有一個虛輸入x0 = 1。
這樣,一個新的輸入x被分配到輸出yk = w ̃Tkx ̃最大的類別中。
我們現在通過最小化平方和誤差函式來確定引數矩陣W ̃。考慮一個訓練資料集{xn,tn},其中n = 1,...,N,然後定義一個矩陣T,它的第n行是向量tTn 。我們還定義了一個矩陣X ̃,它的第n行是x ̃Tn 。
這樣,平方和誤差函式可以寫成:
令上式關於W ̃的導數等於零,整理,可以得到W ̃的解,形式為:
這樣我們得到了判別函式,形式為:
因此如果我們使用K分類的“1-of-K ”表達方式,那麼這個模型做出的預測會具有下面的性質:
對於任意的x的值,y(x)的元素的和等於1。
但是,這個對於加和的限制本身並不能夠讓模型的輸出表示為概率的形式,因為它們沒有被限制在區間(0, 1)中,平方和最小化公式沒有進行概率歸一化處理。
最小平方方法對於判別函式的引數給出了精確的解析解。但是,即使作為一個判別函式,它仍然有很嚴重的問題。我們已經看 到,最小平方解對於離群點缺少魯棒性,這一點對於分類問題也是一樣的,如下圖所示。
我們看到,右圖中的額外的資料點對決策邊界的位置產生了極大的改變,即使這也點能夠被左圖中的原始的決策邊界正確地分類。這表明最小平方方法對於異常點很敏感。
平方和誤差函式懲罰了“過於正確”的預測,因為他們在正確的一側距離決策邊界太遠了。
但是,最小平方方法的問題實際上比簡單的缺乏魯棒性更加嚴重,如下圖所示。
由三個類別組成的人工資料集的例子,訓練資料點分別用紅色(×)、綠色(+)、藍色(◦)標 出。直線表示決策邊界,背景顏色表示決策區域代表的類別。左圖是一個使用最小平方判別函式的結果。我們看到分配到綠色類別的輸入空間的區域過小,大部分來自這個類別的點都被錯誤分類。右圖是使用logistic迴歸的結果,給出了訓練資料的正確分類情況。
最小平方方法的失敗並不讓我們感覺驚訝。回憶一下,最小平方方法對應於高斯條件分佈假設下的最大似然法,而二值目標向量的概率分佈顯然不是高斯分佈。
換句話說,當目標隨機變數符合高斯或近似高斯分散式,基於最小平方損失的概率建模才是有效的。
解決這個矛盾的一個方法是通過使用更恰當的概率模型,我們會得到性質比最小平方方法更好的分類方法。但是現在,我們繼續研究另外的非概率方法來設定線性分類模型中的引數。
2、Fisher線性判別函式
我們可以從維度降低的角度考察線性分類模型。首先考慮二分類的情形。假設我們有一個D維輸入向量x,然後使用下式投影到一維:
如果我們在y上設定一個閾值,然後把 y ≥ −w0 的樣本分為C1類,把其餘的樣本分為C2類,那麼我們就得到了之前討論的標準的線性分類器。
通常來說,向一維投影會造成相當多的資訊丟失,因此在原始的D維空間能夠完美地分離開的樣本可能在一維空間中會相互重疊。但是,通過調整權向量w,我們可以選擇讓類別之間分開最大的一個投影。
首先,考慮一個二分類問題,這個問題中有C1類的N1個點以及C2類的N2個點。因此兩類的均值向量為:
如果投影到w上,那麼最簡單的度量類別之間分開程度的方式就是類別均值投影之後的距離。這說明,我們可以選擇w使得下式取得最大值:
其中:
是來自類別Ck的投影資料的均值。
但是,通過增大w,這個表示式可以任意大。為了解決這個問題,我們可以將w限制為單位長度,即∑iwi2 = 1。
使用拉格朗日乘數法來進行有限制條件的最大化問題的求解,我們可以發現
w ∝ (m2 − m1)
但是,這個方法還有一個問題,如下圖所示。
這幅圖中的兩個類別在原始二維空間(x1, x2)中可以完美地被分開,但是當投影到連線它們的均值的直線上時,就有了一定程度的重疊。
如果類概率分佈的協方差矩陣與對角化矩陣差距較大,那麼這種問題就會出現。
針對這個問題,Fisher提出的思想是:
最大化一個函式,這個函式能夠讓類均值的投影分開得較大,同時讓每個類別內部的方差較小,從而最小化了類別的重疊。
投影將x的一組有標記的資料點變換為一位空間y的一組有標記資料點。來自類別Ck的資料經過變換後的類內方差為:
其中 yn = wTxn。我們可以把整個資料集的總的類內方差定義為:s21 + s22。
Fisher準則根據類間方差和類內方差的比值定義,即:
其中SB是類間(between-class)協方差矩陣,形式為:
SW被稱為類內(within-class)協方差矩陣,形式為:
對公式關於w求導,我們發現J(w)取得最大值的條件為:
根據上式,我們看到SBw總是在(m2 - m1)的方向上。更重要的是,我們不關心w的大小,只關心它的方向,因此我們可以忽略標量因子(wTSBw)和(wTSWw)。將上式的兩側乘以SW-1,我們有:
上式的結果被稱為Fisher線性判別函式(Fisher linear discriminant)。
雖然嚴格來說它並不是一個判別函式,而是對於資料向一維投影的方向的一個具體選擇(模型引數)。然而,投影的資料可以接下來被用於構建判別函式,構建的方法為:
選擇一個閾值y0,使得當y(x) ≥ y0時,我們把資料點分到C1,否則我們把資料點分到C2
例如,我們可以使用高斯概率分佈對類條件概率密度p(y | Ck)建模,然後使用最大似然方法找到高斯分佈的引數值。
我們注意到,y = wTx是一組隨機變數的和,因此根據中心極限定理,我們可以做出高斯分佈的假設。
3、Fisher線性判別函式與最小平方的關係
最小平方方法確定線性判別函式的目標是使模型的預測儘可能地與目標值接近。相反,Fisher判別準則的目標是使輸出空間的類別有最大的區分度。
討論一下這兩種方法之間的關係是很有趣的。特別的,對於二分類問題,Fisher準則可以看成最小平方的一個特例。
目前為止,我們已經考慮了目標變數的“1-of-K ”表示方法。然而,如果我們使用一種稍微不同的表達方法,那麼權值的最小平方解就會變得等價於Fisher解。
我們讓屬於C1的目標值等於N/N1 ,其中N1是類別C1的模式的數量,N是總的模式數量。這個目標值近似於類別C1的先驗概率的導數。對於類別C2,我們令目標值等於 -N/N2 ,其中N2是類
別C2的模式的數量。
平方和誤差函式可以寫成:
令E關於w0和w的導數等於零,我們有
使用我們對於目標值tn的表示方法,我們可以得到偏置的表示式:
其中我們使用了下面的結果:
其中m是所有資料的均值,定義為:
再次使用我們對於tn的新的表示方法,上述方程變為:
其中,我們已經忽略了不相關的標量因子。因此權向量恰好與根據Fisher判別準則得到的結果相同。
4、感知器演算法
線性判別模型的另一個例子是Rosenblatt(1962)提出的感知器演算法。它在模式識別演算法的歷史上佔有重要的地位。
它對應於一個二分類的模型,這個模型中,輸入向量x首先使用一個固定的非線性變換(基函式)得到一個特徵向量φ(x),這個特徵向量然後被用於構造一個一般的線性模型,形式為:
其中非線性啟用函式f(·)是一個階梯函式,形式為:
用來確定感知器的引數w的演算法可以很容易地從誤差函式最小化的思想中得到。誤差函式的一個自然的選擇是誤分類的模式的總數。
但是,因為啟用函式是階躍變化的,本身不可微,直接最小化誤差的結果就是,會使誤差函式變為w的分段常函式,從而當w的變化使得決策邊界移過某個資料點時,這個函式會不連續變化。
因此我們考慮一個另外的誤差函式,被稱為感知器準則(perceptron criterion)。
為了推導這個函式,我們注意到我們正在做的是尋找一個權向量w,使得對於類別C1中的模式xn都 有wTφ(xn) > 0,而對於類別C2中的模式xn都有wTφ(xn) < 0。
使用t ∈ {−1, +1}這種目標變數的表示方法,我們要做的就是使得所有的模式都滿足wTφ(xn)tn > 0。
對於正確分類的模式,感知器準則賦予零誤差,而對於誤分類的模式xn,它試著最小化−wTφ(xn)tn。因此,感知器準則為:
其中φn = φ(xn)和M表示所有誤分類模式的集合。
某個特定的誤分類模式對於誤差函式的貢獻,是w空間中模式被誤分類的區域中w的線性函式,而在正確分類的區域,誤差函式等於零。總的誤差函式因此是分段線性的。
我們現在對這個誤差函式使用隨機梯度下降演算法。這樣,權向量w的變化為
其中η是學習率引數,τ是一個整數,是演算法執行次數的索引。
注意,隨著訓練過程中權向量的不斷改變,誤分類的模式也會改變。
感知器學習演算法可以簡單地表示如下。我們反覆對於訓練模式進行迴圈處理,對於每個模式xn我們計算感知器函式。如果模式正確分類,那麼權向量保持不變,而如果模式被錯誤分類,那麼對於類別C1,我們把向量φ(xn)加到當前對於權向量w的估計值上,而對於類別C2,我們從w中減掉向量φ(xn)。下圖說明了感知器學習演算法。
感知器演算法收斂性的說明,給出了二維特徵空間(φ1, φ2)中的來自兩個類別的資料點(紅色和藍色)。左上圖給出了初始引數向量w,表示為黑色箭頭,以及對應的決策邊界(黑色直線),其中箭頭指向被分類為紅色類別的決策區域。用綠色圓圈標出的資料點被誤分類,因此它的特徵向量被加到當前的權向量中,給出了新的決策邊界,如右上圖所示。左下圖給出了下一個誤分類的點,用綠色圓圈標出,它的特徵向量再次被加到權向量上,給出了右下圖的決策邊界。這個邊界中所有的資料點都被正確分類。
如果我們考慮感知器學習演算法中一次權值更新的效果,我們可以看到,一個誤分類模式對於誤差函式的貢獻會逐漸減小。因為根據上面誤差公式,我們有
當然,這並不表明其他的誤分類模式對於誤差函式的貢獻會減小。此外,權向量的改變會使得某些之前正確分類的樣本變為誤分類。因此感知器學習規則並不保證在每個階段都會減小整體的誤差函式。
感知器收斂定理(perceptron convergence theorem)表明:
- 如果存在一個精確的解(即,如果訓練資料線性可分),那麼感知器演算法可以保證在有限步驟內找到一個精確解。
- 但是,達到收斂狀態所需的步驟數量可能非常大,並且在實際應用中,在達到收斂狀態之前,我們不能夠區分不可分問題與緩慢收斂問題。
- 同時,即使資料集是線性可分的,也可能有多個解,並且最終哪個解會被找到依賴於引數的初始化以及資料點出現的順序。
- 此外,對於線性不可分的資料集,感知器演算法永遠不會收斂。
除了學習演算法的這些困難之處以外,感知器演算法無法提供概率形式的輸出,也無法直接推廣到 K > 2 個類別的情形。然而,最重要的侷限性是它基於固定基函式的線性組合,無法提供對更復雜的非線性概率分佈的擬合。
筆者思考:
決策樹、SVM、線性判別器、深度神經網路梯度下降演算法,機器學習領域的諸多演算法,究其本質都是在討論尋找D維分介面的方法。研究在確定資料集的情況下,如何充分挖掘資料的價值。這與代表傳統領域的傳統專家和領域專家之間並不矛盾,工業界常常出現的兩陣營互相看不起的情況,筆者認為大可不必。領域專家解決的是產業和資料集本身的問題,他們做的事最核心的目的是提高最終效果的上限。光有資料是不夠的,資料就像石油,還需要配合上演算法,才能更好地從石油中提取出有價值的甲烷和工業原料,更好地造福社會。
3. 概率生成式模型
這一章,我們嘗試用概率的觀點考察分類問題,並且說明具有線性決策邊界的模型如何通過對資料分佈的簡單假設得到。
0x1:概率生成式模型一般形式
對於概率生成式方法來說,我們對類條件概率密度p(x | Ck)和類先驗概率分佈p(Ck)建模, 然後使用這兩個概率密度通過貝葉斯定理計算後驗概率密度p(Ck | x)。
首先考慮二分類的情形。類別C1的後驗概率可以寫成:
類別C2也同理。
σ(a)是logistic sigmoid函式,定義為:
logistic sigmoid的反函式為:
被稱為logit函式。它表示兩類的概率比值的對數
也被稱為log odds函式。
通俗的理解,a代表了正例和負例,各自後驗概率的比值的log對數,被稱為機率(odd),
- 當C1的後驗概率大於C2的後驗概率時,p(x | C1)p(C1) / p(x | C2)p(C2) >= 1,ln p(x | C1)p(C1) / p(x | C2)p(C2) >= 0.5,根據最大後驗概率準則,C1為預測結果
- 當C2的後驗概率大於C1的後驗概率時,p(x | C1)p(C1) / p(x | C2)p(C2) <= 1,ln p(x | C1)p(C1) / p(x | C2)p(C2) <= 0.5,根據最大後驗概率準則,C2為預測結果
下圖給出了這個函式的影像。
“sigmoid”的意思是“S形”。這種函式有時被稱為“擠壓函式”,因為它把整個實數軸對映到了一個有限的區間中。
這個函式在許多分類演算法中都有著重要的作用。它滿足下面的對稱性:
注意在上面公式中,我們只是把後驗概率寫成了一個等價的形式,
需要注意的是,改變a(x)的函式形式相當簡單,sigmoid函式只是一個特殊。
我們之後會討論a(x)是x的線性函式的情形。這種情況下,後驗概率由一個通用的線性模型確定。
0x2:不同類條件概率密度形式下的概率生成式模型
我們現在考慮選擇具體的類條件概率密度形式的情況下的結果,首先討論連續輸入變數x的情形,然後簡短地討論離散輸入的情形。
1、連續輸入
讓我們假設類條件概率密度是高斯分佈,然後求解後驗概率的形式。首先,我們假定所有的類別的協方差矩陣相同。這樣類別Ck的類條件概率為:
根據上一章關於類後驗概率以及logistic sigmoid公式的定義,我們有:
其中我們定義了:
我們看到,高斯概率密度的指數項中x的二次型消失了(這是因為我們假設類概率的協方差矩陣相同),從而得到了引數為x的線性函式的logistic sigmoid函式。
下圖給出了二維輸入空間x的情況下的結果。
最終求得的決策邊界對應於後驗概率p(Ck | x)為常數的決策面,因此由x的線性函式給出,從而決策邊界在輸入空間是線性的。
先驗概率密度p(Ck)只出現在偏置引數w0中,因此先驗的改變的效果是平移決策邊界,即平移後驗概率中的常數輪廓線。
2、離散特徵
現在讓我們考慮離散特徵值xi的情形。為了簡化起見,我們首先考察二元特徵值xi∈{0,1}。
如果有D個輸入,那麼一般的概率分佈會對應於一個大小為2D的表格,包含2D−1個獨立變數(由於要滿足加和限制)。由於這會隨著特徵的數量指數增長,因此我們想尋找一個更加嚴格的表示方法。
這裡,我們做出樸素貝葉斯(naiveBayes)的假設,這個假設中,特徵值被看成相互獨立的,以類別Ck為條件。因此我們得到類條件分佈,形式為:
其中對於每個類別,都有D個獨立的引數。代入公式
我們有:
這是輸入變數xi的線性函式。
3、指數族分佈
正如我們已經看到的,無論是服從高斯分佈的輸入,還是離散的輸入,後驗類概率密度都是由一般的線性模型和logistic sigmoid(K = 2個類別)或者softmax(K ≥ 2個類別)啟用函式給出。
通過假定類條件概率密度p(x | Ck)是指數族分佈的成員,我們可以看到上述結果都是更一般的結果的特例,logistic sigmoid也是指數族分佈的一特例。
我們可以看到x的分佈可以寫成下面的形式:
對於二分類問題,我們把這個類條件概率密度的表示式代入公式
我們看到後驗概率與之前一樣,是一個作用線上性函式a(x)上的logistic sigmoid函式。a(x)的形式為:
類似地,對於K類問題,我們把類條件概率密度的表示式代入公式
得:
可以看到,這同樣是一個x的線性函式。
筆者插入:
從概率的角度看分類,線性分類的目標是尋找最大後驗概率估計。通過選擇滿足指數族分佈的類條件概率分佈p(x | Ck),最大後驗概率公式,可以化簡等價於作用在x的線性函式上的logistic sigmoid函式的形式。這本質上,就是生成式模型和判別式模型,在底層原理上的一致。
4. 概率判別式模型
對於二分類問題,我們已經看到,對於一大類的類條件概率密度p(x | Ck)的選擇,類別C1後驗概率分佈可以寫成作用於x的線性函式上的logistic sigmoid函式的形式。
類似地,對於多分類的情形,類別Ck的後驗概率由x的線性函式的softmax變換給出。
對於類條件概率密度p(x | Ck)的具體的選擇,我們可以使用了最大似然方法估計概率密度的引數以及類別先驗p(Ck),然後使用貝葉斯定理就可以求出後驗類概率。另一種方法是顯示地使用一般的線性模型的函式形式,然後使用最大似然法直接確定它的引數。尋找這樣的解有一個高效的演算法,被稱為迭代重加權最小平方 (iterative reweighted least squares),或者簡稱IRLS。
這種方法代表了判別式訓練的一種形式。判別式方法的一個優點是通常有更少的可調節引數需要確定,正如我們稍後會看到的那樣。並且預測表現也會提升, 尤其是當類條件概率密度的假設沒有很好地近似真實的分佈的時候更是如此。
0x1:固定基函式
對於分類模型來說,如果我們首先使用一個基函式向量φ(x)對輸入變數進行一個固定的非線性變換,最終的決策邊界在特徵空間φ中是線性的,對應於原始x空間中的非線性決策邊界,如下圖所示。
線性分類模型的非線性基函式的作用的說明。左圖中給出了原始的輸入空間(x1, x2)以及標記為紅色和藍色的資料點。這個空間中定義了兩個“高斯”基函式φ1(x)和φ2(x),中心用綠色十字表示,輪廓線 用綠色圓形表示。
右圖給出了對應的特徵空間(φ1, φ2)以及線性決策邊界。決策邊界由線性迴歸模型得到。對應的在原始空間中的非線性決策邊界在左圖中用黑色曲線標記出。
在特徵空間φ(x)線性可分的類別未必在原始的觀測空間x中線性可分。恰當地選擇非線性變換能夠讓後驗概率的建模過程更簡單。
0x2:logistic迴歸
我們首先通過二分類問題開始我們對於一般線性模型方法的討論。在之前的討論中我們看到,在一些相當一般的假設條件下,類別C1的後驗概率可以寫成作用在特徵向量φ的線性函式上的logistic sigmoid函式的形式,即:
且p(C2 | φ) = 1 − p(C1 | φ),σ(·)是logistic sigmoid函式。
使用統計學的術語,這個模型被稱為logistic迴歸,雖然應該強調的一點是,這是一個分類模型而不是迴歸模型。
我們現在使用最大似然方法來確定logistic迴歸模型的引數。為了完成這一點,我們要使用logistic sigmoid函式的導數,它可以很方便地使用sigmoid函式本身表示如下:
對於一個資料集φn,tn,其中tn ∈ {0,1}且φn = φ(xn),並且n = 1,...,N,似然函式可以寫成:
其中,t=(t1,t2,....,tN)T,且 yn = p(C1 | φn)。
我們可以通過取似然函式負對數的方式來定義誤差函式,這種方式產生了交叉熵(cross-entropy)誤差函式,形式為:
其中yn = σ(an)且an = wTφn。
1、最大似然估計
兩側關於w取誤差函式的梯度,我們有:
我們看到,涉及到logistic sigmoid的導數的因子已經被消去,使得對數似然函式的梯度的形式十分簡單。
特別地,資料點n對梯度的貢獻為目標值和模型預測值之間的“誤差”yn - tn與基函式向量φn相乘。
值得注意的一點是,最大似然方法對於線性可分的資料集會產生嚴重的過擬合現象。這是由於最大似然解出現在超平面對應於σ = 0.5的情況,它等價於wTφ = 0。
最大似然解把資料集分成了兩類,並且w的大小趨向於無窮大。這種情況下,logistic sigmoid函式在特徵空間中變得非常陡峭,對應於一個跳變的階梯函式,使得每一個來自類別k的訓練資料都被賦予一個後驗概率p(Ck | x) = 1。
最大似然方法無法區分某個解優於另一個解,並且在實際應用中哪個解被找到將會依賴於優化演算法的選擇和引數的初始化。注意,即使與模型的引數相比資料點的數量很多,只要資料是線性可分的,這個問題就會出現。
通過引入先驗概率,然後尋找w的MAP解,或者等價地,通過給誤差函式增加一個正則化項,這種奇異性就可以被避免。
2、迭代重加權最小平方
在高斯噪聲模型的假設的情況下,最大似然解有解析解。這是因為對數似然函式為引數向量w的二次函式。但是對於logistic迴歸來說,不再有解析解了,因為logistic sigmoid函式是一個非線性函式。
然而,函式形式並不是logistic sigmoid沒有解析解的本質原因。精確地說,如果誤差函式是凸函式,那麼它就一定有一個唯一的最小值,反之則不成立。
對於沒有解析解的情況,誤差函式可以通過另一種高效的迭代方法求出最小值,這種迭代方法基於Newton-Raphson迭代最優化框架,使用了對數似然函式的區域性二次近似。
為了最小化函式E(w),Newton-Raphson對權值的更新的形式為:
其中H是一個Hessian矩陣,它的元素由E(w)關於w的二階導陣列成。
讓我們把Newton-Raphson更新應用到logistic迴歸模型的交叉熵誤差函式上。我們看到這個誤差函式的梯度和Hessian矩陣為:
我們看到Hessian矩陣不再是常量,而是通過權矩陣R依賴於w。這對應於誤差函式不是二次函式的事實。
使用性質0 < yn < 1(這個性質來自於logistic sigmoid函式形式),我們看到對於任意向量u都有uTHu > 0,因此Hessian矩陣H是正定的。因此誤差函式是w的一個凸函式,從而有唯一的最小值。
這樣,logistic迴歸模型的Newton-Raphson更新公式就變成了:
其中z是一個 N 維向量,元素為:
由於權矩陣R不是常量,而是依賴於引數向量w,因此我們必須迭代地應用規範方程,每次使用新的權向量w計算一個修正的權矩陣R。
由於這個原因,這個演算法被稱為迭代重加權最小平方(iterative reweighted least squares),或者簡稱為IRLS。
與加權的最小平方問題一樣,對角矩陣R可以看成方差,因為logistic迴歸模型的t的均值和方差為:
事實上,我們可以把IRLS看成變數空間a = wTφ的線性問題的解。這樣,z的第n個元素zn就可以簡單地看成這個空間中的有效的目標值。
zn可以通過對當前操作點w舊附近的logistic sigmoid函式的區域性線性近似的方式得到。
0x3:probit迴歸
我們已經看到,對於由指數族分佈描述的一大類(並不是所有)的類條件概率分佈,最終求出的後驗類概率為作用在特徵變數的線性函式上的logistic(或者softmax)變換。
然而,不是所有的類條件概率密度都有這樣簡單的後驗概率函式形式(例如,如果類條件概率密度由高斯混合模型建模),在logistic sigmoid之下還有更一般性的後驗概率函式形式。
這個小節,我們將會回到二分類的情形,再次使用一般的線性模型的框架,即:
其中a = wTφ,且f (·)為啟用函式。
我們選擇其他的連結函式的原因可以通過噪聲閾值模型看出來,如下所述。對於每個輸入φn,我們計算an = wTφn,然後按照下面的方式設定目標值:
如果θ的值從概率密度p(θ)中抽取,那麼對應的啟用函式由累積分佈函式給出:
如下圖所示:
概率分佈p(θ)的圖形表示,這個概率分佈用藍色曲線標記出。這個例子中,這個分佈由兩個高斯分佈混合而成。同時給出的還有它的累積密度函式f(a),用紅色曲線表示。注意,藍色曲線上的任意一點,例如垂直綠色直線標記出的點,對應於紅色曲線在相同一點處的斜率。相反,紅色曲線在這點上的值對應於藍色曲線下方的綠色陰影的面積。在隨機閾值模型中,如果a = wTφ的值超過某個閾值,則類 別標籤的取值為t = 1,否則它的取值為t = 0。這等價於由累積密度函式f(a)給出的啟用函式。
作為一個具體的例子,假設概率密度p(θ)是零均值、單位方差的高斯概率密度。對應的累積分佈函式為:
這被稱為逆probit(inverse probit)函式。它的形狀為sigmoid形。注意,使用更一般的高斯分佈不會改變模型,因為這樣做等價於對線性係數w的重新縮放。
許多用於計算這個函式的數值計算包都與下面的這個函式緊密相關:
它被稱為erf函式或者被稱為error函式。它與逆probit函式的關係為:
基於probit啟用函式的一般的線性模型被稱為probit迴歸。
我們可以使用最大似然法來確定模型的引數,這是之前討論的思想的一個直接推廣。在實際應用中,使用probit迴歸得到的結果傾向於與logistic迴歸得到的結果類似。
在實際應用中經常出現的一個問題是離群點,它可能由輸入向量x的測量誤差產生,或者由目標值t的錯誤標記產生。
由於這些點可以位於錯誤的一側中距離理想決策邊界相當遠的位置上,因此他們會嚴重地干擾分類器。
注意,在這一點上,logistic迴歸模型與probit迴歸模型的表現不同,因為對於x → ∞,logistic sigmoid函式像exp(-x)那樣漸進地衰減,而probit啟用函式 像exp(-x2)那樣衰減,因此probit模型對於離群點會更加敏感。
然而,logistic模型和probit模型都假設資料點被正確標記了。錯誤標記的影響可以很容易地合併到概率模型中。我們引入一個概率ε,它是目標值t被翻轉到錯誤值的概率。這時,資料點x的目標值的分佈為:
其中σ(x)是輸入向量x的啟用函式。這裡,ε可以事先設定,也可以被當成超引數,然後從資料中推斷它的值。