《西瓜书》笔记11:特征选择与稀疏表示(三)
2017-08-14 18:50
295 查看
5. 稀疏表示与字典学习
将数据集D表示为矩阵,每一行对应一个样本,每列对应于一种特征。特征选择所考虑的问题是特征具有稀疏性:即矩阵中的许多列与当前学习无关,通过特征选择去掉这些列,难度有所降低,计算开销减小,模型的可解释性提高。
模型的输入因素减少了,模型建立的输入输出关系会更清晰。
现在看另一种“稀疏性”:D对应的矩阵存在很多零元素,杂乱分布,而非整行整列的形式。比如文档分类中,每行是一个文档样本,每列代表一个字,字在文档中出现的频率作为特征取值。《康熙字典》有47035个汉字,则矩阵有4万多列。而文档中很多字不会出现,导致每一行有大量的零元素。
当样本具有这样的稀疏表达形式时,对任务有若干好处:
线性SVM之所以能在文本数据上很好性能,恰是由于文本数据具有高度稀疏性,大多数问题变得线性可分。
稀疏样本并不会造成存储巨大负担,又很高效的存储方法。
那么若给定D是稠密的,能否将其转化为稀疏表示的形式?享有稀疏性带来的好处呢?此处稀疏指的是恰当稀疏,而非过度稀疏。
一般任务中没有字典(码书),需要学习这样一个字典。为普通稠密表达的样本找到合适的字典,将样本转化为合适的稀疏表达形式,从而使得学习任务简化,模型复杂度得以降低,称为字典学习,亦称稀疏编码。
字典学习更侧重于学得字典的过程;稀疏编码更侧重于对样本进行稀疏表达的过程。两者通常同一个优化求解中完成,可不做区分。
稀疏表达的意义在于降维。引自知乎回答。
给定数据集有m个元素。字典学习最简单的形式为:
上式中:
稀疏表达:将原始信号表达为字典元素的一个线性组合,如 x = D*a中,我们用x表示原始信号(列向量),D为我们得到的字典(dictionary),a即为在字典D上原始信号x的表达。通常我们希望a是稀疏的,即其中只有较少的非零项,这样的一个突出优点是计算速度更快,因为matlab只对非零元素进行操作。引自CSDN博客讲解。
求解上述优化问题,最终求得字典B和样本的稀疏表示。用户可设置k的大小来控制字典规模,从而影响稀疏程度。
其余具体待续。
20170817续:
稀疏表示即便对于线性回归这样简单的模型,获得具有最优稀疏性的解也不容易。稀疏性问题本质上对应了L0范数的优化。NP难问题。LASSO通过L1范数近似L0范数,求求解稀疏解的重要技术。《西瓜书》P67。
6. 压缩感知
实际任务中,常希望根据部分信息恢复全部信息。数据通信中将模拟信号转化为数字信号,根据奈奎斯特采样定理,令采样频率达到模拟信号最高频率的2倍,则采样后的数字信号就保留了模拟信号的全部信息。换言之,由此获得的数字信号可准确重构原来的模拟信号。传输时会对数字信号进行压缩,损失部分信息。接收方是否可以根据信号精确的重构出原来的信号呢?
压缩感知,(Compressed sensing)提供了解决思路。
与特征选择,稀疏表示不同,压缩感知关注:如何利用信号本身具有的稀疏性,从部分观测样本恢复原信号。通常分为两部分:
感知测量:关注如何对原始信号进行处理,以获得稀疏样本表示
重构恢复:如何基于稀疏性,从少量观测中恢复原信号(精髓
所以压缩感知,涉及的就是上面的问题。
其余具体待续。
相关文章推荐
- 《西瓜书》笔记11:特征选择方法(一)
- 《西瓜书》笔记11:特征选择方法(二)
- 特征选择与稀疏表示
- Python进行文本预处理(文本分词,过滤停用词,词频统计,特征选择,文本表示)
- 周志华 《机器学习》之 第十一章(特征选择与稀疏学习)概念总结
- 机器学习(特征选择与稀疏学习)
- 第十一章 特征选择和稀疏学习
- 第三次:从稀疏到深度的视觉特征表示
- 特征选择与稀疏学习——《机器学习》笔记
- [机器学习]特征选择与稀疏学习
- 周志华《Machine Learning》学习笔记(13)--特征选择与稀疏学习
- 《机器学习》阅读心得——十一、特征选择和稀疏学习
- 【读书笔记】特征选择与稀疏学习
- 周志华《Machine Learning》学习笔记(13)--特征选择与稀疏学习
- 西瓜书《机器学习》课后答案——chapter11_11.1 Relief特征选择算法
- 机器学习笔记(十一)特征选择和稀疏学习
- 特征选择与稀疏学习
- 机器学习(周志华) 参考答案 第十一章 特征选择与稀疏学习 11.1
- 第八周 项目4-稀疏矩阵的三元组表示的实现及应用
- 文本分类特征选择方法