《机器学习》笔记(第五部分:特征选择与稀疏学习、半监督学习、概率图模型)
11 特征选择与稀疏学习
11.1 子集搜索与评价
子集搜索 考虑子集搜索 (subset search) 问题:
- 前向 (forward) 搜索: 从空集开始, 每次添加一个属性, 直到模型最优;
- 后向 (backward) 搜索: 从全集开始, 每次删除一个属性, 直到模型最优;
- 双向 (bi-directional) 搜索: 从空集或全集开始, 每次考虑添加或删除一个属性, 直到模型最优.
子集评价 考虑子集评价 (subset evaluation) 问题: 给定数据集 D, 假定 y 类样本占比为 py. 定义信息熵
EntD=−y∑pylbpy
假定属性子集 A 将 D 做了一个不交的划分 D=D1∪⋯∪DV. 定义信息增益
GainDA=EntD−v∑∣D∣∣Dv∣EntDv
信息增益 GainDA 越大, 意味着特征子集 A 包含的信息越多. 可以以此作为评价准则.
将子集搜索与子集评价结合, 就可以得到特征选择方法. 例如前向搜索与信息熵相结合就是决策树算法. 常见的特征选择方法包括过滤式 (filter)、包裹式 (wrapper) 和嵌入式 (embedding).
11.2 过滤式选择
过滤式方法是最普通的特征选择方法: 先选择特征、再训练学习器, 特征选择与后续学习完全无关. Relief (Relevant Features), 是一种过滤式选择方法, 它给每一个特征评一个分 (称为相关统计量) 来度量其重要性.
给定数据集 D={(x(i),y(i))}i=1m, Relief 方法定义样本 x(i) 的猜中近邻 (near-hit) u(i) 和猜错近邻 v(i) 分别为 x(i) 的最近同类样本和异类样本. 然后定义关于第 k 维的相关统计量
δk=i∑(−d(xj(i),uj(i))2+d(xj(i),vj(i))2)
其中 d(⋅,⋅) 是距离函数. 对于离散属性, 可取 0-1 距离; 对于离散属性, 可将 {xj(i)}i 规范化后取绝对值距离. 该分数分为两部分: 猜中近邻越远分数越低, 猜错近邻越远分数越高.
Relief 是为二分类问题而设计的. 其扩展变体 Relief-F 用于处理多分类问题. 假设定义 x(i) 类别为 y 的最近邻为 v(i)(y), 则修正
δk=i∑(−d(xj(i),uj(i))2+y=yi∑p(y)d(xj(i),vj(i)(y))2)
其中 py 为类别 y∈Y 的频率.
11.3 包裹式选择
包裹式选择直接把学习器性能作为特征子集的评价准则. LVW (Las Vegas Wreapper) 是一个典型的包裹式特征选择方法, 它在 Las Vegas 方法框架下使用随机策略来自己搜索, 以分类器误差作为特征子集的评价准则. 具体地, LVW 方法随机选取若干个特征子集, 计算每一个特征子集训练出的学习器的交叉验证误差, 然后选择误差率最低的那一个 (若误差率相等, 则特征数最少的那一个) 作为最终的分类器.
11.4 嵌入式选择、岭回归与 LASSO 回归
嵌入选择将特征选择与学习器两个优化目标合为一个进行. 它同时考虑学习器是否合理以及特征选择是否合理, 故它的优化目标是两项的和. 简单线性回归中的优化目标是
wmini∑(yi−wTx)2
另外我们希望 w 的复 杂程度尽量小. 这种复杂程度可以以某一个范数 ∣w∣ 刻画. 所以最终的优化目标是
wmini∑(yi−wTx)2+λ∣w∣
其中 λ>0 是正则化系数. 若范数取 Euclid 范数, 则回归任务称为岭回归 (ridge regression); 若取 Manhattan 范数, 则称为 LASSO (Least Absolute Shrinkage and Selection Operator) 回归. 岭回归和 LASSO 回归都有助于降低过拟合风险, 其中岭回归更容易获得稀疏 (sprase) 解, 即 w 中的零分量会更多.
LASSO 回归的求解可以使用近端梯度下降 (PGD, Proximal Gradient Descent) 解决. PGD 算法在每一个迭代步骤中将目标函数近似为一个二次函数, 然后求其最小值. 对于一个优化问题
xminf(x)+λ∣∣x∣∣1
若 f 可导且 ∇f 满足 L-Lipschitz 条件, 即
∣∣x′−x′′∣∣22∣∣∇f(x′)−∇f(x′′)∣∣22≤L,∃L>0,∀x′,x′′
选定一个初值 x0, 则优化目标可在 x0 附近二阶 Taylor 展开成二次函数的形式. 这个函数形式的最小值点位于
x1=x0−L∇f(x0)
首轮迭 代最小值点 x1 明确后, 又可以迭代地获得下一轮的最小值点, 如此反复直到收敛.
在 LASSO 回归中, 我们选定一个初值 x0 并计算首次迭代点 x1=x0−nablaf(x0)/L. 然后后续的所有迭代点都有解析解
xk+1,i=⎩⎨⎧zki−λ/L,zki+λ/L,0,zki>λ/Lzki<−λ/LOtherwise
其中 zk=(zk1,…,zkm)=xk−∇f(xk)/L.
11.5 稀疏表示与字典学习
稀疏编码 (sparse coding) 问题考虑如何将样本矩阵稀疏化, 让其出现大量零值. 字典学习 (dictionary learning) 是稀疏编码的一种方法, 它尝试将样本 D={xi∈Rd}i=1m 通过一个降维矩阵 (称为字典) B∈Rd×k 降维到一个指定维数 k (称为字典的词汇量) 的新表示 {αi∈Rk}i=1m, 并且希望新表示尽可能稀疏. 该问题与 LASSO 回归问题的目标函数形式一致, 但是决策变量不同:
B,αimini∑(∣∣xi−Bαi∣∣22+λ∣∣αi∣∣1)
其中 Bαi 是基于投影 αi 复原的旧坐标. 该问题有 kd+km 个决策变量, 难以求解.
可以用变量交替优化的策略求解该问题. 第一步, 取一个随机的初值字典 B 且固定住, 然后求解 LASSO 回归问题:
αi←αiargmini∑(∣∣xi−Bαi∣∣22+λ∣∣αi∣∣1)
得到一组 αi 后将其固定, 然后更新字典 B:
B←Bargmini∑(∣∣xi−Bαi∣∣22)
该步骤可以使用基于逐列更新策略的 KSVD 方法求解. 重复上面两步, 直到收敛.
11.6 压缩感知
假设对一个原始信号 x∈Rm 用一个测量矩阵 Φ∈Rn×m 采样, 得到了一个采样信号 y=Φx∈Rn 且采样维度 n≪m. 若只知道测量矩阵 Φ 和采样信号 y, 当然是无法还原出原始信号 x 的. 但是如果原始信号 x 是由一个稀疏信号 s∈Rm 通过一个线性变换 Φ∈Rm×m 产生的, 即 x=Ψs, 则有
y=ΦΨs=:As
由于 s 的稀疏性, 此时由采样信号 y 还原出稀疏信号 s, 然后还原出原始信号 x=Ψs 是可能的.
压缩感知分为感知测量和重构恢复两个阶段:
- 感知测量考虑如何将样本稀疏化, 方法包括 Fourier 变换、小波变换、字典学习、稀疏编码等;
- 重构恢复是压缩感知的核心, 关注如何将稀疏样本恢复成原信号.
限定等距性 对于一个降维矩阵 A∈Rn×m (n≪m) 若 ∃δk∈(0,1) 使得 ∀s∈Rk 和 ∀Ak∈Rn×k 是 A 的子矩阵都有
1−δk≤∣∣s∣∣22∣∣Aks∣∣22≤1+δk
则称 A 满足 k-限定等距性 (k-RIP, Restricted Isometry Property).
若 A=ΦΨ 满足 k-限定等距性, 则可以从 y 中恢复出 s, 从而还原 x:
smin∣∣s∣∣0,s.t.y=As
这本是一个 NP 难问题. 但是此处, L0 范数优化与 L1 范数优化是同解的. 所以该问题可以转化为一个优化目标为 ∣∣s∣∣1=min 的 LASSO 回归问题.
矩阵补全 假设一个矩阵 A∈(R∪{∅})n×m=(aij) 有大量缺失值, 非缺失值的坐标记录在一个集合 Ω={(i,j)} 中. 现在希望恢复一个低秩矩阵 X=(xij) 来对这些缺失值进行填补. 即
XminrankX,s.t.xij=aij
这也是一个 NP 难问题. 定义矩阵 X 的核范数 (nuclear norm) 或迹范数 (trace norm) ∣∣X∣∣nucl 是矩阵所有奇异值之和. 该问题的优化目标等价于 ∣∣X∣∣nucl. 此时该问题可以通过半正定规划求解.
理论研究表明, 通常只需观察到 O(rankA⋅mlog2m) 个元素就能完美恢复出 A.
13 半监督学习
13.1 未标记样本
考虑一个样本集 D=L∪U, 其中 L={(ℓi,yℓi)}i=1nℓ 是有标记 (labeled) 样本, 而 U={ui}u=1nu 是未标记 (unlabeled) 样本.
主动学习 用 L 训练一个模型, 然后在 U 中不断选出对改善模型性能帮助最大的样本并人工打标签 (称为查询, query). 该过程称为主动学习 (active learning).
半监督学习 U 虽然未直接包含标记信息, 但包含了数据分布的信息, 对建立模型有帮助. 学习器不依赖外界、自动利用 U 提升学习性能的过程称为半监督学习 (semi-supervised learning). 半监督学习分为两类:
- 纯 (pure) 半监督学习: 假定 U 并非待预测数据. 基于开放世界假设, 希望模型适用于 D 以外的数据.
- 直推学习 (transductive learining): 假定 U 恰是待预测数据. 基于封闭世界假设, 仅试图对 U 进行预测.
利用 U 必须要 做出一些 U 解释的数据分布信息与标记之间联系的假设. 常见的假设有:
- 聚类假设 (cluster assumption): 假设数据存在簇结构, 同簇样本属于同一类别.
- 流形假设 (manifold assumption): 假设数据分布在一个流形上, 邻近的样本具有相似的输出值.
13.2 生成式方法
生成式方法 (generative methods) 假设所有数据都来源于同一个分布族, 此时模型参数与学习目标联系起来. 未标记数据的标记看作模型的缺失数据, 此时可以利用 EM 算法做极大似然估计.
以 Gauss 混合分布为例, 给定样本 x, 其真实类别标记为 y∈Y={1,…,N}. 假设样本服从 Gauss 混合分布:
x∼MixN(θ),θ={(αi,μi,Σi)}i=1k
Gauss 混合分布的密度是
p(x)=ι∑αιφ(x∣μι,Σι)
定义样本 x 属于类别 i 的概率:
p(x,i):=Pr(y=i∣x)=p(x)αiφ(x∣μi,Σi)
这里采用 EM 算法求解参数的极大似然估计. 这里的观测数据是所有自变量 {ℓj}∪{uj} 以及有标签数据 ℓj 属于类别 i 的概率 piℓj:=Pr(yℓj=i)=1(yℓj=i). 缺失数据是无标签数据 uj 属于类别 i 的概率 piuj:=Pr(yuj=i). E-步考虑缺失数据的期望:
piuj=p(uj,i)
这里 M-步考虑观测数据的对数似然最大化问题
LL=(x,y)∈L∑(p(x)⋅p(x,i))+x∈U∑p(x)=max
此时的参数为
⎩⎨⎧μi=∑jpiℓj+∑jpiuj∑jℓjpiℓj+∑jujpiujΣi=∑jpiℓj+∑jpiuj∑jpiℓj(ℓj−μi)(ℓj−μi)T+∑jpiuj(uj−μi)(uj−μi)Tαi=nℓ+nu∑jpiℓj+∑jpiuj
以上过程不断迭代直到收敛, 即可获得模型参数. 对于新样本 x, 尝试最大化后验概率 argmaxi∈Yp(x,i) 即可作为预测.
13.3 半监督支持向量机 S3VM
半监督支持向量机 (S3VM, Semi-Supervised SVM) 是支持向量机在半监督学习上的推广. S3VM 试图找到一个能将两类样本分开, 并且穿过数据低密度区域的划分超平面.

TSVM (Transductive SVM) 是一种著名的 S3VM, 它尝试给 U 中的样本指派一个最优类别. 给定样本 L∪U={(ℓi,yℓi)}i=1nℓ∪{(ui,yui)}i=1nu, 其中 yℓi,yui∈B={±1}. TSVM 尝试找到一组最优的分割超平面参数 w,b、最优的松弛变量 ξ