調(diào)優(yōu))
1. 從“分類”到“判別”一個更聰明的建模視角在數(shù)據(jù)分析和預(yù)測的眾多工具里分類問題一直是個核心議題。我們手頭有一堆數(shù)據(jù)每個數(shù)據(jù)點都帶著一堆特征并且已經(jīng)被打上了類別標簽。比如一堆鳶尾花我們測量了它們的花萼長度、寬度花瓣長度、寬度并且知道它們分別屬于“山鳶尾”、“變色鳶尾”和“維吉尼亞鳶尾”。傳統(tǒng)的思路是我們試圖去“描述”每一類花找到它們的特征分布規(guī)律然后對于一個新來的、不知道類別的花我們看它的特征更符合哪一類的“描述”就把它歸到哪一類。這個思路就是所謂的“生成模型”或者基于概率密度估計的分類方法。但判別分析走了一條看似更“功利”實則更高效的路徑。它不關(guān)心每一類數(shù)據(jù)本身的完整分布是什么樣的它只關(guān)心“邊界”在哪里。想象一下你要在一片土地上劃分兩個國家的國界線判別分析不關(guān)心每個國家內(nèi)部的山川河流如何分布它只關(guān)心那條最合理、最能把兩國人民分開的線應(yīng)該畫在哪里。這條線就是“判別函數(shù)”。判別分析的核心目標就是直接尋找這個能最大限度區(qū)分不同類別的函數(shù)或規(guī)則。為什么這個視角更聰明因為在很多實際問題中我們最終需要的只是一個準確的分類決策而不是對每個類別內(nèi)部結(jié)構(gòu)的詳盡了解。尤其是當各類別的數(shù)據(jù)分布比較復(fù)雜或者我們只對分類邊界附近的數(shù)據(jù)敏感時直接建模判別邊界往往能獲得比先估計分布再分類更高的效率和更好的效果。這就好比招聘判別分析不關(guān)心“優(yōu)秀員工”和“普通員工”各自完整的能力畫像它只關(guān)心那幾個關(guān)鍵能力指標如溝通能力、專業(yè)技能在哪個閾值上最能區(qū)分這兩類人并據(jù)此制定錄用規(guī)則。2. 線性判別分析尋找最優(yōu)投影方向線性判別分析是判別分析中最經(jīng)典、最直觀的方法。它的目標非常明確找到一個投影方向使得當所有數(shù)據(jù)點都投影到這個方向上時類間的差異盡可能大而類內(nèi)的差異盡可能小。這個思想是模式識別領(lǐng)域的一個基石。2.1 核心思想與數(shù)學(xué)直覺我們用一個二維的例子來理解。假設(shè)有兩類數(shù)據(jù)在二維平面上像兩團云。如果隨便找一個方向投影兩團云可能會重疊嚴重?zé)o法區(qū)分。LDA要做的就是找到一個方向一條直線當這兩團云投影到這條直線上時變成一維上的兩個分布這兩個分布的中心距離很遠類間散度大同時每個分布自身很“瘦”、很集中類內(nèi)散度小。用數(shù)學(xué)語言量化這個目標就引出了著名的“費希爾準則”。定義類間散度矩陣 $S_b$ 和類內(nèi)散度矩陣 $S_w$。類內(nèi)散度矩陣 $S_w$衡量同一類別內(nèi)部數(shù)據(jù)的離散程度。計算每個類別數(shù)據(jù)點與其類別均值的偏差然后對所有類別求和。$S_w$ 越小說明同類數(shù)據(jù)越聚集。類間散度矩陣 $S_b$衡量不同類別均值之間的離散程度。計算每個類別的均值與總體均值的偏差按類別樣本量加權(quán)。$S_b$ 越大說明不同類別的中心離得越遠。LDA的目標就是找到一個投影向量 $w$使得投影后的數(shù)據(jù)滿足 $$ J(w) \frac{w^T S_b w}{w^T S_w w} $$ 這個比值最大化。直觀理解分子是投影后的類間方差分母是投影后的類內(nèi)方差。我們要找的 $w$就是讓這個比值最大的方向被稱為“費希爾判別方向”。注意這里有一個重要的隱含假設(shè)那就是不同類別的數(shù)據(jù)具有相同的協(xié)方差矩陣。這個假設(shè)是LDA稱為“線性”的原因。如果協(xié)方差矩陣不同判別邊界就會變成二次曲線這就是后面會提到的二次判別分析。2.2 計算步驟與一個簡化實例理論上最優(yōu)投影方向 $w$ 是廣義特征值問題 $S_b w \lambda S_w w$ 的解對應(yīng)最大特征值的特征向量。在實際計算中當 $S_w$ 可逆時等價于求解 $S_w^{-1} S_b$ 的最大特征值對應(yīng)的特征向量。我們來設(shè)想一個極度簡化的例子以便手算理解。假設(shè)有兩個類別數(shù)據(jù)都是一維的。類別1: 兩個樣本值為 1 和 3。均值 $m_1 2$。類別2: 兩個樣本值為 4 和 6。均值 $m_2 5$??傮w均值 $m (25)/2 3.5$假設(shè)樣本量相等。計算 $S_w$這里是一維所以是標量 類內(nèi)方差類別1方差 $[(1-2)^2 (3-2)^2] / (2-1) 2$。同理類別2方差 2。 $S_w 2 2 4$。注意嚴格來說是散度這里未除以自由度但不影響比例關(guān)系計算 $S_b$ $S_b n_1*(m_1 - m)^2 n_2*(m_2 - m)^2 2*(2-3.5)^2 2*(5-3.5)^2 22.25 22.25 9$。那么 $J(w) 9 / 4 2.25$。在這個一維例子中“投影方向”就是原始數(shù)據(jù)軸本身。我們可以看到兩類均值差為3類內(nèi)標準差約為 $\sqrt{2} \approx 1.414$區(qū)分度確實不錯。在實際的多維問題中求解出 $w$ 后對于一個新樣本 $x$我們計算其投影 $y w^T x$。然后通常我們會計算每個類別投影后的中心 $m_k w^T \mu_k$$\mu_k$是第k類的原始均值并將新樣本 $y$ 歸類到距離它投影后中心最近的類別。在滿足同方差假設(shè)且先驗概率相等的情況下這個決策規(guī)則等價于基于馬氏距離的最近中心分類。2.3 實操中的關(guān)鍵點與陷阱1. 小樣本問題與奇異矩陣這是LDA應(yīng)用中最常見的坑。當樣本特征維度 $d$ 很高而樣本數(shù)量 $n$ 不足時類內(nèi)散度矩陣 $S_w$ 會是奇異的不可逆。這是因為 $S_w$ 的秩最大為 $n - K$K為類別數(shù)當 $d n - K$ 時$S_w$ 必然是奇異的無法求逆。在高維數(shù)據(jù)如圖像、基因數(shù)據(jù)中這幾乎是必然遇到的問題。解決方案通常有幾種正則化LDA給 $S_w$ 加上一個小的正則化項如 $S_w \lambda I$使其可逆。$\lambda$ 是一個需要調(diào)節(jié)的超參數(shù)。先降維使用主成分分析先對數(shù)據(jù)進行降維將維度降至 $n - K$ 以下然后再應(yīng)用LDA。但要注意PCA是無監(jiān)督降維可能會損失對分類有用的判別信息。使用偽逆直接計算 $S_w$ 的偽逆Moore-Penrose逆來代替逆矩陣。2. 同方差假設(shè)的檢驗LDA假設(shè)各類別協(xié)方差矩陣相等。這個假設(shè)是否成立會影響模型性能??梢酝ㄟ^Box‘s M檢驗來初步判斷。如果假設(shè)明顯不成立比如各類數(shù)據(jù)分布形狀差異很大則應(yīng)考慮使用二次判別分析或更靈活的方法。3. 投影方向的個數(shù)對于K個類別LDA最多可以找到 $K-1$ 個有效的判別方向因為 $S_b$ 的秩最大為 $K-1$。這意味著如果你要將數(shù)據(jù)可視化最多只能降到 $K-1$ 維。對于二分類問題你只能得到一條判別線一維投影。4. 代碼實現(xiàn)注意在Python的scikit-learn庫中LinearDiscriminantAnalysis類很好地實現(xiàn)了LDA。它自動處理了奇異矩陣問題使用SVD求解。使用時需要注意solver參數(shù)的選擇‘svd’ 不計算 $S_w^{-1}$直接用SVD分解適用于任何情況推薦作為默認?!甽sqr’或‘eigen’ 適用于 $S_w$ 可逆的情況可能更高效。from sklearn.discriminant_analysis import LinearDiscriminantAnalysis from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split # 加載數(shù)據(jù) iris load_iris() X, y iris.data, iris.target X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2, random_state42) # 創(chuàng)建并訓(xùn)練LDA模型 lda LinearDiscriminantAnalysis(solversvd) # 使用SVD求解器更穩(wěn)健 lda.fit(X_train, y_train) # 評估 accuracy lda.score(X_test, y_test) print(fLDA分類準確率 {accuracy:.3f}) # 查看找到了幾個判別方向?qū)τ?類鳶尾花最多2個 print(f判別方向特征向量的形狀 {lda.scalings_.shape}) # 應(yīng)該是 (4, 2)3. 二次判別分析與靈活判別當邊界不再平直LDA的強大在于其簡潔和高效但它的核心假設(shè)——各類別協(xié)方差矩陣相同——在現(xiàn)實中常常被違背。當不同類別的數(shù)據(jù)不僅中心位置不同其離散程度方差和相關(guān)模式協(xié)方差也迥異時強行用一條直線或超平面作為邊界就會顯得力不從心。3.1 QDA釋放協(xié)方差的差異二次判別分析松動了LDA最關(guān)鍵的假設(shè)。它允許每個類別 $k$ 都有自己的協(xié)方差矩陣 $\Sigma_k$。這樣一來基于貝葉斯定理在假設(shè)數(shù)據(jù)服從多元正態(tài)分布且已知先驗概率 $P(Yk)$ 的情況下將一個樣本 $x$ 判給后驗概率 $P(Yk|Xx)$ 最大的類別。這個決策函數(shù)在對數(shù)概率上會引入 $x$ 的二次項。決策規(guī)則簡化為計算每個類別 $k$ 的判別函數(shù) $\delta_k(x)$并將 $x$ 分配給使其最大的類別。 $$ \delta_k(x) -\frac{1}{2} \log|\Sigma_k| - \frac{1}{2} (x - \mu_k)^T \Sigma_k^{-1} (x - \mu_k) \log P(Yk) $$ 忽略常數(shù)項后可以看到其中包含一個二次型 $(x - \mu_k)^T \Sigma_k^{-1} (x - \mu_k)$這就是“二次”的由來。這個二次型定義了樣本 $x$ 到類別 $k$ 中心 $\mu_k$ 的馬氏距離而每個類別用自己的 $\Sigma_k$ 來定義這個距離的尺度。幾何意義QDA的決策邊界是二次曲面可以是橢圓、雙曲線或拋物線等。這賦予了模型刻畫更復(fù)雜邊界的能力。例如一類數(shù)據(jù)是緊密的球狀簇另一類是拉長的橢球簇QDA可以畫出一個橢圓形的邊界將其分開而LDA只能畫一條直線效果必然打折。3.2 LDA vs. QDA偏差-方差權(quán)衡的經(jīng)典案例選擇LDA還是QDA是機器學(xué)習(xí)中偏差-方差權(quán)衡的一個絕佳范例。LDA線性假設(shè)強同方差模型參數(shù)少只需要估計一個共享的協(xié)方差矩陣和K個均值向量。高偏差低方差。當假設(shè)近似成立時它因為參數(shù)少、估計更穩(wěn)定在小樣本數(shù)據(jù)集上往往表現(xiàn)優(yōu)于QDA。QDA二次假設(shè)弱異方差模型參數(shù)多需要估計K個不同的協(xié)方差矩陣。低偏差高方差。它能擬合更復(fù)雜的邊界但需要更多的數(shù)據(jù)來準確估計每個協(xié)方差矩陣。在樣本量不足時估計出的 $\Sigma_k$ 可能非常不穩(wěn)定導(dǎo)致模型過擬合泛化能力差。經(jīng)驗法則如果樣本量很大遠大于特征維度的平方且你懷疑各類別協(xié)方差差異明顯優(yōu)先嘗試QDA。如果樣本量有限或者通過可視化、統(tǒng)計檢驗發(fā)現(xiàn)各類別協(xié)方差大致相似使用LDA更安全、更穩(wěn)健。在訓(xùn)練集上QDA的訓(xùn)練誤差幾乎總是低于LDA但要看驗證集/測試集誤差才能判斷誰更優(yōu)。3.3 正則化判別分析一條中庸之道有沒有折中的方案有的這就是正則化判別分析。它引入一個正則化參數(shù) $\alpha$ 和一個收縮參數(shù) $\gamma$將每個類別的協(xié)方差矩陣 $\Sigma_k$ 向一個共同的對角矩陣甚至單位矩陣進行收縮。估計的協(xié)方差矩陣 $\hat{\Sigma}_k(\alpha, \gamma)$ 形式如下首先向池化共享協(xié)方差矩陣收縮$\hat{\Sigma}_k(\alpha) (1-\alpha) \hat{\Sigma}k \alpha \hat{\Sigma}{pooled}$。然后再向一個對角矩陣或單位矩陣收縮$\hat{\Sigma}_k(\alpha, \gamma) (1-\gamma) \hat{\Sigma}_k(\alpha) \gamma \frac{tr(\hat{\Sigma}_k(\alpha))}7jrgojewd9zx I$。其中$\alpha$ 控制個體協(xié)方差矩陣向共享矩陣的收縮程度。$\alpha0$ 就是QDA$\alpha1$ 就是LDA。$\gamma$ 控制向球形各向同性矩陣的收縮程度有助于處理特征間的多重共線性。通過交叉驗證來選擇合適的 $(\alpha, \gamma)$我們可以在LDA的穩(wěn)定性和QDA的靈活性之間找到最佳平衡點。scikit-learn中的LinearDiscriminantAnalysis和QuadraticDiscriminantAnalysis都通過shrinkage參數(shù)支持了這種正則化。from sklearn.discriminant_analysis import QuadraticDiscriminantAnalysis from sklearn.model_selection import cross_val_score import numpy as np # 嘗試QDA qda QuadraticDiscriminantAnalysis() qda_scores cross_val_score(qda, X_train, y_train, cv5) print(fQDA 5折交叉驗證平均準確率 {np.mean(qda_scores):.3f}) # 嘗試帶收縮的LDA正則化判別分析 from sklearn.discriminant_analysis import LinearDiscriminantAnalysis lda_reg LinearDiscriminantAnalysis(solverlsqr, shrinkageauto) # 自動選擇收縮參數(shù) lda_reg_scores cross_val_score(lda_reg, X_train, y_train, cv5) print(f正則化LDA 5折交叉驗證平均準確率 {np.mean(lda_reg_scores):.3f})4. 從理論到實戰(zhàn)判別分析的全流程應(yīng)用與調(diào)優(yōu)掌握了LDA和QDA的原理我們還需要將其嵌入到一個完整的建模流程中。判別分析不僅僅是一個模型更是一個包含數(shù)據(jù)預(yù)處理、模型選擇、評估和解釋的系統(tǒng)工程。4.1 數(shù)據(jù)預(yù)處理為判別分析鋪平道路判別分析對數(shù)據(jù)有一定的要求預(yù)處理步驟至關(guān)重要。1. 特征縮放LDA/QDA基于距離馬氏距離理論上它們對特征的尺度是不變的因為協(xié)方差矩陣的估計已經(jīng)包含了尺度信息。然而在實際數(shù)值計算中尤其是當特征量綱差異巨大如年齡和收入時進行標準化零均值、單位方差或歸一化可以提高數(shù)值穩(wěn)定性避免計算中的舍入誤差并使得正則化參數(shù)的選擇更有意義。這通常是一個好習(xí)慣。2. 類別不平衡處理判別分析天然地可以通過設(shè)置priors參數(shù)來融入類別的先驗概率 $P(Yk)$。如果你知道真實世界中各類別的分布比例例如疾病診斷中健康人遠多于病人就應(yīng)該在模型中設(shè)置正確的先驗概率。如果不設(shè)置scikit-learn默認使用訓(xùn)練集中的類別比例作為先驗估計。在嚴重不平衡的數(shù)據(jù)中這會影響決策邊界向大類偏移。除了設(shè)置先驗也可以考慮對訓(xùn)練數(shù)據(jù)使用過采樣/欠采樣技術(shù)。3. 多重共線性與特征選擇判別分析需要估計協(xié)方差矩陣的逆。如果特征之間存在高度相關(guān)性多重共線性協(xié)方差矩陣會接近奇異導(dǎo)致估計不穩(wěn)定模型方差增大。雖然正則化收縮可以緩解但事前處理更好??梢杂嬎闾卣鏖g的相關(guān)系數(shù)矩陣手動剔除高度相關(guān)的特征之一。使用方差膨脹因子進行診斷。結(jié)合過濾法如基于F統(tǒng)計量的特征選擇或嵌入法LDA本身也可以用于特征選擇即選擇在判別方向上權(quán)重大的特征來選擇特征。4.2 模型評估與選擇不止于準確率在鳶尾花這種清晰的數(shù)據(jù)集上準確率可能很高。但在更復(fù)雜的場景中我們需要更細致的評估。1. 交叉驗證是必須的永遠不要只依賴訓(xùn)練集上的準確率尤其是對于QDA這種參數(shù)較多的模型。使用K折交叉驗證來估計模型的泛化誤差。對于小樣本集留一法交叉驗證可能更合適。2. 混淆矩陣與更豐富的指標對于多分類問題準確率可能掩蓋問題。繪制混淆矩陣可以清晰看到模型在哪些類別之間容易混淆。進一步可以計算每個類別的精確率、召回率和F1-score特別是在不平衡分類中這些指標比整體準確率更有意義。3. 決策邊界可視化對于二維或三維特征或經(jīng)過LDA降維后繪制決策邊界是理解模型行為的強大工具。你可以清晰地看到LDA的線性邊界和QDA的彎曲邊界是如何劃分空間的。import matplotlib.pyplot as plt from sklearn.inspection import DecisionBoundaryDisplay from sklearn.decomposition import PCA # 為了可視化我們使用前兩個特征或者先用PCA降到2維 pca PCA(n_components2) X_train_pca pca.fit_transform(X_train) X_test_pca pca.transform(X_test) # 在降維后的數(shù)據(jù)上訓(xùn)練LDA lda_viz LinearDiscriminantAnalysis() lda_viz.fit(X_train_pca, y_train) # 繪制決策邊界 fig, ax plt.subplots(figsize(8, 6)) DecisionBoundaryDisplay.from_estimator( lda_viz, X_train_pca, response_methodpredict, alpha0.3, axax ) # 繪制訓(xùn)練數(shù)據(jù)點 scatter ax.scatter(X_train_pca[:, 0], X_train_pca[:, 1], cy_train, edgecolorsk) ax.set_xlabel(PCA Component 1) ax.set_ylabel(PCA Component 2) ax.set_title(LDA Decision Boundary on PCA-reduced Iris Data) plt.legend(*scatter.legend_elements(), titleClasses) plt.show()4.3 模型解釋與判別特征提取判別分析的一個副產(chǎn)品是強大的可解釋性。LDA找到的判別方向 $w$ 的每個分量對應(yīng)了原始特征的權(quán)重。權(quán)重絕對值越大說明該特征對區(qū)分類別的貢獻越大。這本身就是一種特征重要性排序。1. 判別特征權(quán)重分析訓(xùn)練好LDA模型后可以查看coef_屬性對于二分類或scalings_屬性對于多分類即判別方向。分析這些權(quán)重可以告訴我們哪些特征是區(qū)分不同類別的關(guān)鍵。例如在鳶尾花數(shù)據(jù)中你可能會發(fā)現(xiàn)花瓣長度和寬度在區(qū)分三個品種時權(quán)重最高。2. LDA作為降維器如前所述LDA找到的 $K-1$ 個判別方向是專門為分類任務(wù)優(yōu)化的降維方向。將原始高維數(shù)據(jù)投影到這些方向上可以在最大程度保留分類信息的前提下進行降維。這種降維后的數(shù)據(jù)不僅可視化效果好有時作為其他分類器如SVM、隨機森林的輸入特征也能提升性能。scikit-learn的LDA通過transform方法直接提供這個功能。# 使用LDA進行有監(jiān)督降維 lda_for_dr LinearDiscriminantAnalysis(n_components2) # 對于3類最多降到2維 X_train_lda lda_for_dr.fit_transform(X_train, y_train) X_test_lda lda_for_dr.transform(X_test) print(f原始特征維度 {X_train.shape[1]}) print(fLDA降維后維度 {X_train_lda.shape[1]}) # 可視化降維后的數(shù)據(jù) plt.figure(figsize(8,6)) scatter plt.scatter(X_train_lda[:, 0], X_train_lda[:, 1], cy_train, alpha0.7, edgecolorsk) plt.xlabel(LDA Component 1) plt.ylabel(LDA Component 2) plt.title(Iris Data Projected onto First Two LDA Components) plt.legend(*scatter.legend_elements(), titleClasses) plt.show()5. 判別分析的邊界與進階何時該尋求其他武器判別分析特別是LDA因其簡單、高效、可解釋性強在諸多領(lǐng)域如生物信息學(xué)、金融風(fēng)險評估、人臉識別有著悠久而成功的應(yīng)用歷史。但它并非銀彈清晰地認識其邊界才能更好地使用它。5.1 判別分析的固有局限性1. 對分布假設(shè)敏感LDA和QDA的核心都建立在數(shù)據(jù)或投影后數(shù)據(jù)服從多元正態(tài)分布的假設(shè)上。當數(shù)據(jù)嚴重偏離正態(tài)分布例如高度偏態(tài)、多峰分布時其性能會下降。雖然在實際中模型對正態(tài)性假設(shè)有一定的魯棒性但對于類別邊界極度非線性的數(shù)據(jù)如同心圓、螺旋線線性或二次邊界都無能為力。2. 對異常值敏感均值和協(xié)方差矩陣的估計都對異常值非常敏感。數(shù)據(jù)中的少數(shù)極端點可能會極大地扭曲判別方向或決策邊界。在應(yīng)用前進行異常值檢測和處理是必要的。3. 只能處理數(shù)值特征判別分析本質(zhì)是處理連續(xù)數(shù)值特征。對于分類特征需要先進行編碼如獨熱編碼但這可能會破壞特征的內(nèi)在結(jié)構(gòu)并增加維度。5.2 當判別分析力不從心時替代方案當數(shù)據(jù)不符合判別分析的假設(shè)時我們需要轉(zhuǎn)向更靈活的模型。1. 邏輯回歸對于二分類問題邏輯回歸是LDA一個強有力的競爭對手。它直接對條件概率 $P(Y|X)$ 建模沒有對特征分布做任何假設(shè)除了線性決策邊界在log-odds上。當正態(tài)性假設(shè)不成立時邏輯回歸往往更穩(wěn)健。此外邏輯回歸天然輸出概率解釋性也很好。但邏輯回歸擴展到多分類相對復(fù)雜需要一對多等策略。2. 樸素貝葉斯這是一個生成模型它假設(shè)特征在給定類別下條件獨立。這個假設(shè)通常很強但在文本分類等領(lǐng)域樸素貝葉斯表現(xiàn)驚人地好。它計算效率極高特別適合高維數(shù)據(jù)。當判別分析因維度災(zāi)難而失效時樸素貝葉斯可能是一個可行的基線模型。3. 非線性模型決策樹、SVM、神經(jīng)網(wǎng)絡(luò)對于復(fù)雜的非線性決策邊界這些模型是更現(xiàn)代的選擇。決策樹/隨機森林完全非參數(shù)對數(shù)據(jù)分布沒有假設(shè)能處理混合類型特征并且能給出特征重要性。但容易過擬合且決策邊界是軸平行的可能不夠平滑。支持向量機通過核技巧可以隱式地將數(shù)據(jù)映射到高維空間從而擬合非常復(fù)雜的非線性邊界。對于小樣本、高維數(shù)據(jù)SVM通常表現(xiàn)優(yōu)異。神經(jīng)網(wǎng)絡(luò)最靈活的模型理論上可以擬合任何函數(shù)。但需要大量數(shù)據(jù)、調(diào)參復(fù)雜且可解釋性差。5.3 一個實戰(zhàn)決策框架面對一個新的分類問題我個人的經(jīng)驗流程通常是這樣的探索性數(shù)據(jù)分析可視化數(shù)據(jù)分布檢查類別是否線性/近似線性可分各類別的協(xié)方差矩陣是否相似可用散點圖矩陣、箱線圖、計算協(xié)方差矩陣觀察。建立基線模型從簡單的LDA和邏輯回歸開始。它們訓(xùn)練快可解釋性強能快速給出一個性能基準。使用交叉驗證比較。處理非線性如果基線模型表現(xiàn)不佳觀察誤分類樣本是否呈現(xiàn)出明顯的非線性模式。嘗試QDA如果樣本量足夠、帶核SVM或隨機森林。處理高維小樣本如果特征維度遠大于樣本量首先考慮特征選擇或使用正則化模型如正則化LDA、L1邏輯回歸、線性SVM。樸素貝葉斯也值得一試。追求極致性能如果數(shù)據(jù)量巨大且問題非常復(fù)雜再考慮深度神經(jīng)網(wǎng)絡(luò)。判別分析尤其是LDA在這個流程中扮演著“第一塊試金石”和“可解釋性標桿”的角色。它可能不是最終勝出的模型但通過它我們能快速理解數(shù)據(jù)的線性可分程度獲得關(guān)鍵特征的權(quán)重信息這些對于后續(xù)更復(fù)雜模型的構(gòu)建和調(diào)試都有寶貴的指導(dǎo)意義。它教會我們的不僅僅是一個模型更是一種“尋找最優(yōu)分離邊界”的建模哲學(xué)。