📖《机器学习》第11章·通俗解读 | 特征选择与稀疏学习:挑出真正重要的东西

上一章我们学了“降维”——把原始特征变换成新特征,减少数量。
这一章换个思路:不改变特征本身,直接从原始特征里挑出最有用的一批
这叫特征选择
同时,还会介绍稀疏学习:让模型自己学会“哪些特征不重要,就把它们的系数变成零”。


1. 为什么要做特征选择?

想象一下,你判断一个瓜好不好,可能需要看成百上千个特征(瓜的形状、颜色、纹路、气味……)。
但真正起关键作用的可能只有少数几个(比如根蒂、敲声)。
其他特征要么是无关特征(跟好瓜坏瓜没关系,比如卖瓜人的帽子颜色),要么是冗余特征(能由其他特征推出来,比如有了根蒂蜷度和敲声,其实就已经能判断了)。

特征选择的好处

  • 减少过拟合(去掉噪声特征)

  • 加快训练和预测速度

  • 模型更容易解释(只看几个关键特征)

就像你诊断感冒:不需要测DNA、查血型,只看发烧、咳嗽、流鼻涕就够了。


2. 特征选择的一般框架

特征选择通常包含三步循环:

  1. 子集搜索:从所有特征里找一个候选子集

  2. 子集评价:评估这个子集好不好(比如用信息增益、分类准确率等)

  3. 重复直到找到满意的子集

但直接穷举所有子集是不可能的(2^d 种组合,d 大时天文数字)。
所以用贪心搜索

  • 前向搜索:从空集开始,每次加一个“最好”的特征

  • 后向搜索:从全特征开始,每次去掉一个“最没用”的特征

  • 双向搜索:结合两者,边加边减

就像你收拾行李去旅行:
前向搜索:先拿最必要的东西(手机),然后加第二必要的(充电器),以此类推。
后向搜索:把整个箱子先全塞满,然后扔掉最不重要的东西,直到箱子能关上。


3. 三种特征选择方法

3.1 过滤式(Filter)

先选特征,再训练模型
特征选择过程与学习器无关,只根据通用指标(如信息增益、卡方检验、相关系数)给每个特征打分,然后选分高的。

代表算法:Relief
Relief 给每个特征算一个“权重”:

  • 对每个样本,找同类最近邻(猜中近邻)和异类最近邻(猜错近邻)

  • 如果某个特征能让同类更近、异类更远,权重增加;否则减小

就像你给面试官打分:
如果候选人的“项目经验”让他看起来更像同类中的优秀者,同时不像其他类的人,那这个特征就是好特征。

优点:快速、简单。
缺点:可能会选出一堆相似的特征(冗余),且没考虑特征之间的组合效果。


3.2 包裹式(Wrapper)

把学习器的性能当作评价标准
直接拿你要用的算法(比如决策树、SVM)来测试每个特征子集的表现。
效果好,但计算量巨大(每评估一次就要训练一次模型)。

代表算法:LVW(Las Vegas Wrapper)
随机生成特征子集,用交叉验证评估性能,如果更好就保留,否则继续随机搜索。

就像你买衣服:
过滤式是看“材质、颜色、品牌”这些通用指标打分;
包裹式是直接穿上身,对着镜子看效果好不好。
后者更准,但试穿很累。

包裹式通常比过滤式效果好,但速度慢很多。


3.3 嵌入式(Embedded)

把特征选择融入模型训练过程,一边训练一边自动选特征。

最典型的就是L1 正则化(LASSO)。

在线性回归中,我们通常要最小化预测误差。
L1 正则化在误差后面加一项:所有系数的绝对值之和 × λ

这会让很多不重要的特征的系数自动变成 0。
系数为零 → 该特征被“踢出”模型 → 自动完成了特征选择。

为什么 L1 能把系数变成 0,而 L2(岭回归)不能?
看图说话(想象二维特征空间):

  • L2 正则化(圆形边界)跟误差等值线相交,通常交点不在坐标轴上 → 两个系数都不为零

  • L1 正则化(菱形边界)跟误差等值线相交,更容易交在坐标轴上 → 某个系数为零

通俗理解:L1 正则化就像一把“剪刀”,把不重要的特征直接剪掉,让模型变“瘦”。

嵌入式方法既有过滤式的速度(计算较快),又有包裹式的准确(结合模型),很实用。


4. 稀疏表示与字典学习

除了特征选择,还有一种思路:不是去掉特征,而是把样本表示成一组“基”的稀疏组合

比如,图像可以由少量“基本图像块”的线性组合表示。
字典学习就是学出这组基(字典),然后每个样本只使用其中少数几个基(稀疏编码)。

就像字典里有几千个字,但你写一篇文章只用其中几百个字。
字典学习就是找到最适合描述这堆数据的“字库”。

好处:稀疏表示能降低存储、加速计算,有时还能提升分类性能(比如文本分类)。


5. 压缩感知:用少量信息还原全部

这是信号处理领域的革命性思想,跟机器学习也有关联。

传统采样:要准确还原信号,采样频率必须足够高(奈奎斯特定理)。
压缩感知说:如果信号本身是稀疏的(或能在某个变换下稀疏),就可以用远少于传统要求的采样点,完美重建原信号

就像你有一幅画,画上只有几笔线条(稀疏)。
你不用拍全图,只拍几张局部照片,就能还原整幅画。

应用场景:

  • 磁共振成像(MRI)快速扫描

  • 单像素相机

  • 推荐系统中的矩阵补全(比如根据少部分用户评分,推测全部评分)

压缩感知涉及较多数学(RIP条件、L1最小化),这里只需记住:稀疏性是信号恢复的关键武器


📌 第十一章总结(背下这5句就够了)

  1. 特征选择 = 从原始特征里挑出最有用的子集,可以过滤式、包裹式、嵌入式

  2. 过滤式(Relief):用通用指标打分,快但不一定准

  3. 包裹式(LVW):用模型性能评估,准但慢

  4. 嵌入式(LASSO):用 L1 正则化让模型自己把不重要的系数变成 0

  5. 稀疏学习:让样本或信号用少量“基”表示,能实现压缩和快速恢复(字典学习、压缩感知)


👇 下章预告

第十二章计算学习理论——这是机器学习理论的“硬核”部分。
会讲到:什么是 PAC 学习、VC 维(衡量模型复杂度)、Rademacher 复杂度、稳定性等。
虽然偏数学,但我会尽量用类比帮你理解这些概念的核心思想。

更多推荐