模式識別筆記2-線性模型
1. 參數VS非參數
給定樣本集 $(x_i, y_i), i= 1,2,\cdots, n $,其中 \(x_i\) 表示特征向量, \(y_i\) 表示樣本標簽。
考慮一個新的向量 \(x\),要將他分類到可選分類 \({C_1, C_2,\cdots, C_c}\)中 。
方法:
- 參數的
- 非參數的
1.1 參數方法
參數方法:
參數方法假設樣本分布的形式(概率密度函數Probability Density Function)是已知的
使用訓練樣本來估計分布參數,比如高斯分布中的 \(\mu\) 和 \(\sigma\)
如果對於分布的假設是正確的,則預測會很準確;否則預測可能會很差
?
參數方法使用極大似然估計來訓練分類器,這點在前面一章的貝葉斯決策論也講過。
假定:
- 給定訓練集 \(D=(x_k, y_k), k=1,2,\cdots,n\)
- \(p(x|\omega_i)\sim N(\mu_i, \Sigma_i), i=1,2,\cdots, c\)
方法:
- 將訓練集 \(D\) 劃分為 \(D_i,i=1,2,\cdots, c\)
- 對每一個分類的數據 \(D_i\) 分別估計 \(\mu_i\) 和 \(\Sigma_i\)
- 判別函數 \(g_i(x)\) 取決於 \(\mu_i\) 和 \(\Sigma_i\)
\[ \begin{align} \hat{\mu}&=\frac{1}{n}\sum_{k=1}^nx_k, & \hat{\sigma}^2=\frac{1}{n}\sum_{k=1}^n(x_k-\hat{\mu})^2 \end{align} \]
1.2 非參數方法
非參數方法:
- 不會去假設樣本分布符合某種特定分布
- 相反,它假設判別函數具有某種特定的形式。比如SVM ,神經網絡等等
- 訓練樣本被用來估計分類器的參數
- 局部最優,但易於使用
2. 線性分類模型(二分類為例)
{:width="100px"}
考慮一個簡單的場景:類之間不相交
- 數據線性可分
- 不同類的數據由一個線性決策表面完全分開
線性判別式註意:
- 決策表面是輸入的線性函數
- 輸入空間劃分為決策區域
2.1 二分類問題
決策表面如此定義 \(g(x)=0\):
\[
\begin{align}
g(x)=w^Tx+w_0
\end{align}
\]
因為 \(g(x)\)
2.1.1 線性判別函數的幾何意義
對於一個2分類線性判別函數:
- 判別函數表示向量\(x\)(代表一個待分類的數據)各個分量的線性組合,公式(2)已經說明了這個問題
- \(g(x)=w^Tx+w_0\),其中 \(w\) 和 \(w_0\) 表示權重向量和偏置
- 對於一個給定的 \(x\),若 \(g(x)\geq0\) ,則 \(x\in C_1\) ,否則 \(x\in C_2\)
- 決策邊界 \(g(x)=0\)
幾何意義:任意點到決策表面的距離
令 \(x\) 為任意點
令 \(x_\perp\)表示 \(x\) 到決策表面的正交投影
?
\[
\notag x=x_\perp + r\frac{w}{||w||} \text { where } r \text{ denote the distance between } x_\perp \text{ and } x
\]
- 兩邊都乘以相同的因子 \(w^T\),則:
\[ \notag g(x)=0+\frac{r}{||w||}\Rightarrow r=\frac{g(x)}{||w||} \]
2.2 決策區域的凸性
簡單的說,就是兩個點 \(x_a\) 和 \(x_b\)在區域 \(R_k\)中,則兩點連線上的所有點,均在這個區域內。
2.3 向量增強
對公式(2)如下操作:
- 增加一維 \(x_0=1\)
- \(x \leftarrow (x_0,x)\)
- \(w\leftarrow (\omega_0, w)\)
於是:
\[
g(x)=w^Tx
\]
顯然這個決策邊界在增強的 \(D+1\) 維樣本空間中穿過原點
2.4 模型小結
- 判別函數表示向量\(x\)(代表一個待分類的數據)各個分量的線性組合,視作每個獨立單元
- 每個單元都具有輸入輸出
- 輸入單元精確輸出與輸入相同的值
- 如果加權輸入之和大於0,則輸出單元輸出1,否則輸出-1
2.5 感知器算法
輸入向量 \(x\) 通過一個固定的非線性變化得到一個特征向量 \(\phi(x)\)
\[
\notag g(x)=f(w^T\phi(x))
\]
\(f\) 是一個符號函數
\[
\notag f(a)=\left\{
\begin{array} {ll}
+1,a\geq0\-1, a<0
\end{array}
\right.
\]
+1和-1分別表示向量 \(x\) 屬於兩個類。根據這個設定,我們可以得到損失函數。
2.5.1 感知器標準
使用標簽 \(y_n\in\{+1,-1\}\),每個模式需要滿足:
\[
\notag w^T\phi(x_n)y_n>0
\]
對每個分錯的樣本,感知器標準試圖最小化:
\[
E(w)=-w^T\phi(x_n)y_n
\]
2.5.2 算法流程
隨機梯度下降梯度更新公式:
\[
\begin{array}{ll}
w^{k+1}&=w^k-\eta\nabla E(w)\&=w^k+\eta\phi(x_n)y_n
\end{array}
\]
其中,\(\eta\) 是學習率,\(k\) 是steps
算法訓練循環以下步驟:
- 如果樣本錯分為\(C_1(y_n=+1)\),增加權重
- 如果樣本錯分為\(C_2(y_n=-1)\),減小權重
2.6 最小二乘分類
主要思想,最小化投影距離:
\[
J_s(w)=\sum_{i=1}^n(w^Tx_i-b_i)^2
\]
其中 \(b_i\) 是任意選取的。
對公式(6)進一步化簡:
\[
J_s(w)=||Xw-b||^2
\]
其中矩陣符號:
\[
\notag w=\begin{pmatrix}
w_0 \\ w_1 \\ \vdots \\ w_d
\end{pmatrix},X=\begin{pmatrix}
x_{10} &x_{11} & \cdots &x_{1d} \\
x_{20}&x_{21} & \cdots & x_{2d}\ \vdots & \vdots & \ddots & \vdots \\
x_{n0}& x_{n1} & \cdots & x_{nd}
\end{pmatrix},b=\begin{pmatrix}
b_0 \\ b_1 \\ \vdots \\ b_d
\end{pmatrix}
\]
最小化 \(J\), 顯然 \(Xw=b\),所以有:
\[
\notag w = X^{-1}b
\]
然而,矩陣 \(X\) 可能是奇異的,也就是說,沒有逆矩陣。
2.6.1 違逆法pseudo-inverse method
對於公式(7),求梯度:
\[
\notag \nabla J_s(w)=2X^T(Xw-b)
\]
極值必要條件:
\[
\notag X^TXw=X^Tb
\]
可以求得:
\[
w=(X^TX)^{-1}X^Tb
\]
2.6.2 最小均方算法least-Mean-Squared
相比於違逆法,該方法的優勢在於
- 違逆法在 \(X^TX\) 奇異的時候有問題
- 避免了矩陣很大的時候計算復雜
- 違逆法訓練時間更長
回顧公式(6),直接求其對於\(w\)的梯度:
\[
\notag \nabla J_s(w)=2\sum_{i=1}^n(w^Tx_i-b_i)x_i
\]
更新公式:
\[
w(k+1)=w(k)+\eta(k)(b_i-w^Tx_i)x_i
\]
- 即使分離超平面存在,LMS方法也不需要收斂到它
- 由於梯度噪聲,LMS不會達到最佳效果
2.7 廣義線性模型
廣義線性判別函數:
\[
g(x)=f(w^Tx+\omega_0)
\]
其中 \(f\) 是激活函數。相應的決策表面:
\[
\notag g(x)=\text{constant Or }w^Tx+\omega_0=\text{constant}
\]
所以決策邊界在特征空間裏是線性的,即使 \(f\) 是非線性的
廣義線性判別函數:
\[
\notag g(x)=\sum_{i=1}^nw_i\phi_ix
\]
二次判別函數:
\[
\notag \begin{array}
g(x)=w_0+w_ix+w_2x^2\\text{where } \phi_1(x)=1,\phi_2(x)=x,\phi_3(x)=x^2
\end{array}
\]
對於樣本 \(x_i\),如果分類正確,則 \(g(w,x_i)y_i>0\)
定義一個判別函數 \(J(w)\),如果 \(w\)是一個解向量,則該函數達到最小值
算法流程:
隨機選擇初始權重 \(w_1\)
計算梯度 \(\nabla J(w(1))\)
根據負梯度計算:
\[ \notag w(k+1)=w(k)-\eta(k)\nabla J(w(k)) \text{ for }\nabla J=\frac{\partial J}{\partial w} \]
\(\eta\) 是學習率,控制步幅
3.多分類
3.1 擴展到多分類方法
- One-versus-the-rest
構建判別函數,使用 \(c\) 個分類器,每個分類器解決一個2分類問題
- One-versus-one
\(c\) 個分類,對每兩個分類構建一個分類器,則共有 \(\frac{c(c-1)}{2}\) 個判別函數
3.2 多分類判別
考慮一個 \(c\) 分類問題,判別函數形式:
\[
\notag y_k(x)=w_k^Tx+w_{k0}
\]
對於給定輸入 \(x\),如果 \(y_k(x)>y_j(x) \text{ for all }j\neq k\),則 \(x\in C_k\),則 \(C_k\) 和 \(C_j\)之間的決策邊界為:
\[
\notag y_k(x)=y_j(x)
\]
相應的超平面為:
\[
\notag (w_k-w_j)^Tx +(\omega_{k0}-\omega_{j0})=0
\]
二分類問題其實也是如此。
優勢:
- 避免默認兩可的區域
- 每個決策區域單連通
- 低復雜度
- 需要c個分類器
模式識別筆記2-線性模型