線性分類|機器學習推導系列(四)
一、從線性回歸到線性分類
1. 線性回歸的特性
線性回歸具備線性、全局性和數據未加工的特性。
線性包括三個方面,其中屬性線性指的是關於
是線性的;全局線性指的是
只是一個線性組合,然後直接就輸出得到
;係數線性指的是
關於
是線性的。
全局性指的是線性回歸是在整個特徵空間上學習,並沒有將特徵空間進行劃分然後在每個劃分上學習。
數據未加工指的是線性回歸直接在給定數據上進行學習沒有對數據進行其他的加工。
其他的學習演算法跟線性回歸比較起來打破了其某些特性,在上面的樹狀圖中也舉出了一些例子。
2. 從線性回歸到線性分類
線性回歸經過一個激活函數然後根據一個閾值來獲得分類的結果,如此就成為線性分類,也可以理解為將降維到一維而獲得分類結果。
3. 硬分類和軟分類
二、感知機
1. 概述
假設有一可以被線性分類的樣本集,其中
。感知機演算法使用隨機梯度下降法(SGD)來在特徵空間
尋找一個超平面
來將數據劃分為正、負兩類,其中
,是超平面的法向量。
2. 學習策略
感知機的思想是錯誤驅動。其模型是,
輸出該樣本點的類別,定義集合M為誤分類點的集合。
可以確定對於誤分類的數據來說,滿足以下關係:
損失函數的一個自然選擇是誤分類點的個數,即,但是這樣的損失函數是不可導的,不易優化。因此採用另一種損失函數,即誤分類點到超平面的總距離。
在空間中任一點
到超平面的距離為:
因此所有誤分類點到超平面的總距離為:
不考慮,就得到感知機的損失函數:
3. 學習演算法
計算損失函數的梯度:
感知機的學習演算法使用隨機梯度下降法(SGD),這裡選取作為學習率,其學習的步驟如下:
①選取初值;
②在訓練集中選取數據;
③如果,則更新參數:
④轉至②,直到訓練集中沒有誤分類點。
截止這裡我們都是假設數據是線性可分的,如果線性不可分,可以用口袋演算法(pocket algorithm),這裡不做過多介紹。
三、線性判別分析
1. 概述
線性判別分析可用於處理二分類問題,其過程是尋找一個最佳的投影方向,使得樣本點在該方向上的投影符合類內小、類間大的思想,具體指的是類內的方差之和小,類間的均值之差大。
假設有以下數據:
2. 線性判別分析的損失函數
投影軸的方向向量為,將樣本點往該軸上投影以後的值
為
,均值和方差按照如下方法計算:
接下來計算每一類的均值和方差:
定義損失函數:
極大化就可以使得類內的方差之和小,類間的均值之差大。
3. 線性判別分析的求解
進一步如果是各向同性的對角矩陣的話,
。
四、邏輯回歸
1. 概述
邏輯回歸是一種二分類演算法,通過激活函數將線性組合
壓縮到
和
之間來代表屬於某一個分類的概率。
假設有如下數據:
2. 激活函數
其影像為:
sigmoid函數
3. 邏輯回歸的模型
邏輯回歸預測的概率,然後根據極大似然估計法來求解。
4. 邏輯回歸的求解
因此這裡的極大似然估計就等價於極小化交叉熵損失函數。
求導的過程較為簡單,就不做展示了。
五、高斯判別分析
1. 概述
假設有如下數據:
2. 高斯判別分析的模型
在高斯判別分析中樣本數據的類別在給定的情況下服從伯努利分布,另外不同類別中的樣本數據分別服從多元高斯分布,因此有以下模型:
這裡假設兩個高斯分布具有同樣的方差。
3. 高斯判別模型的求解
-
損失函數
高斯判別模型的損失函數為其似然,要估計的參數
為
:
然後使用極大似然估計法來求解:
定義標籤為的樣本個數為
,標籤為
的樣本個數為
,則有
。
-
求解
只存在於③式中,因此求解
只需要看③式即可:
-
求解
只存在於①式中,因此求解
只需要看①式即可:
-
求解
以下是求解過程中用到的一些預備知識:
兩類數據按照以下兩個集合來表示:
然後進行求解:
然後求解上式中的通項:
然後對進行求導:
六、樸素貝葉斯
1. 概述
假設有如下數據:
2. 樸素貝葉斯的模型
樸素貝葉斯分類器可以用來做多分類,其基本思想是條件獨立性假設,即假設數據的每個特徵之間是相互獨立的,其形式化表達為
樸素貝葉斯分類器是最簡單的概率圖模型(有向圖):
給定,判斷
的類別可以通過以下方法,即將
歸為類別的概率中最大的一類:
是先驗概率,如果有兩類則服從伯努利分布(Bernoulli distribution),如果有多類則服從類別分布(Categorical distribution)。
則符合條件獨立性假設
,其中對於
,如果
是離散的,則可以認為其服從類別分布(Categorical distribution),如果
是連續的,則可以認為其服從高斯分布(Gaussian distribution)。
至於其求解過程則可以根據具體情況使用極大似然估計法即可。對於樸素貝葉斯方法重要的是理解其條件獨立性假設,這個假設也是其被稱為「樸素(Naive)」的原因。
參考資料
ref:李航《統計學習方法》