Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

《机器学习公式详解》

(南瓜书)
第11章 特征选择和稀疏学习
本节主讲:秦州
本节大纲

南瓜书对应章节:11.1, 11.2, 11.3, 11.4, 11.5


1. 子集搜索与评价
2. 正则与LASSO
3. 稀疏表示和字典学习
特征选择

必要性:
1. 解决维数灾难的问题,和降维技术一起都是解决维数灾难的主流技术
2. 降低下游模型的学习难度
概念:
特征选择中所谓的“无关特征”是指与当前学习任务无关,所谓“冗余特征“是指该特征能够
由其他特征推演得到。
基本做法:
产生一个候选子集 -> 评价好坏 -> 更新候选子集 -> 评价好坏 -> ... -> 最优子集
特征选择-子集搜索

1. 前向搜索:给定特征集合 {a1 , a2 , … , ad }, 对这 d 个候选单特征子集进行评价, 假


定 {a2 } 最优, 于是将 {a2 } 作为第一轮的选定集; 然后, 在上一轮的选定集中加入一
​ ​ ​

个特征, 构成包含两个特征的候选子集, 假定在这 d − 1 个候选两特征子集中


​ ​

{a2 , a4 } 最优, 且优于 {a2 }, 于是将 {a2 , a4 } 作为本轮的选定集...... 假定在第 k +


1 轮时, 最优的候选 (k + 1) 特征子集不如上一轮的选定集, 则停止生成候选子集, 并
​ ​ ​ ​ ​

将上一轮选定的 k 特征集合作为特征选择结果.
2. 后向搜索:从完整子集开始,每次减少一个特征。
3. 双向搜索:在搜索过程中同时添加和减少特征。
特征选择-子集评价
信息熵:
∣Y∣
Ent(D) = − ∑ pk log2 pk
​ ​ ​ ​

i=1

其中给定数据集D,假设D中第i类样本所占比例为 pi (i = 1, 2, … , ∣Y∣) ​

信息增益:
V
∣Dv ∣
Gain(A) = Ent(D) − ∑ Ent (Dv )
∣D∣
​ ​

v=1

其中对于属性子集A,假设根据其取值将D分成V 个子集,记作 {D1 , D2 , … , DV }


信息增益越大,表示特征子集A包含的有助于分类的信息越多。
特征选择-过滤式
先对数据集进行特征选择,再训练学习器,相当于用特征选择的算法对特征进行“过
滤”。
Relief算法 -- 给每一个特征计算一个“相关统计量”,通过该值来筛选特征
给定训练集 {(x1 , y1 ) , (x2 , y2 ) , … , (xm , ym )}, 对每个示例 xi , Relief 先在 xi 的同
类样本中寻找其最近邻 xi,nh , 称为 “猜中近邻” (near-hit), 再从 xi 的异类样本中寻找其最
​ ​ ​ ​ ​ ​ ​ ​

近邻 xi, nm , 称为 “猜错近邻” (near-miss), 然后, 属性 j 的相关统计量为:


​ ​

2 2
δ = ∑ (diff
j
​ (xi , xi, nm )
j

j
​ − diff (xi , xi,nh ) )
j

j

即当属性j 在异类样本中的差异大于同类样本,则属性j 具有区分性。并且差异越明显,


区分性越强。
特征选择-包裹式

直接把最终将要使用的学习器作为特
征子集的评价准则。
LVW(Las Vegas Wrapper)算法
特征选择-嵌入式
将特征选择的过程和学习器的训练过程融合起来。即在学习器训练的过程中自动进行了
特征选择。
给定数据集 D = {(x1 , y1 ) , (x2 , y2 ) , … , (xm , ym )}, 其中 x ∈ Rd , y ∈ R. 我 们考
虑最简单的线性回归模型, 以平方误差为损失函数, 则优化目标为
​ ​ ​ ​ ​

m
min ∑ (yi − w xi ) T 2
​ ​ ​

w
i=1

为了降低模型过拟合的风险,我们可以对w加一个限制,即在优化目标中加上带有w的
项,比如
m
min ∑ (yi − w xi ) + λ∥w∥22 T 2
​ ​ ​ ​

w
i=1

增加了w的L2 的正规化项也称为岭回归。

特征选择-嵌入式

范数更容易得到稀疏解,达到特征
L1
选择的目的。

min f (x) + λ∥x∥1


​ ​

基于L1正则化的学习方法就是一种嵌
入式特征选择方法,其特征选择过程
域学习器训练过程融为一体,同时完
成。
这个函数的形式又称为LASSO。
稀疏表示和字典学习

稀疏性:如果数据集D是一个矩阵,每行对应于一个样本,每列对应于一维特征,特征
选择解决的是矩阵中的列与任务无关,因此可以安全地去除。
另一种稀疏性是指数据集中存在许多0元素,但是他们不是整列排布的。稀疏性会带来一
些好处,比如文本数据使用字频表示后具有高度的稀疏性,从而变得线性可分。
将稠密数据变得稀疏是否有好的方法?显然,对于一般的任务没有这样的“字典”,因此
我们要学习得到一个合适的“字典”,使学习任务得以简化。这种技术就叫做“字典学
习”(dictionary learning),也称作“稀疏编码”(sparse coding)。字典学习更加偏重于
得到字典的过程,而稀疏编码偏重于得到字典后对样本进行稀疏转换。
字典学习

给定数据集{x1 , x2 , … , xm },字典学习最简单的形式为
​ ​ ​

m m
min ∑ ∥xi − Bαi ∥2 + λ ∑ ∥αi ∥1
2
​ ​ ​ ​ ​ ​ ​ ​

B,αi ​

i=1 i=1

其中 B ∈ Rd×k 为字典矩阵, k 称为字典的词汇量, 通常由用户指定, αi ∈ Rk 则是样本


xi ∈ Rd 的稀疏表示. 显然, 该式的第一项是希望由 αi 能很好地重构 xi , 第二项则是希

望 αi 尽量稀疏。
​ ​ ​


字典学习-求解方法
有两个变量α 和 B,因此我们采用变量交替优化的策略求解。
第一步:固定字典B求解αi ,则优化形式为 ​

m m
min ∑ ∥xi − Bαi ∥2 + λ ∑ ∥αi ∥1
2
​ ​ ​ ​ ​ ​ ​ ​

αi ​

i=1 i=1

可以采用LASSO的方式优化
第二步:固定αi 求解B,则优化形式为

m
min ∑ ∥xi − Bαi ∥2 = min ∥X − BA∥2F
2
​ ​ ​ ​ ​ ​ ​

B B
i=1

其中 X = (x1 , x2 , … , xm ) ∈ Rd×m , A = (α1 , α2 , … , αm ) ∈ Rk×m , ∥ ⋅ ∥F 是


矩阵的 Frobenius 范数。
​ ​ ​ ​ ​ ​ ​
字典学习-求解方法续
∥ k ∥2
min ∥X − BA∥2F = min X − ∑ bj αj
​ ​ ​ ​ ​ ​ ​ ​

B bi
∥ ∥F

j=1

⎛ ⎞
∥ ∥2
= min X − ∑ bj α j
− bi αi
⎝ ⎠
​ ​

​ ​ ​ ​ ​ ​ ​ ​

bi

∥ j=i ∥
∥ i ∥2
= min ∥Ei − bi α ∥F ​ ​ ​ ​ ​ ​

bi

注意到更新bi 时bj 是固定的,因此Ei 也是一个常数。因此优化式表示的是一个Ei 的低秩


矩阵近似,即求解Ei 的最优1秩近似矩阵bi αi 。
​ ​ ​ ​

​ ​
预告

下一节:计算学习理论
西瓜书对应章节:第12章
结束语
欢迎加入【南瓜书读者交流群】,我们将在群里进行答疑、勘误、本次直播回放、本次
直播PPT发放、下次直播通知等最新资源发放和活动通知。
加入步骤:
1. 关注公众号【Datawhale】,发送【南瓜书】三个字获取机器人“小豚”的微信二维码
2. 添加“小豚”为微信好友,然后对“小豚”发送【南瓜书】三个字即可自动邀请进群

You might also like