SIGAI机器学习第八集 数据降维1
讲授数据降维原理,PCA的核心思想,计算投影矩阵,投影算法的完整流程,非线性降维技术,流行学习的概念,局部线性嵌入,拉普拉斯特征映射,局部保持投影,等距映射,实际应用
大纲:
数据降维问题
PCA的思想
最佳投影矩阵
向量降维
向量重构
实验环节
实际应用
数据降维问题:
为什么需要数据降维?
①高维数据不易处理,机器学习和模式识别中高维数据不太好处理,如人脸图像32*32,1024维向量,维度太高效率低、影响精度。
②不能可视化,1024维是无法可视化的。
③维数灾难问题,开始增加维度算法预测精度会提升,但再继续增加维度预测精度反而会下降,深层次的原因是在高维空间中样本分布非常稀疏,容易产生过拟合。
④向量各个分量之间可能存在相关性,不利于后边的分析。
数据降维既可以是有监督的学习,也可以是无监督的学习。
数据降维抽象来看跟机器学习算法一样,根据一个输入向量X,预测一个输出向量Y出来,只不过Y的维数比X要低,而且Y尽可能的保持X的信息。
总体上把数据降维分为:
线性降维,映射函数是线性函数
非线性降维,映射函数是非线性函数
PCA的思想:
在线性降维里边最经典的是主成分分析PCA,它基于最小化重构误差的思想。
寻找一个投影矩阵W,左乘X,WX——>Y,将X从高维空间映射到低维空间,但是它保留了高维数据的某些结构信息,使得重构的误差最小化,就是可以根据Y把X重构回来,就像数据压缩算法,压缩完了可以解压缩,解压缩以后要损失比较小。它是怎么做的,它是向数据的主要变化方向投影。
如图,在黑色斜线垂直方向上数据变化比较小,于是将数据投影到黑色斜线上。如三维空间一个在Z轴方向波动很小的平面,就可以将其投影到XY平面。投影完了以后尽量保留原始数据的信息。
最佳投影矩阵:
投影矩阵W怎么获得,WX——>Y,它的目标是最小化重构误差。
推导分两步:
①把X投影到1维空间
假设有一组样本X1,X2,...,Xn,都用同一个向量X0来代替他,X0取多少时它的重构误差最小呢,把重构误差定义为均方误差(残差平方和),
求重构误差最小值,对X0求偏导,
得到X0,
,这里m就是X0。即X0是所有样本的均值的时候,重构误差是最小的,这也符合我们直观的看法,回归决策树中叶子节点设置为样本的均值时它的误差是最小的。
前边用同一个向量代替所有的向量,这样误差也太大了,因为我们把所有向量的差异都抹杀掉了,强制等于他们所有样本的均值。
现在考虑最简单的情况,比上一个复杂一点,把所有向量投影到一维空间里边去,怎么投影?
,m是所有样本的均值,在均值向量上对每个向量再加上一个aie,e是一个单位向量,就像坐标轴一样,把所有样本投影到e坐标轴上去,投影的坐标就是ai,只要求出ai和e,就成功把所有样本投影到了一维空间。
定义误差:,ai和e取什么值时误差最小呢?求得误差最小时的ai和e的值,就是样本要投影的方向及投影的坐标,所有样本投影方向e是同一个方向,而投影坐标ai是不同样本坐标不同。
求误差最小化分为两步:
先把e当做一个一个常数,看ai取什么值时误差能够最小化,则求L对ai的偏导数,令其等于零。
这样就解出了ai,现在只剩下e这个变量,就可以是L最小化,
化简得:
其中S称为散度矩阵,它是协方差矩阵的n倍,
相当于优化eTSe最大化,因为L(e)的第二项和e、ai无关,还有一个约束条件,eTe=1,因为e是单位向量。于是就转化为求带等式约束的一个二次函数的极值,因为S是二次型(?这点不明白为什么是二次型),展开之后就是二次函数。对于求解带等式约束的极值问题,可以用拉格朗日乘数法来构造拉格朗日乘子函数,要优化的变量是e和λ,首先对e和λ求偏导数,由于XTAX对X求偏导的结果为2AX(前提是A是对称矩阵),而XTX对X求偏导的结果是2X,于是L(e,λ)对e求偏导为-2Se+2λe=0,解方程就可以把e求出来,得到Se=λe,即e是S的特征向量,最优的投影方向e可能就是S的特征向量,特征向量不止一个取哪一个合适呢?
S是一个对称半正定矩阵:
实对称阵一定可以对角化,实对称阵属于不同特征值的特征向量是相互正交的,半正定矩阵能保证它所有的特征值大于等于零,即λi≥0,我们取最大特征值对应的特征向量e,因为目标是最大化eTSe,又eTSe=λeTe=λ,即最大值为最大的那个λ,所以e就是最大特征值对应的特征向量。所以主成分分析把向量投影到一维空间里的话,最佳投影方向就是最大特征值对应的那个特征向量,要把特征向量单位化掉。
②把这种做法推广到高维d'维空间
前边是把向量投影到一维空间里,把它推广到d'空间,这里d'远小于原先向量的维度d,即x∈Rd,d'<<d。
把向量投影到d'空间之后,,ei是正交积(即eiei=1,eiej=0),于是重构误差
优化的目标是最小化误差,化简可得最小化目标是,其中W不是方阵,约束条件是让W的行之间相互正交或列之间相互正交。WTSW,其中S是d×d矩阵,则WT的尺寸为d'×d,同样和前边一样的思路最终得到最优解是S对应最大的d'个特征值对应的特征向量,把这些向量按行(或按列)拼接成一个矩阵,这个矩阵就是最佳投影矩阵W(若按行拼接,则W尺寸为d'×d),WX就是将向量X从d维降到d'维向量。
总结:无论将向量投影到一维还是高维,都要求解散度矩阵S的特征值和特征矩阵,在实现的时候一般用协方差矩阵C代替S(C=1/nS)。
完整的算法流程:
计算投影矩阵的流程:
1.计算所有样本向量的均值向量,并将所有向量减去均值向量,这一步称为白化。
2.计算样本协方差矩阵,cov矩阵。
3.计算协方差矩阵的特征值与特征向量,计算出所有的特征值和特征向量
4.将特征值从大到小排序,保留最大的一部分特征值和特征向量,构成投影矩阵
PCA投影的流程:
1.计算所有样本的均值向量
2.所有样本减掉均值向量,然后再计算协方差矩阵
3.对协方差矩阵进行特征值分解,得到特征值和对应的特征向量
4.将减掉均值后的向量与特征向量矩阵相乘,得到投影结果,即W(X-m),m是均值向量
还有另外一个过程,叫做向量重构,即已知投影以后的Y求X,则让Y左乘WT再加上m就得到X。
实验环节:
手写数字样本投影到二维2D:
手写数字样本投影到三维3D:
实际应用:
PCA是一个非常通过且古老的算法,在工程和科学的数据分析,包括机器学习、模式识别领域,都得到了大规模的应用,很多时候如果出现向量维数很高的时候,首先想到的就是用PCA给它降维。
比如说在模式识别和机器学习中有几个典型的地方:
人脸识别,特征脸算法,它就是把人脸的图像拼接起来形成一个大的向量然后投影到d维空间里边,然后再用其他算法进行分类,如K近邻、最近邻、支持向量机等。
其他数据降维
PCA计算量还是很大的,如人脸图像32×32拼接起来是1024维的向量,计算协方差矩阵或散度矩阵就是1024×1024的一个矩阵,计算它的特征值和特征向量时的运算量还是很大的。
本集总结:
SIGAI机器学习第八集 数据降维1的更多相关文章
- SIGAI机器学习第九集 数据降维2
讲授LDA基本思想,寻找最佳投影矩阵,PCA与LDA的比较,LDA的实际应用 大纲: 非线性降维算法流形的概念流形学习的概念局部线性嵌入拉普拉斯特征映射局部保持投影等距映射实验环节 非线性降维算法: ...
- SIGAI机器学习第四集 基本概念
大纲: 算法分类有监督学习与无监督学习分类问题与回归问题生成模型与判别模型强化学习评价指标准确率与回归误差ROC曲线交叉验证模型选择过拟合与欠拟合偏差与方差正则化 半监督学习归类到有监督学习中去. 有 ...
- SIGAI机器学习第十集 线性判别分析
讲授LDA基本思想,寻找最佳投影矩阵,PCA与LDA的比较,LDA的实际应用 前边讲的数据降维算法PCA.流行学习都是无监督学习,计算过程中没有利用样本的标签值.对于分类问题,我们要达到的目标是提取或 ...
- SIGAI机器学习第十七集 线性模型1
讲授logistic回归的基本思想,预测算法,训练算法,softmax回归,线性支持向量机,实际应用 大纲: 再论线性模型logistic回归的基本思想预测函数训练目标函数梯度下降法求解另一种版本的对 ...
- SIGAI机器学习第六集 决策树
讲授决策树的基本概念,分类与回归树的原理,决策树的表示能力,决策树的训练算法,寻找最佳分裂的原理,叶子节点值的标记,属性缺失与替 代分裂,决策树的剪枝算法,决策树应用. 非常直观和易于理解的机器学习算 ...
- SIGAI机器学习第二十三集 高斯混合模型与EM算法
讲授高斯混合模型的基本概念,训练算法面临的问题,EM算法的核心思想,算法的实现,实际应用. 大纲: 高斯混合模型简介实际例子训练算法面临的困难EM算法应用-视频背景建模总结 高斯混合模型简写GMM,期 ...
- SIGAI机器学习第二十一集 AdaBoost算法2
讲授Boosting算法的原理,AdaBoost算法的基本概念,训练算法,与随机森林的比较,训练误差分析,广义加法模型,指数损失函数,训练算法的推导,弱分类器的选择,样本权重削减,实际应用. 大纲: ...
- SIGAI机器学习第二十集 AdaBoost算法1
讲授Boosting算法的原理,AdaBoost算法的基本概念,训练算法,与随机森林的比较,训练误差分析,广义加法模型,指数损失函数,训练算法的推导,弱分类器的选择,样本权重削减,实际应用 AdaBo ...
- SIGAI机器学习第三集 数学知识-2
讲授机器学习相关的高等数学.线性代数.概率论知识 大纲: 最优化中的基本概念梯度下降法牛顿法坐标下降法数值优化算法面临的问题拉格朗日乘数法凸优化问题凸集凸函数凸优化拉格朗日对偶KKT条件 最优化中的基 ...
随机推荐
- 长乐培训Day1
T1 魔法照片 题目 [题目描述] 如果你看过<哈利·波特>,你就会知道魔法世界里的照片是很神奇的.也许是因为小魔法师佳佳长的太帅,很多人都找他要那种神奇的魔法照片, 而且还都要佳佳和他的 ...
- Spring邮件服务:Maven + Spring SMTP Mail (可发送附件)
1 spring-smtp-mail.xml <?xml version="1.0" encoding="UTF-8"?> <beans x ...
- RDS for MySQL 逻辑备份文件恢复到自建数据库
使用MySQL自带的 mysqldump 工具可以通过逻辑备份文件恢复数据库,本文将介绍详细的逻辑备份恢复数据库操作步骤. 说明 通过物理备份文件恢复到自建数据库请参见RDS for MySQL 物理 ...
- Deep Learning方向的paper
转载 http://hi.baidu.com/chb_seaok/item/6307c0d0363170e73cc2cb65 个人阅读的Deep Learning方向的paper整理,分了几部分吧,但 ...
- 详解为什么设置overflow为hidden可以清除浮动带来的影响
1.问题起源 在平时的业务开发写CSS中,为了满足页面布局,元素的浮动特性我们用的不能再多了.使用浮动的确能够解决一些布局问题,但是也带了一些副作用影响,比如,父元素高度塌陷,我们有好几种可以清除浮动 ...
- ES6对数组的增强
来看数组的改变,Array.from()可以将类数组对象变为数组: Array.of方法用于将一组值,转化为数组: 寻找数组中是否拥有某项find().findIndex(),里面要放置回调函数: 要 ...
- 使用NSFileManager管理文件系统
文件系统作为被所有进程使用的基本资源之一,在macOS和iOS中主要用于处理数据文件.应用程序以及与操作系统自身相关的持久存储. iOS中的文件系统格式为HFS Plus,macOS中的主要格式也是H ...
- css图片上加文字
第一种方法: 添加一个DIV,采用绝对定位,图片所属DIV为基准 <div style="position:relative;width:100px;height:100px;&quo ...
- Kmalloc可以申请的最大内存
Kmalloc申请的最大内存 以前虽然读过源码,但是对于它的申请上限确实没注意过.下面分析下,下面是kmalloc的源码. 可以看出,如果想知道kmalloc能申请的范围,需要跳转到<linux ...
- 初识cv
验证码识别的一般套路: 灰度化.图像处理.二值化.选算法.训练.评估调整参数.预测,当然,我在这里二值化与处理的顺序换了一下,灵活处理哈 1 显示图片轮廓 img = cv2.Canny(img,25 ...