1. 程式人生 > >模式識別筆記2-線性模型

模式識別筆記2-線性模型

align 極大似然估計 play 模式 連線 激活 phi 最小二乘 屬於

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-線性模型