線性分類|機器學習推導系列(四)

一、從線性回歸到線性分類

1. 線性回歸的特性

\left\{\begin{matrix} 線性\left\{\begin{matrix} 屬性線性\overset{打破}{\rightarrow}屬性非線性:特徵轉換(多項式回歸)\\ 全局線性\overset{打破}{\rightarrow}全局非線性:線性分類(激活函數是非線性)\\ 係數線性\overset{打破}{\rightarrow}係數非線性:神經網路 \end{matrix}\right.\\ 全局性\overset{打破}{\rightarrow}線性樣條回歸、決策樹\\ 數據未加工\overset{打破}{\rightarrow}PCA、流形 \end{matrix}\right.

線性回歸f(w,b)=w^{T}x+b具備線性、全局性和數據未加工的特性。

線性包括三個方面,其中屬性線性指的是f(w,b)關於x是線性的;全局線性指的是w^{T}x+b只是一個線性組合,然後直接就輸出得到f(w,b);係數線性指的是f(w,b)關於w^{T}是線性的。

全局性指的是線性回歸是在整個特徵空間上學習,並沒有將特徵空間進行劃分然後在每個劃分上學習。

數據未加工指的是線性回歸直接在給定數據上進行學習沒有對數據進行其他的加工。

其他的學習演算法跟線性回歸比較起來打破了其某些特性,在上面的樹狀圖中也舉出了一些例子。

2. 從線性回歸到線性分類

線性回歸\overset{激活函數}{\underset{降維}{\Rightarrow }}線性分類

線性回歸經過一個激活函數然後根據一個閾值來獲得分類的結果,如此就成為線性分類,也可以理解為將w^{T}x+b降維到一維而獲得分類結果。

激活函數y=f(w^{T}x+b),y\in \left\{\begin{matrix} \left \{0,1\right \},硬分類\\ [0,1],軟分類 \end{matrix}\right.\\ 函數f叫做激活函數(activation\: function)\\ 函數f^{-1}叫做鏈接函數(link\: function)\\ f:w^{T}x+b \mapsto \left \{0,1\right \}/[0,1]\\ f^{-1}:\left \{0,1\right \}/[0,1]\mapsto w^{T}x+b

3. 硬分類和軟分類

線性分類\left\{\begin{matrix} 硬分類\left\{\begin{matrix} 線性判別分析\\ 感知機 \end{matrix}\right.\\ 軟分類\left\{\begin{matrix} 高斯判別分析\\ 樸素貝葉斯\\ 邏輯回歸 \end{matrix}\right. \end{matrix}\right.

二、感知機

1. 概述

假設有一可以被線性分類的樣本集\left \{(x_{i},y_{i})\right \}_{i=1}^{N},其中x_{i}\in \mathbb{R}^{p},y_{i}\left \{-1,+1\right \}。感知機演算法使用隨機梯度下降法(SGD)來在特徵空間\mathbb{R}^{p}尋找一個超平面w^{T}x+b=0來將數據劃分為正、負兩類,其中w\in \mathbb{R}^{p},是超平面的法向量。

2. 學習策略

感知機的思想是錯誤驅動。其模型是f(x)=sign(w^{T}x+b)f(x)輸出該樣本點的類別,定義集合M為誤分類點的集合。

可以確定對於誤分類的數據(x_{i},y_{i})來說,滿足以下關係:

\underset{=\left |w^{T}x_{i}+b \right |}{\underline{-y_{i}(w^{T}x_{i}+b)}}>0

損失函數的一個自然選擇是誤分類點的個數,即L(w)=\sum_{i=1}^{N}I\left \{-y_{i}(w^{T}x_{i}+b)>0\right \},但是這樣的損失函數是不可導的,不易優化。因此採用另一種損失函數,即誤分類點到超平面的總距離。

{R}^{p}空間中任一點x_{0}到超平面的距離為:

\frac{\left | w^{T}x_{0}+b\right |}{\left \| w\right \|}\\ (可以參考初中知識,平面中點到直線的距離:d=\frac{\left | Ax+By+C\right |}{\sqrt{A^{2}+B^{2}}})

因此所有誤分類點到超平面w^{T}x+b=0的總距離為:

\sum _{x_{i}\in M}\frac{\left | w^{T}x_{0}+b\right |}{\left \| w\right \|}=-\frac{1}{{\left \| w\right \|}}\sum _{x_{i}\in M}y_{i}(w^{T}x_{i}+b)

不考慮\frac{1}{{\left \| w\right \|}},就得到感知機的損失函數:

L(w,b)=-\sum _{x_{i}\in M}y_{i}(w^{T}x_{i}+b)

3. 學習演算法

計算損失函數的梯度:

\frac{\partial L(w,b)}{\partial w}=-\sum _{x_{i}\in M}y_{i}x_{i} \\ \frac{\partial L(w,b)}{\partial b}=-\sum _{x_{i}\in M}y_{i}

感知機的學習演算法使用隨機梯度下降法(SGD),這裡選取\eta (0<\eta\leq 1)作為學習率,其學習的步驟如下:
①選取初值w_{0},b_{0}
②在訓練集中選取數據(x_{i},y_{i})
③如果y_{i}(w^{T}x_{i}+b)\leq 0,則更新參數:

w\leftarrow w+\eta y_{i}x_{i}\\ b\leftarrow b+\eta y_{i}

④轉至②,直到訓練集中沒有誤分類點。

截止這裡我們都是假設數據是線性可分的,如果線性不可分,可以用口袋演算法(pocket algorithm),這裡不做過多介紹。

三、線性判別分析

1. 概述

線性判別分析可用於處理二分類問題,其過程是尋找一個最佳的投影方向,使得樣本點在該方向上的投影符合類內小、類間大的思想,具體指的是類內的方差之和小,類間的均值之差大。

假設有以下數據:

X=(x_{1},x_{1},\cdots ,x_{N})^{T}=\begin{pmatrix} x_{1}^{T}\\ x_{2}^{T}\\ \vdots \\ x_{N}^{T} \end{pmatrix}_{N\times p}Y=\begin{pmatrix} y_{1}\\ y_{2}\\ \vdots \\ y_{N} \end{pmatrix}_{N \times 1}\\ \left \{(x_{i},y_{i})\right \}_{i=1}^{N},x_{i}\in \mathbb{R}^{p},y_{i}\in \{\underset{C_{1}}{\underline{+1}},\underset{C_{2}}{\underline{-1}}\}\\ x_{C_{1}}=\left \{x_{i}|y_{i}=+1\right \},x_{C_{2}}=\left \{x_{i}|y_{i}=-1\right \}\\ \left | x_{C_{1}}\right |=N_{1},\left | x_{C_{2}}\right |=N_{2},N_{1}+N_{2}=N

2. 線性判別分析的損失函數

投影軸的方向向量為w,將樣本點往該軸上投影以後的值z_{i}w^{T}x_{i},均值和方差按照如下方法計算:

均值\bar{z}=\frac{1}{N}\sum_{i=1}^{N}z_{i}=\frac{1}{N}\sum_{i=1}^{N}w^{T}x_{i} \\ 方差S_{z}=\frac{1}{N}\sum_{i=1}^{N}(w^{T}x_{i}-\bar{z})(w^{T}x_{i}-\bar{z})^{T}

接下來計算每一類的均值和方差:

C_{1}:\\ \bar{z}_{1}=\frac{1}{N_{1}}\sum_{i=1}^{N_{1}}w^{T}x_{i} \\ S_{1}=\frac{1}{N_{1}}\sum_{i=1}^{N_{1}}(w^{T}x_{i}-\bar{z}_{1})(w^{T}x_{i}-\bar{z}_{1})^{T} \\ C_{2}:\\ \bar{z}_{2}=\frac{1}{N_{2}}\sum_{i=1}^{N_{2}}w^{T}x_{i} \\ S_{2}=\frac{1}{N_{2}}\sum_{i=1}^{N_{2}}(w^{T}x_{i}-\bar{z}_{1})(w^{T}x_{i}-\bar{z}_{1})^{T}

定義損失函數:

J(w)=\frac{(\bar{z}_{1}-\bar{z}_{2})^{2}}{S_{1}+S_{2}} (\bar{z}_{1}-\bar{z}_{2})^{2}=(\frac{1}{N_{1}}\sum_{i=1}^{N_{1}}w^{T}x_{i}-\frac{1}{N_{2}}\sum_{i=1}^{N_{2}}w^{T}x_{i})^{2}\\ =[w^{T}(\frac{1}{N_{1}}\sum_{i=1}^{N_{1}}x_{i}-\frac{1}{N_{2}}\sum_{i=1}^{N_{2}}x_{i})]^{2}\\ =[w^{T}(\bar{x}_{C_{1}}-\bar{x}_{C_{2}})]^{2}\\ =w^{T}(\bar{x}_{C_{1}}-\bar{x}_{C_{2}})(\bar{x}_{C_{1}}-\bar{x}_{C_{2}})^{T}w\\ S_{1}=\frac{1}{N_{1}}\sum_{i=1}^{N_{1}}(w^{T}x_{i}-\bar{z}_{1})(w^{T}x_{i}-\bar{z}_{1})^{T}\\ =\frac{1}{N_{1}}\sum_{i=1}^{N_{1}}(w^{T}x_{i}-\frac{1}{N_{1}}\sum_{i=1}^{N_{1}}w^{T}x_{i})(w^{T}x_{i}-\frac{1}{N_{1}}\sum_{i=1}^{N_{1}}w^{T}x_{i})^{T}\\ =\frac{1}{N_{1}}\sum_{i=1}^{N_{1}}w^{T}(x_{i}-\bar{x}_{C_{1}})(x_{i}-\bar{x}_{C_{1}})^{T}w\\ =w^{T}[\frac{1}{N_{1}}\sum_{i=1}^{N_{1}}(x_{i}-\bar{x}_{C_{1}})(x_{i}-\bar{x}_{C_{1}})^{T}]w\\ =w^{T}S_{C_{1}}w\\ S_{1}+S_{2}=w^{T}S_{C_{1}}w+w^{T}S_{C_{2}}w=w^{T}(S_{C_{1}}+S_{C_{2}})w\\ \therefore J(w)=\frac{w^{T}(\bar{x}_{C_{1}}-\bar{x}_{C_{2}})(\bar{x}_{C_{1}}-\bar{x}_{C_{2}})^{T}w}{w^{T}(S_{C_{1}}+S_{C_{2}})w}

極大化J(w)就可以使得類內的方差之和小,類間的均值之差大。

3. 線性判別分析的求解

令\left\{\begin{matrix} S_{b}=(\bar{x}_{C_{1}}-\bar{x}_{C_{2}})(\bar{x}_{C_{1}}-\bar{x}_{C_{2}})^{T}\\ S_{w}=S_{C_{1}}+S_{C_{2}} \end{matrix}\right.\\ 則J(w)=\frac{w^{T}S_{b}w}{w^{T}S_{w}w}=w^{T}S_{b}w(w^{T}S_{w}w)^{-1}\\ \frac{\partial J(w)}{\partial w}=2S_{b}w(w^{T}S_{w}w)^{-1}+w^{T}S_{b}w(-1)(w^{T}S_{w}w)^{-2}2S_{b}w\\ =2[S_{b}w(w^{T}S_{w}w)^{-1}+w^{T}S_{b}w(-1)(w^{T}S_{w}w)^{-2}S_{b}w]=0\\ (w^{T}S_{b}w,w^{T}S_{w}w\in \mathbb{R})\\ \Rightarrow S_{b}w(w^{T}S_{w}w)-w^{T}S_{b}wS_{w}w=0\\ \Rightarrow w^{T}S_{b}wS_{w}w=S_{b}w(w^{T}S_{w}w)\\ \Rightarrow S_{w}w=\frac{w^{T}S_{w}w}{w^{T}S_{b}w}S_{b}w\\ \Rightarrow w=\frac{w^{T}S_{w}w}{w^{T}S_{b}w}S_{w}^{-1}S_{b}w\\ (要注意對於w我們只關注它的方向,不關心它的大小。)\\ \Rightarrow w\propto S_{w}^{-1}S_{b}w\\ \Rightarrow w\propto S_{w}^{-1}(\bar{x}_{C_{1}}-\bar{x}_{C_{2}})\underset{1維}{\underbrace{(\bar{x}_{C_{1}}-\bar{x}_{C_{2}})^{T}w}}\\ \Rightarrow w\propto S_{w}^{-1}(\bar{x}_{C_{1}}-\bar{x}_{C_{2}})\\ \Rightarrow w\propto (S_{C_{1}}+S_{C_{2}})^{-1}(\bar{x}_{C_{1}}-\bar{x}_{C_{2}})

進一步如果S_{w}^{-1}是各向同性的對角矩陣的話,w\propto \bar{x}_{C_{1}}-\bar{x}_{C_{2}}

四、邏輯回歸

1. 概述

邏輯回歸是一種二分類演算法,通過sigmoid激活函數將線性組合w^{T}x壓縮到01之間來代表屬於某一個分類的概率。

假設有如下數據:

\left \{(x_{i},y_{i})\right \}_{i=1}^{N},x_{i}\in \mathbb{R}^{p},y_{i}\in \left \{0,1\right \}

2. sigmoid激活函數

\sigma (z)=\frac{1}{1+e^{-z}}

其影像為:

sigmoid函數

3. 邏輯回歸的模型

邏輯回歸預測y=1的概率,然後根據極大似然估計法來求解。

\left.\begin{matrix} p_{1}=P(y=1|x)=\sigma (w^{T}x)=\frac{1}{1+e^{-w^{T}x}}=\varphi (x;w)\\ p_{0}=P(y=0|x)=1-P(y=1|x)=\frac{e^{-w^{T}x}}{1+e^{-w^{T}x}}=1-\varphi (x;w) \end{matrix}\right\}p(y|x)=p_{1}^{y}p_{0}^{1-y}

4. 邏輯回歸的求解

\hat{w}=\underset{w}{argmax}\: log\underset{likelihood}{\underbrace{P(Y|X)}}\\ =\underset{w}{argmax}\: log\prod_{i=1}^{N}P(y_{i}|x_{i})\\ =\underset{w}{argmax}\sum _{i=1}^{N}logP(y_{i}|x_{i})\\ =\underset{w}{argmax}\sum _{i=1}^{N}(y_{i}log\: p_{1}+(1-y_{i})log\: p_{0})\\ =\underset{w}{argmax}\underset{-\: cross\: entropy}{\underbrace{\sum _{i=1}^{N}(y_{i}log\: \varphi (x;w)+(1-y_{i})log(1-\varphi (x;w))}}

因此這裡的極大似然估計就等價於極小化交叉熵損失函數。

求導的過程較為簡單,就不做展示了。

五、高斯判別分析

1. 概述

假設有如下數據:

\left \{(x_{i},y_{i})\right \}_{i=1}^{N},x_{i}\in \mathbb{R}^{p},y_{i}\in \left \{0,1\right \}

2. 高斯判別分析的模型

在高斯判別分析中樣本數據的類別y在給定的情況下服從伯努利分布,另外不同類別中的樣本數據分別服從多元高斯分布,因此有以下模型:

y\sim Bernoulli(\phi )\Leftrightarrow \left.\begin{matrix} \phi ^{y},y=1\\ (1-\phi)^{1-y},y=0 \end{matrix}\right\}P(y)=\phi^{y}\phi^{1-y}\\ \left.\begin{matrix} x|y=1\sim N(\mu _{1},\Sigma )\\ x|y=0\sim N(\mu _{2},\Sigma ) \end{matrix}\right\}P(x|y)=N(\mu _{1},\Sigma )^{y}N(\mu _{2},\Sigma )^{1-y}

這裡假設兩個高斯分布具有同樣的方差。

3. 高斯判別模型的求解

  • 損失函數

高斯判別模型的損失函數為其log似然,要估計的參數\theta(\mu _{1},\mu _{2},\Sigma ,\phi ):

L(\theta )=log\prod_{i=1}^{N}P(x_{i},y_{i})\\ =\sum _{i=1}^{N}logP(x_{i},y_{i})\\ =\sum _{i=1}^{N}logP(x_{i}|y_{i})P(y_{i})\\ =\sum _{i=1}^{N}[logP(x_{i}|y_{i})+logP(y_{i})]\\ =\sum _{i=1}^{N}[logN(\mu _{1},\Sigma )^{y_{i}}N(\mu _{2},\Sigma )^{1-y_{i}}+log\phi^{y_{i}}\phi^{1-y_{i}}]\\ =\sum _{i=1}^{N}[\underset{①}{\underbrace{logN(\mu _{1},\Sigma )^{y_{i}}}}+\underset{②}{\underbrace{logN(\mu _{2},\Sigma )^{1-y_{i}}}}+\underset{③}{\underbrace{log\phi^{y_{i}}\phi^{1-y_{i}}}}]

然後使用極大似然估計法來求解:

\hat{\theta }=\underset{\theta}{argmax}L(\theta )

定義標籤為1的樣本個數為N_{1},標籤為0的樣本個數為N_{2},則有N_{1}+N_{2} = N

  • 求解\phi

\phi只存在於③式中,因此求解\phi只需要看③式即可:

③=\sum _{i=1}^{N}[y_{i}log\phi +(1-y_{i})log(1-\phi )]\\ \frac{\partial ③}{\partial \phi}=\sum _{i=1}^{N}[y_{i}\frac{1}{\phi}-(1-y_{i})\frac{1}{1-\phi }]=0\\ \Rightarrow \sum _{i=1}^{N}[y_{i}(1-\phi)-(1-y_{i})\phi ]=0\\ \Rightarrow \sum _{i=1}^{N}(y_{i}-\phi)=0\\ \Rightarrow \sum _{i=1}^{N}y_{i}-N\phi=0\\ \hat{\phi}=\frac{1}{N}\sum _{i=1}^{N}y_{i}=\frac{N_{1}}{N}

  • 求解\mu_{1}、\mu_{2}

\phi只存在於①式中,因此求解\mu_{1}只需要看①式即可:

①=\sum _{i=1}^{N}y_{i}log\frac{1}{(2\pi )^{p/2}|\Sigma |^{1/2}}exp\left \{-\frac{1}{2}(x_{i}-\mu _{1})^{T}\Sigma ^{-1}(x_{i}-\mu _{1})\right \}\\ \mu _{1}=\underset{\mu _{1}}{argmax}①\\ =\underset{\mu _{1}}{argmax}\sum _{i=1}^{N}y_{i}[log\frac{1}{(2\pi )^{p/2}|\Sigma |^{1/2}}-\frac{1}{2}(x_{i}-\mu _{1})^{T}\Sigma ^{-1}(x_{i}-\mu _{1})]\\ =\underset{\mu _{1}}{argmax}\sum _{i=1}^{N}y_{i}[-\frac{1}{2}(x_{i}-\mu _{1})^{T}\Sigma ^{-1}(x_{i}-\mu _{1})]\\ =\underset{\mu _{1}}{argmax}\Delta\\ \Delta=\sum _{i=1}^{N}y_{i}[-\frac{1}{2}(x_{i}-\mu _{1})^{T}\Sigma ^{-1}(x_{i}-\mu _{1})]\\ =-\frac{1}{2}\sum _{i=1}^{N}y_{i}(x_{i}^{T}\Sigma ^{-1}-\mu _{1}^{T}\Sigma ^{-1})(x_{i}-\mu _{1})\\ =-\frac{1}{2}\sum _{i=1}^{N}y_{i}(x_{i}^{T}\Sigma ^{-1}x_{i}-2\mu _{1}^{T}\Sigma ^{-1}x_{i}+\mu _{1}^{T}\Sigma ^{-1}\mu _{1})\\ \frac{\partial \Delta}{\partial \mu _{1}}=-\frac{1}{2}\sum _{i=1}^{N}y_{i}(-2\Sigma ^{-1}x_{i}+2\Sigma ^{-1}\mu _{1})=0\\ \Rightarrow \sum _{i=1}^{N}y_{i}(\Sigma ^{-1}\mu _{1}-\Sigma ^{-1}x_{i})=0\\ \Rightarrow \sum _{i=1}^{N}y_{i}(\mu _{1}-x_{i})=0\\ \Rightarrow \sum _{i=1}^{N}y_{i}\mu _{1}=\sum _{i=1}^{N}y_{i}x_{i}\\ \hat{\mu _{1}}=\frac{\sum _{i=1}^{N}y_{i}x_{i}}{\sum _{i=1}^{N}y_{i}}=\frac{\sum _{i=1}^{N}y_{i}x_{i}}{N_{1}}\\ 同理\hat{\mu _{2}}=\frac{\sum _{i=1}^{N}y_{i}x_{i}}{N_{2}}

  • 求解\Sigma

以下是求解過程中用到的一些預備知識:

\frac{\partial tr(AB)}{\partial A}=B^{T} \\ \frac{\partial |A|}{\partial A}=|A|A^{-1} \\ tr(AB)=tr(BA)\\ tr(ABC)=tr(CAB)=tr(BCA)

兩類數據按照以下兩個集合來表示:

C_{1}=\left \{x_{i}|y_{i}=1,i=1,2,\cdots ,N\right \}\\ C_{2}=\left \{x_{i}|y_{i}=0,i=1,2,\cdots ,N\right \}\\ |C_{1}|=N_{1},|C_{2}|=N_{2},N_{1}+N_{2}=N

然後進行求解:

\hat{\Sigma }=\underset{\Sigma }{argmax}(①+②)\\ ①+②=\sum _{x_{i}\in C_{1}}logN(\mu _{1},\Sigma )+\sum _{x_{i}\in C_{2}}logN(\mu _{2},\Sigma )

然後求解上式中的通項:

\sum_{i=1}^{N}logN(\mu ,\Sigma )=\sum_{i=1}^{N}log\frac{1}{(2\pi )^{p/2}|\Sigma |^{1/2}}exp\left \{-\frac{1}{2}(x_{i}-\mu )^{T}\Sigma ^{-1}(x_{i}-\mu )\right \}\\ =\sum_{i=1}^{N}[log\frac{1}{(2\pi )^{p/2}}+log|\Sigma |^{-\frac{1}{2}}-\frac{1}{2}(x_{i}-\mu )^{T}\Sigma ^{-1}(x_{i}-\mu )]\\ =\sum_{i=1}^{N}[C-\frac{1}{2}log|\Sigma |-\frac{1}{2}(x_{i}-\mu )^{T}\Sigma ^{-1}(x_{i}-\mu )]\\ =C-\frac{1}{2}Nlog|\Sigma |-\frac{1}{2}\sum_{i=1}^{N}(x_{i}-\mu )^{T}\Sigma ^{-1}(x_{i}-\mu )\\ =C-\frac{1}{2}Nlog|\Sigma |-\frac{1}{2}\sum_{i=1}^{N}tr[(x_{i}-\mu )^{T}\Sigma ^{-1}(x_{i}-\mu )]\\ (實數的跡等於其本身)\\ =C-\frac{1}{2}Nlog|\Sigma |-\frac{1}{2}\sum_{i=1}^{N}tr[(x_{i}-\mu )(x_{i}-\mu )^{T}\Sigma ^{-1}]\\ =C-\frac{1}{2}Nlog|\Sigma |-\frac{1}{2}tr[\sum_{i=1}^{N}(x_{i}-\mu )(x_{i}-\mu )^{T}\Sigma ^{-1}]\\ =C-\frac{1}{2}tr(NS\Sigma ^{-1})\\ (S=\frac{1}{N}\sum_{i=1}^{N}(x_{i}-\mu )(x_{i}-\mu )^{T},為協方差矩陣)\\ =-\frac{1}{2}Nlog|\Sigma |-\frac{1}{2}Ntr(S\Sigma ^{-1})+C\\ 則①+②=-\frac{1}{2}N_{1}log|\Sigma |-\frac{1}{2}N_{1}tr(S_{1}\Sigma ^{-1})-\frac{1}{2}N_{2}log|\Sigma |-\frac{1}{2}N_{2}tr(S_{2}\Sigma ^{-1})+C\\ =-\frac{1}{2}Nlog|\Sigma |-\frac{1}{2}N_{1}tr(S_{1}\Sigma ^{-1})-\frac{1}{2}N_{2}tr(S_{2}\Sigma ^{-1})+C\\ =-\frac{1}{2}[Nlog|\Sigma |+N_{1}tr(S_{1}\Sigma ^{-1})+N_{2}tr(S_{2}\Sigma ^{-1})]+C

然後對\Sigma進行求導:

\frac{\partial ①+②}{\partial \Sigma}=-\frac{1}{2}[N\frac{1}{|\Sigma |}|\Sigma |\Sigma^{-1}+N_{1}\frac{\partial tr(\Sigma ^{-1}S_{1})}{\partial \Sigma}+N_{2}\frac{\partial tr(\Sigma ^{-1}S_{2})}{\partial \Sigma}]\\ =-\frac{1}{2}[N\Sigma^{-1}+N_{1}S_{1}^{T}(-1)\Sigma ^{-2}+N_{2}S_{2}^{T}(-1)\Sigma ^{-2}]\\ =-\frac{1}{2}(N\Sigma^{-1}-N_{1}S_{1}^{T}\Sigma ^{-2}-N_{2}S_{2}^{T}\Sigma ^{-2})\\ =0\\ N\Sigma-N_{1}S_{1}-N_{2}S_{2}=0\\ \hat{\Sigma}=\frac{N_{1}S_{1}+N_{2}S_{2}}{N}

六、樸素貝葉斯

1. 概述

假設有如下數據:

\left \{(x_{i},y_{i})\right \}_{i=1}^{N},x_{i}\in \mathbb{R}^{p},y_{i}\in \left \{0,1\right \}

2. 樸素貝葉斯的模型

樸素貝葉斯分類器可以用來做多分類,其基本思想是條件獨立性假設,即假設數據的每個特徵之間是相互獨立的,其形式化表達為

對於x|y來說x^{i}|y與x^{j}|y是相互獨立的(i\neq j),即\\ P(x|y)=\prod_{i=1}^{p}P(x^{i}|y)

樸素貝葉斯分類器是最簡單的概率圖模型(有向圖):

給定x,判斷y的類別可以通過以下方法,即將x歸為類別的概率中最大的一類:

\hat{y}=\underset{y}{argmax}P(y|x)\\ =\underset{y}{argmax}\frac{P(x,y)}{P(x)} \\ =\underset{y}{argmax}\frac{P(y)P(x|y)}{P(x)} \\ =\underset{y}{argmax}P(y)P(x|y)

P(y)是先驗概率,如果有兩類則服從伯努利分布(Bernoulli distribution),如果有多類則服從類別分布(Categorical distribution)。P(x|y)則符合條件獨立性假設P(x|y)=\prod_{i=1}^{p}P(x^{i}|y),其中對於x^{i},如果x^{i}是離散的,則可以認為其服從類別分布(Categorical distribution),如果x^{i}是連續的,則可以認為其服從高斯分布(Gaussian distribution)。

至於其求解過程則可以根據具體情況使用極大似然估計法即可。對於樸素貝葉斯方法重要的是理解其條件獨立性假設,這個假設也是其被稱為「樸素(Naive)」的原因。

參考資料

ref:李航《統計學習方法》