軟分類: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 = wTxi ,記類別 1 和類別 2 兩個集合為c1、c2,對 p 維數據 x 兩個集合的樣本均值和方差分別為 μc1 、 μc2 、Sc1 、Sc2
樣本點投影到直線后有樣本均值 zk拔 和樣本方差 Sk
LDA 目標函數的定義要讓類內方差小類間方差大,則
J(W) = (z1拔 - z2拔 )2 / (S1 + S2)
= wT (μc1 - μc2)(μc1 - μc2)Tw / wT (Sc1 + Sc2) w
= wT Sb w / wT Sw w
這個目標函數的 argmax 可以對其求導后令導數為零,得到向量 w 正比於 Sw-1(μc1 - μc2)。也可以直接利用瑞利商的結論,最大值為 Sw-1Sb 的最大特征值,二分類時 Sb w 的方向恆為 μc1 - μc2 (因為(μc1 - μc2)Tw 結果是 scalar),令 Sb w = λ (μc1 - μc2) ,代入 (Sw-1Sb)w = λw,得到 w = Sw-1(μc1 - μc2) 結果一樣。
多類:
數據是 p 維,有 K 個類別,經過 LDA 投影到低維(q 維)平面,基為(w1,w2,...,wq),共同構成矩陣Wpxq
J(W) = WT Sb W / WT Sw W,類間方差 Sb = Σ 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) = ∏ wiT Sb wi / wiT Sw wi ,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 和 linear regression 中的梯度:
sigmoid函數怎么來的?——高斯判別分析
四、高斯判別分析:
生成模型,不對條件概率 P(y | x) 直接建模,引入 P(y) 的先驗分布。
根據貝葉斯定理(執果索因):P(y | x) = P(x | y)P(y) / P(x),也即 P(y=ck | xi) 正比於 P(xi | y=ck) P(y=ck),分別對這兩部分建模后,對於一個新樣本計算P(y=ck | xi),概率最大的ck 就是樣本所屬的類別。
以二分類為例,對先驗 P(y=ck) 建模最直覺的想法就是遍歷所有訓練數據,計算 P(y=ck) = Nk / N 。這個結果其實也就來源於,假設 Y 服從參數為 p 的伯努利分布,通過 MLE 進行參數估計。
對似然 P(x | y=ck) 的估計呢?——對每個類別都假設 P(x | y=ck) 服從均值為 μk 、方差為 Σk 的高斯分布就好了。
P(x | y=ck) = ∏ P(xi | y=ck) ,for every xi in ck ,MLE 估計所有的 μk 和 Σk 。
結果比較差,怎么改進? ——不同類別的高斯分布共享同一個 Σ,減少參數改善過擬合。
可以看出,高斯判別分析認為輸入的各個維度特征之間存在相關性。
能不能和 sigmoid 函數聯系起來?
先看一個后驗概率表達式,把分子除下去就看到熟悉的 σ (z) 形式了,可以發現 sigmoid 函數的作用就是把 logit 壓到 probability。
另一個結論:似然設為服從高斯分布,且不同類別的高斯分布共享方差矩陣的情況下,高斯判別分析:
那為什么不直接去找 W 和 b 呢? ——logistic regression
概率判別模型和概率生成模型的一點比較分析:
五、朴素貝葉斯
服從條件獨立性假設
后驗概率最大化 等價於 期望風險最小化