線性分類 Linear Classification


軟分類:y 的取值只有正負兩個離散值,例如 {0, 1}

硬分類:y 是正負兩類區間中的連續值,例如 [0, 1]

 

一、感知機

主要思想:分錯的樣本數越少越好

用指示函數統計分錯的樣本數作為損失函數,不可微;

對錯誤分類樣本,∑ -yi * f(xi) = ∑ -yi * WTxi  (因為求和項一定大於0,所以損失函數越小表示錯誤分類的樣本越少)

 

二、線性判別分析

主要思想:同一類別的樣本方差足夠小,不同類別之間分散開(類內小,類間大)

Rayleigh quotient 和 generalized Rayleigh quotient

函數 R(A, x) = xHAx / xHx ,其中 A 是 Hermitan矩陣,如果是實矩陣則滿足 AT = A。

性質:λmin  <= R(A, x) <= λmax   ,即最大值為 A 的最大特征值、最小值為 A 的最小特征值

函數 R(A, B, x) = xHAx / xHBx ,其中 A、B 是 Hermitan矩陣,B 正定。

令 x = B-1/2x',由瑞利商性質可知,R(A, B, x) 的最大值是 B-1/2AB-1/2 (或者 B-1A)的最大特征值,最小值是其最小特征值

與 LDA 的關系:

二類:

  數據是 p 維,只有兩個類別,經過 LDA 投影到投影到一條直線,投影直線為向量 w(只關心其方向,設為單位向量即可),樣本點xi 在直線上的投影為zi = wTx,記類別 1 和類別 2 兩個集合為c1、c2,對 p 維數據 x 兩個集合的樣本均值和方差分別為 μc1 、 μc2 、Sc1 、Sc2

  樣本點投影到直線后有樣本均值 zk拔 和樣本方差 Sk

  LDA 目標函數的定義要讓類內方差小類間方差大,則

  J(W) = (z1拔 - z2拔 )2 / (S1 + S2)  

     = wTc1 - μc2)(μc1 - μc2)Tw /  wT (Sc1 + Sc2) w

     = wT Sw /  wT Sw w

  這個目標函數的 argmax 可以對其求導后令導數為零,得到向量 w 正比於 Sw-1c1 - μc2)。也可以直接利用瑞利商的結論,最大值為 Sw-1Sb 的最大特征值,二分類時 Sw 的方向恆為 μc1 - μc2 (因為(μc1 - μc2)Tw 結果是 scalar),令 Sw  = λ (μc1 - μc2) ,代入 (Sw-1Sb)w = λw,得到 w = Sw-1c1 - μc2) 結果一樣。

多類:  

  數據是 p 維,有 K 個類別,經過 LDA 投影到低維(q 維)平面,基為(w1,w2,...,wq),共同構成矩陣Wpxq

  J(W) = WSW / WT Sw W,類間方差 S= Σ Nj (μcj - μ)(μcj - μ)T ,for j = 1, 2, ..., K;類內方差 Sw =  Σ Σ (xi - μcj)(xi - μcj)T for j = 1, 2, ..., K  and every xi in ci  

  為了應用瑞利商結論,分子分母都各自求主對角線元素乘積,J(W) = ∏ wiSwi / wiT Sw w,for i = 1, 2, ..., q 。目標函數的最大值為 Sw-1Sb 最大的q個特征值的乘積,W 就由這 q 個最大特征值對應的特征向量組成。

  注意降到的維度 q 最大為 K-1。(因為知道了前K-1個 μcj 后最后一個μcj 可以由前K-1個表示)

 

監督降維:根據以上分析,對 xi 就可以進行降維 zi = WTxi

分類:LDA 用來分類的思路,假設各個類別的數據符合各自的高斯分布,LDA 投影后用 MLE 計算各個類別的均值和方差,就得到了各個類別服從高斯的概率密度函數。對於一個新樣本,將其投影后的向量代入各類的分布計算一下概率,最大的就是樣本所屬的類。

 

三、Logistic 回歸

判別模型,直接用一個函數擬合,計算后驗概率 P(y|x)。直接用 MLE 來估計參數 W / 用梯度下降優化求參數 W 。

為什么不能用均方誤差作為logistic regression的損失函數?——均方誤差不能准確衡量分類效果的好壞
如果用的話,考慮兩種情況
1. label 是1,而 f(x) = 0,那其實現在距離目標很遠,但是微分值卻是0,
2. label是0,但是 f(x) =1,微分算出來也是0,也不對,原因就出在sigmoid函數求導之后會出現 f(x) * (1-f(x))。
所以,這並不符合實際,距離優化目標遠的情況微分值卻很小,用均方誤差是很難優化到一個好的結果。
 
logistic regression 再如何改進?—— cascading logistic regression models  神經網絡

看一下 logistic regression 和 linear regression 中的梯度:

 

 sigmoid函數怎么來的?——高斯判別分析

 

四、高斯判別分析:

生成模型,不對條件概率 P(y | x) 直接建模,引入 P(y) 的先驗分布。

根據貝葉斯定理(執果索因):P(y | x) = P(x | y)P(y) / P(x),也即 P(y=ck | xi) 正比於 P(x| y=ck) P(y=ck),分別對這兩部分建模后,對於一個新樣本計算P(y=c| xi),概率最大的ck 就是樣本所屬的類別。

以二分類為例,對先驗 P(y=ck) 建模最直覺的想法就是遍歷所有訓練數據,計算 P(y=ck) = Nk / N 。這個結果其實也就來源於,假設 Y 服從參數為 p 的伯努利分布,通過 MLE 進行參數估計。

對似然 P(x | y=ck) 的估計呢?——對每個類別都假設 P(x | y=ck) 服從均值為 μk 、方差為 Σ的高斯分布就好了。

P(x | y=ck) = ∏ P(x| y=ck) ,for every xin c,MLE 估計所有的 μk 和 Σ

結果比較差,怎么改進? ——不同類別的高斯分布共享同一個 Σ,減少參數改善過擬合。

可以看出,高斯判別分析認為輸入的各個維度特征之間存在相關性。

 

能不能和 sigmoid 函數聯系起來?

先看一個后驗概率表達式,把分子除下去就看到熟悉的 σ (z) 形式了,可以發現 sigmoid 函數的作用就是把 logit 壓到 probability。

 

另一個結論:似然設為服從高斯分布,且不同類別的高斯分布共享方差矩陣的情況下,高斯判別分析:

那為什么不直接去找 W 和 b 呢? ——logistic regression

 

概率判別模型和概率生成模型的一點比較分析:

為什么 discriminative model 要比generative model的效果要好?—— 先驗等假設限制了生成模型效果,但並不是所有情況下都更好。
因為generative model 做了一些假設,比如是高斯分布,伯努利分布,是不是朴素貝葉斯(假定不同維度是獨立的)。
所以:
  1. 訓練集比較小的時候,這些“腦補”反而可能會更有效,這時候discriminative model就會受數據的影響更大。
  2. 同理 generative model 對數據噪聲也不太敏感。
  3. Priors and class-dependent probabilities(先驗和似然)可以從不同的來源去估計。
 

五、朴素貝葉斯

服從條件獨立性假設

后驗概率最大化 等價於 期望風險最小化

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM