机器学习--降维

一、说在前面

  今天学习的是降维,把数据的特征数量从高维转换到低维,降低数据的处理难度,其中自编码器和解码器的效果比较像压缩和解压缩。

二、笔记

1、什么是降维?
	数学知识:特征值分解
		设A是n阶方阵,如果有常数λ和n维非零列向量α的关系式 Aα = λα 成立,则称λ为方阵A的特征值,非零向量α称为方阵A的对应于特征值入的特征向量

	降维:将数据的特征数量从高维转换到低维
	实际中很多数据是高维的,但数据“内在的维度”可能更低
		例如:通信数据原始有7维:入网时间、套餐价格、每月话费,每月流量、每月通话时长欠费金额、欠费月数。"内在维度"可能只有3个:用户忠诚度、消费能力、欠费指数
	降维是解决高维数据的维度灾难问题的一种手段,能够作为一种特征抽取的方法,便于对数据进行可视化分析。

2、主成分分析PCA:基本原理、优化目标和求解方法
	在人脸识别和图像压缩等领域得到了广泛的应用
	基本思想:构造原始特征的一系列线性组合形成的线性无关低维特征,以去除数据的相关性,并使降维后的数据最大程度地保持原始高位数据的方差信息。

	方差比例与数据重构:通过确定将为前后方差保留比例选择降维后的样本维数l,可预先设置一个方差比例阈值如90%
	从数据重构角度来看,通过矩阵WT从Y可以得到重构数据为XWWT,且重构误差为||X-XWWT||F~2

3、自编码器:找到数据高效表示的神经网络方法
	一种特殊的神经网络,尝试将输入复制到输出,能够表示非线性变换
	编码器:将输入x转换成隐含表示h
	解码器:将隐含表示h转换成输出x'
	优化目标:使得x'和x尽量接近
	当隐含层神经元数量小于输入层时,可以当做一种降维算法。
	深层自编码器(对称的转换)
		指数级地降低表示某些函数的计算成本
		指数级的减少学习某些函数所需的训练数据量
		一些实验结果表名,深层自编码器比浅自编码器产生更好的压缩效果。
4、降维常用实践工具介绍
	主要使用的是SKLearn
    
5、实践案例:Python降维实践及在特征脸、图像重构和文本数据中的应用
	NumPy:求解特征值和特征向量
	Pandas:数据读取与预处理
	Matplotlib、Seaborn:数据可视化
	Sklearn:中文新闻的向量化、t-SNE降维
	TensorFlow:自编码器的构建与训练

三、心得体会

  降维是一种对问题的简化处理,可以减轻问题处理的难度,减少训练的时间,使用的也是分而治之大道至简的思想。机器学习中对图像的处理将图像通过数学矩阵的计算方式进行处理,虽然没懂得具体的原理,但是感觉还是很巧妙。

posted @ 2021-01-31 17:15  酸奶面包  阅读(188)  评论(0编辑  收藏  举报