上一章:机器学习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∣pklog2pkEnt(D) = -\sum_{k=1}^{|\mathcal{Y}|}p_k\log_2 p_kEnt(D)=−∑k=1∣Y∣pklog2pk(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,αii=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]