第11章 特征学习与稀疏学习理解记录
Posted wyy_persist
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第11章 特征学习与稀疏学习理解记录相关的知识,希望对你有一定的参考价值。
11.1 子集搜索与评价
对当前任务有关的属性称为相关特征,对当前任务没有关系的属性称为无关特征。
从给定的特征集合中选择相关特征子集的过程称为特征选择。
使用特征选择的目的:
- 由于数据预处理之后生成的特征矩阵的维数很高,会有维数灾难出现。使用特征子集可以一定程度上避免维数灾难的出现。
- 使用特征子集可以降低模型训练的难度。
还有一种特征称为冗余特征,这种特征是可以使用其他特征表示出来的。
冗余特征在很多时候不起作用,去除掉之后可以减轻学习的负担。
但是有的时候冗余特征却可以降低学习的难度。也就是说如果某个学习特征对任务来说是需要的中间概念,那么该特征是有宜的。
第一个环节-子集搜索:
前向搜索策略生成特征子集:
- 首先,将候选的d个特征分别作为子集,然后选出来最合适的特征子集;
- 然后在步骤1的基础上,分别取所有子集(不包含1中的特征的其他特征集合)加入到1中得到的子集特征。
- 然后重复上述的两个步骤,逐渐向上一次得到的最好的特征子集中加入新的特征,那么当第k+1次得到的特征子集和第k次得到的特征子集对模型的训练程度一样的话,就可以停止训练,然后第k次获得的特征子集就是该训练过程中对应的特征子集。
类似地,如果从原来完整的集合开始,逐渐去掉无关特征,那么这种逐渐减少特征的策略被称为:后向搜索。
同时使用前向和后向搜索的策略被称为双向策略。
第二个环节就是子集评价:
假定样本属性均为离散型,然后对属性子集A来说,假定根据其取值将D分成了V个子集。对D1,D3,...,DV集合来说,每个子集在A属性上的取值是相同的,那么就可以计算属性子集A的信息增益。(其中还涉及到了信息熵的概念)。
如果信息增益越大就意味着A属性包含的有利于集合进行分类的信息越多。
所以,对每个候选的特征子集,那么可以基于训练数据集D来计算其信息增益,从而作为评价准则。
实际上来说,特征子集A其实是对于总特征集合的一个划分,其中在A的属性集合中对应的每个划分都是对应多个数据的集合,而这些数据原本的标签为Y,那么通过估算在这两个划分上的差异就可以对A进行评价。
将特征子集搜索机制和子集评价机制相结合就可以得到特征选择方法。
常见的特征选择方法:
- 过滤式;2.包裹式;3.嵌入式;
11.2 过滤式方法
先对数据集进行特征选择,然后再训练学习器。也就是特征选择的过程和后续的训练过程无关。
Belief是其中的一种方法:该方法设计了一个相关统计量来度量特征的重要性,该统计量是一个向量,其中的每一个分量对应于一个初始特征。而特征子集的重要性则是对子集中每个特征所对应的相关统计量分量之和来确定的。所以需要选择一个阈值T,得到比T大的相关统计量所对应的特征即可。也可以指定相关统计量中的分量的个数,然后选择其中相关统计量分量最大的k个特征即可。
Relief确定相关统计量的方法:
- 先从训练集中对于每个示例xi来说,先在xi中选择和xi同类样本中寻找最近邻xi,nh,称为猜中近邻。然后再从xi的不同类样本中寻找猜错近邻:xi,nm。
- 然后得到相关统计量对于属性j的分量。该式子中的x a ^ j对应于在属性j上的取值,两者之间的不同取决于两个xi,xinm或xi,xi,nh属性是离散的还是连续的。
- 从式中可以看出,如果xi与其猜中近邻xi,nh之间的距离小于xi与其猜错近邻xi,nm之间的距离,那么属性j对区分同类和不同类之间的样本是有益的,那么就增大属性j所对应的统计量分量;相反地,如果xi和猜中近邻xi,nh在属性j上的距离大于xi与其猜错近邻xi,nm之间的距离。那么,说明属性j起到了负面作用,于是就减小属性j对应的统计量分量。
- 然后对不同样本求得的统计量的分量进行求和平均之后,便可以得到个属性的相关统计量。分量值越大,那么对应的属性的分类能力就越强。
Relie-F对应处理多分类问题:假定数据被分为了Y个类,那么对示例xi来说,若它属于第k类,那么Relief-F在第k类样本中寻找xi的最近邻示例xi,nh,并作为猜中近邻。然后从其他每一个不同的类样本中寻找xi的最近邻样本,作为猜错近邻。上述的计算属性j的统计量分量中关于xi样本和xi,nm猜错样本之间的求和采用的是权值求和方法。(即将每个不同类别中的样本和xi进行计算距离,然后在求和的时候每个式子前边乘上该不同类样本对应的样本比例。
11.3 包裹式选择
目的就是给后续的学习器设计最合适于该学习器的特征子集。
LVW是其中的一个方法。是在拉斯维加斯方法框架下使用随即策略来进行子集搜索,并以最终分类器的误差为特征子集评价准则。
由于LVW每次选择新的特征子集之后需要重新训练学习器,会有很大的开销,所以算法中设置了停止的控制参数T,用来降低算法执行的次数。
11.4 嵌入式选择与L1正则化
实现了在训练学习器的过程中自动完成了特征的选择。
这里考虑最简单的线性回归模型,使用平误差为损失函数;当样本的特征很多,而样本数目很少时,容易陷入过拟合。为了缓解上述的过拟合问题,可以使用L2范数正则化。但同时也可以使用Lp范数正则化,还可以采用L1范数。
其中,还引入了正则化参数lamda > 0;同时,上式称为:LASSO。
重点注意的是:使用L1范数比使用L2范数更加有益,因为使用L1范数可以降低过拟合的风险,更容易获得稀疏的解。
需要注意到是:采用范数正则化项的时候,得到的w矩阵最终是一个稀疏矩阵也就是说原本d个特征中只有系数矩阵中不为0的分量对应的特征,那么这样的话就实现了在对模型进行最优化的过程中同时进行了特征的选择。
对于L1问题的求解可以使用近端梯度下降PGD实现。
11.5 稀疏表示与字典学习
将数据集D考虑为了一个矩阵,每行对应的是一个样本,每列对应的是特征。
学习一个可以用来将给定数据集表示为稀疏矩阵的字典的过程,通常称为字典学习也叫做稀疏编码。
给定数据集合D,字典学习的最简单形式为:
Min 求和||xi - B * ai||2 ^ 2 + lamda * 求和||ai||1;
其中的B为字典矩阵,k称为字典的词汇量,通常由用户指定。ai是样本xi的稀疏表示。上式的第一项是希望由ai能很好地重构xi,第二项是希望ai尽量稀疏。
求解上式类似于LASSO,但是更加麻烦。采用变量交替优化的方法进行求解。
- 第一步,固定字典B,然后将上式按照分量展开,可以得到其中不涉及aiu aiv的交叉项,所以可以使用LASSO的解决方法。
- 第二步中,以ai为初值来更新字典B,然后将上述式写成:
Min ||X - B * A||F ^ 2
- 其中的X是样本集xi,其中的A为a1,a2,...,ai,上式的优化部分是Frobenius范数。对上式常用的解法为:基于逐列更新策略的KSVD。
该方法中令bi为字典矩阵B中的第i列。ai表示稀疏矩阵A的第i行。
使用KSVD方法进行求解的时候会将上式转化为了:
Min ||EI - Bi * a^i||F ^ 2;
其中在更新字典的第i列时,其他各列都是固定的,那么仅仅对Ei进行奇异值分解即可。从而可以得到最大奇异值所对应的正交向量。
重点注意:在对Ei进行奇异值分解的时候同时会改变bi和ai,从而破坏了A的稀疏性,那么KSVD方法将对Ei与ai进行专门处理:ai仅保留了非零元素,Ei则保留了bi与ai的非零元素的乘积项,然后再进行对Ei的奇异值分解。这样就保持了第一步所得到的稀疏性。
反复迭代上述两步,最终可以获得B和样本xi的稀疏表示ai。用户可以设置词汇量k的大小来控制字典的规模,从而影响稀疏程度。
11.6 压缩感知
目的:将压缩后的数字信号重新获得。
假定有m长度的数字信号,然后以远小于奈奎斯特采样定理对样本进行采样,的带长度为n的采样信号y,其中n<<m,即:
y = fai * x;
其中的fai矩阵是测量矩阵,确定了以什么样的采样频率以及如何将采样样本组成的采样后的信号。
压缩感知分为了感知测量和重构恢复两个阶段。
感知测量:对原始信号进行处理以获得稀疏样本表示,这方面内容涉及到:傅里叶变换,小波变换以及字典学习和稀疏编码等。
重构恢复:基于稀疏性从少量观测中恢复原信号,这是压缩感知的精髓。
限定等距性:RIP:
对大小为n * m的矩阵A,如果存在常数k属于(0,1),使得对于任意向量s和A的所有子矩阵Ak有:
- k)* ||s||2 ^ 2 <= ||Ak * s||2^2 <= (1 + k) * ||s||2 ^ 2;
那么称A满足k限定等距性。K-RIP。
此时,可以通过下面的优化问题从y中恢复出系数信号s,进而恢复出x:
Min||s||0,s.t y = A * s;
上述涉及到的是L0范数最小化问题,但是是一个NP难问题,那么可以化为L1范数最小化问题。此时问题就转化为了:LASSO的等价形式,然后再通过近端梯度下降求解。即使用基寻踪去噪。
矩阵补全技术可以解决的问题是:基于压缩感知的思想恢复出完整的信号。
其形式为:
Min rank(x);s.t (X)ij = (A)ij;(i,j)属于omiga。
其中的X表示需要恢复的稀疏信号;rank(X)表示矩阵X的秩;A是评分矩阵已经观测到的信号矩阵。omiga是A中非?元素ij的下标集合。恢复出的矩阵中Xij应当与已观测到的对应元素相同。
上式是一个NP难问题,注意到rank(X)在集合{X属于R m * n:||X||F^2<= 1}上的凸包是X的核范数:
||X||* = 求和 sigmaj (X);
其中的sigmaj(X)表示X的奇异值,即矩阵的核范数为矩阵的奇异值之和,于是可通过最小化矩阵核范数来近似求解上式,即得到:
Min||X||*;s.t (X)ij = (A)ij,(i,j)属于sigma。
上式是一个凸优化问题,可通过半正定矩阵SDP求解。
在特征选择时,子集选择的方法有:分支限界法,浮动搜索法等。
在子集评价方面则采用了很多源于信息论的准则:信息熵,AIC等。
LASSO类方法可能产生多个解,那么可以使用弹性网得以解决。
压缩感知直接催生了人脸识别的鲁棒性主成分分析和基于矩阵补全的协同过滤。除了将L0转换为L1使用LASSO方法进行求解外,还可以使用基寻踪,匹配寻踪等。
使用投影法快速求解稀疏学习问题,并提供了一个稀疏学习程序包SLEP。
以上是关于第11章 特征学习与稀疏学习理解记录的主要内容,如果未能解决你的问题,请参考以下文章