上一章:機器學習10——降維與度量學習
下一章:【從 0 到 1 落地】機器學習實操項目目錄:覆蓋入門到進階,大學生就業 / 競賽必備@[TOC]
機器學習實戰項目:【從 0 到 1 落地】機器學習實操項目目錄:覆蓋入門到進階,大學生就業 / 競賽必備@[TOC]
文章目錄
- 一、特征的基本概念與分類
- 二、特征選擇的意義與方法
- (一)基本思路
- (二)常見特征選擇方法
- 三、稀疏學習與字典學習
- (一)稀疏表示
- (二)字典學習
- 總結
一、特征的基本概念與分類
特征是描述物體的屬性,根據與學習任務的相關性可分為三類:
- 相關特征:對當前學習任務有用的屬性(如判斷“好瓜”時的“根蒂”“紋理”等);
- 無關特征:與當前學習任務無關的屬性(如判斷“好瓜”時的“西瓜顏色”);
- 冗余特征:信息可由其他特征推演出來的屬性(如“西瓜重量”和“西瓜體積”可能存在冗余)。
(注:文檔暫不深入討論冗余特征)
二、特征選擇的意義與方法
特征選擇是從給定特征集合中選出任務相關特征子集,核心是確保不丟失重要特征,目的是減輕維度災難(在少量屬性上構建模型)和降低學習難度(保留關鍵信息)。
(一)基本思路
特征選擇需解決兩個問題:子集搜索(生成候選特征子集)和子集評價(判斷子集好壞)。
-
子集搜索
- 前向搜索:從空集開始,逐步添加最優特征(每次新增一個能提升評價的特征);
- 后向搜索:從完整特征集開始,逐步移除最差特征(每次刪除一個降低評價的特征);
- 雙向搜索:同時進行前向添加和后向刪除,提升搜索效率。
-
子集評價
常用信息熵衡量特征子集的區分能力:- 特征子集AAA將數據集DDD劃分為VVV個子集DvD^vDv;
- 評價指標為信息增益:Gain(A)=Ent(D)?∑v=1V∣Dv∣∣D∣Ent(Dv)Gain(A) = Ent(D) - \sum_{v=1}^V \frac{|D^v|}{|D|}Ent(D^v)Gain(A)=Ent(D)?∑v=1V?∣D∣∣Dv∣?Ent(Dv),其中Ent(D)=?∑k=1∣Y∣pklog?2pkEnt(D) = -\sum_{k=1}^{|\mathcal{Y}|}p_k\log_2 p_kEnt(D)=?∑k=1∣Y∣?pk?log2?pk?(pkp_kpk?為第kkk類樣本占比)。
(二)常見特征選擇方法
-
過濾式選擇
獨立于學習器,先對特征進行評分,再根據評分選擇特征。典型方法為Relief:- 核心思想:為每個特征計算“相關統計量”,衡量其區分同類與異類樣本的能力;
- 關鍵概念:
- 猜中近鄰(near-hit):樣本xix_ixi?的同類最近鄰xi,nhx_{i,nh}xi,nh?;
- 猜錯近鄰(near-miss):樣本xix_ixi?的異類最近鄰xi,nmx_{i,nm}xi,nm?;
- 相關統計量計算:
δj=∑i[?diff(xij,xi,nhj)2+diff(xij,xi,nmj)2]\delta^j = \sum_i \left[-diff(x_i^j, x_{i,nh}^j)^2 + diff(x_i^j, x_{i,nm}^j)^2\right]δj=i∑?[?diff(xij?,xi,nhj?)2+diff(xij?,xi,nmj?)2]
(diffdiffdiff為屬性差異度量:離散屬性不同取1,相同取0;連續屬性取歸一化后的絕對差); - 特點:計算效率高(時間開銷隨特征數線性增長),但未考慮學習器特性。
-
包裹式選擇
以特定學習器的性能為評價標準,為其“量身定制”特征子集:- 優點:直接優化學習器性能,通常比過濾式效果好;
- 缺點:需多次訓練學習器,計算開銷大。
-
嵌入式選擇
將特征選擇嵌入模型訓練過程,通過正則化實現特征篩選:- L1范數正則化:在損失函數中加入λ∥w∥1\lambda\|w\|_1λ∥w∥1?(如LASSO回歸),易產生稀疏解(部分特征權重wj=0w_j=0wj?=0),實現特征選擇;
- L2范數正則化(嶺回歸):加入λ∥w∥22\lambda\|w\|_2^2λ∥w∥22?,權重趨于小值但不稀疏,無法直接篩選特征;
- 原理:L1正則化的等值線與損失函數等值線的交點常出現在坐標軸上,導致部分權重為0。
三、稀疏學習與字典學習
(一)稀疏表示
指數據矩陣中存在大量零元素(非整行/列零值),優勢包括:
- 存儲高效(僅需記錄非零元素);
- 增強模型可解釋性(非零特征為關鍵因素);
- 適用于文本等天然稀疏數據。
(二)字典學習
通過學習“字典”矩陣BBB,將樣本表示為字典的稀疏線性組合(xi=Bαix_i = B\alpha_ixi?=Bαi?,αi\alpha_iαi?為稀疏系數)。
-
優化目標
minB,αi∑i=1m∥xi?Bαi∥22+λ∑i=1m∥αi∥1min_{B,\alpha_i} \sum_{i=1}^m \|x_i - B\alpha_i\|_2^2 + \lambda\sum_{i=1}^m \|\alpha_i\|_1minB,αi??i=1∑m?∥xi??Bαi?∥22?+λi=1∑m?∥αi?∥1?
(第一項為重構誤差,第二項為稀疏正則化)。 -
求解方法(迭代優化)
- 固定字典BBB:求解稀疏系數αi\alpha_iαi?(類似LASSO問題);
- 固定系數αi\alpha_iαi?:更新字典BBB,最小化重構誤差∥X?BA∥F2\|X - BA\|_F^2∥X?BA∥F2?(XXX為樣本矩陣,AAA為系數矩陣);
- KSVD算法:逐列更新字典,對殘差矩陣進行奇異值分解,取最大奇異值對應的向量更新字典列。
總結
特征選擇通過篩選相關特征減輕維度災難,分為過濾式(高效但獨立于學習器)、包裹式(針對性強但開銷大)、嵌入式(結合正則化,如L1范數)。稀疏學習通過稀疏表示和字典學習,在高效存儲和特征提取中發揮重要作用,適用于高維數據處理。
上一章:機器學習10——降維與度量學習
下一章:【從 0 到 1 落地】機器學習實操項目目錄:覆蓋入門到進階,大學生就業 / 競賽必備@[TOC]
機器學習實戰項目:【從 0 到 1 落地】機器學習實操項目目錄:覆蓋入門到進階,大學生就業 / 競賽必備@[TOC]