线性特征降维——SAE
DP(SAE)
SAE基本原理
SAE(稀疏自编码器)是一种无监督学习算法,可以自动从无标注数据中学习特征,相比于原始数据,其提取出的特征往往可以给算法模型带来更好的效果
稀疏自编码器是具有一层隐含层的神经网络,优化目标是使得输出等于输入。(即)
自编码神经网络尝试去逼近一个恒等函数,令输出接近于输入。当隐藏神经元数目m少于输入数目n时,自编码器新进行数据压缩,然后再重建一个n维的输出。假如原始的数据输入是任意的,或者说满足IID条件时,这个学习任务会显得十分困难。但一般情况下,原始输入特征之间存在相关性,自编码神经网络就可以发现内在的结构联系,从而提取更为有效的特征。
当隐藏神经元数目m大于输入数目n时,我们仍然可以对隐含层加上稀疏性限制来达到同样的目的。通常,如果一个神经元输出接近1,我们认为它被激活;如果输出接近于0,神经元被抑制。类比于人类的脑神经系统,当我们要完成一个确定的任务时,大多数的神经元处于被抑制的状态。所以在大多数情况下我们限制神经元处于非兴奋状态。
为了实现稀疏性限制,我们在原始的神经网络优化目标函数中加入一个惩罚项:
其中是惩罚系数,是惩罚因子,表示隐含层中神经元的数目。
而是稀疏性参数,表示隐含层的稀疏性程度,通常为一个较小的值。定义为自编码神经网络隐含层神经元的在训练集上的平均活跃度:
定义为在给定输入为 情况下,自编码神经网络隐藏神经元 的激活度。稀疏性限制也可以理解为使隐藏神经元的平均激活度较小,即。为此,我们设置惩罚因子为和的相对熵:
这一惩罚因子有如下性质,时,相对熵为0,惩罚项为0;与绝对值之差增大时,相对熵也随之递增,惩罚项随之增大。最小化新的目标函数就相当于使充分逼近于。
训练完整个模型后,隐含层的输出就是SAE提取的特征。
参考资料
- 特征哈希(Feature Hashing)
- Trevor Hastie et al. The Elements of Statistical Learning, 2001.
- Kilian Weinberger et al. Feature Hashing for Large Scale Multitask Learning, 2010.
- Joshua Attenberg et al. Collaborative Email-Spam Filtering with the Hashing-Trick, 2009.
- https://www.zhihu.com/question/264165760/answer/277634591
- sklearn.feature_extraction.FeatureHasher
- sklearn学习笔记2 Feature_extraction库
- 特征选择和稀疏学习
- 《西瓜书》笔记11:特征选择与稀疏表示(三)
- 特征选择与稀疏学习
- https://www.zhihu.com/question/24124122/answer/50403932
- https://blog.csdn.net/u014595019/article/details/52433754
- PCA算法详解
- 主成分分析(PCA)原理详解
- 主成分分析PCA算法:为什么去均值以后的高维矩阵乘以其协方差矩阵的特征向量矩阵就是“投影”?
- 用Python的sklearn库进行PCA(主成分分析)
- 用scikit-learn学习主成分分析(PCA)
- 独立成分分析(Independent Component Analysis)
- 独立成分分析 ( ICA ) 与主成分分析 ( PCA ) 的区别在哪里?
- 独立成分分析ICA系列4:ICA的最优估计方法综述
- ICA-独立成分分析
- 独立成分分析Independent component analysis(ICA)
- 线性判别分析LDA原理总结
- 一文读懂特征工程
- 线性判别分析LDA详解
- LinearDiscriminantAnalysis
- 用scikit-learn进行LDA降维
- https://blog.csdn.net/u010705209/article/details/53518772
- https://blog.csdn.net/u012162613/article/details/42214205
- https://blog.csdn.net/qianhen123/article/details/40077873
- https://github.com/ceys/jdml/wiki/ALS
- 美团点评技术团队之深入FFM原理与实践
- [深度学习笔记(一)稀疏自编码器] (https://blog.csdn.net/u010278305/article/details/46881443)
- Field-aware Factorization Machines for CTR Prediction ,Yuchin Juan et al.
- Factorization Machines, Steffen Rendle et al.[2010]
- http://deeplearning.stanford.edu/wiki/index.php/UFLDL_Tutorial
- 局部线性嵌入(LLE)原理总结
- Locally linear embedding(LLE)局部线性嵌入-降维
- LocallyLinearEmbedding
- 用scikit-learn研究局部线性嵌入(LLE)
- 聚类和降维的区别与联系
- 聚类算法
- 受限玻尔兹曼机(RBM)学习笔记
- 受限制玻尔兹曼机RBM原理简介
- 从SNE到t-SNE
- t-SNE完整笔记
- SNE降维与可视化
- 比PCA降维更高级 —— t-SNE聚类算法实现指南