博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
机器学习算法学习---降维技术(一)
阅读量:6341 次
发布时间:2019-06-22

本文共 1143 字,大约阅读时间需要 3 分钟。

降维是对数据高维度特征的一种预处理方法。降维是将高维度的数据保留下最重要的一些特征,去除噪声和不重要的特征,从而实现提升数据处理速度的目的。在实 际的生产和应用中,降维在一定的信息损失范围内,可以为我们节省大量的时间和成本。降维也成为了应用非常广泛的数据预处理方法。
除了方便显示外,对数据降维还有如下原因:

(1)使得数据集更易使用

(2)降低算法的计算开销

(3)去除噪声

(4)使得结果容易理解

常用的降维技术:

(1)主成分分析(PCA)

在PCA中,数据从原来的坐标系转换到新的坐标系,由数据本身决定。转换坐标系时,以方差最大的方向作为坐标轴方向,因为数据的最大方差给出了数据的最重要的信息。第一个新坐标轴选择的是原始数据中方差最大的方法,第二个新坐标轴选择的是与第一个新坐标轴正交且方差次大的方向。重复该过程,重复次数为原始数据的特征维数。大部分方差都包含在最前面的几个新坐标轴中,因此,可以忽略余下的坐标轴,即对数据进行了降维处理。
(2)因子分析(FA)

在因子分析中,假设在观察数据的生成中有一些观察不到的隐变量;假设观察数据是这些隐变量和某些噪声的线性组合;那么隐变量的数据可能比观察数据的数目少,也就是说通过找到隐变量就可以实现数据的降维。

(3)独立成分分析(ICA)

ICA假设数据是从N个数据源生成的,这一点和因子分析有些类似。假设数据为多个数据源的混合观察结果,这些数据源之间在统计上是相互独立的,而在PCA中只假设数据是不相关的。同因子分析一样,如果数据源的数目少于观察数据的数目,则可以实现降维过程。

本篇以下内容主要介绍PCA。

优点:降低数据的复杂性,识别最重要的多个特征。

缺点:不一定需要,且可能损失有用信息。

适用数据:数值型

1、移动坐标轴

PCA对数据坐标进行旋转,旋转过程取决于数据本身。

第一条坐标轴旋转到覆盖数据的最大方差位置,数据的最大方差给出了数据的最重要的信息。

第二条坐标轴假设其与第一条正交,并将其旋转到覆盖数据次大差异性的坐标轴。

通过PCA进行降维处理,我们可以同时获得SVM和决策树的优点:一方面得到了和决策树一样简单的分类器,同时分类间隔和SVM一样好。

通过协方差矩阵及其特征值分析,可以求得主成分的值。

2、python实现PCA

将数据转换成前N个主成分的伪码大致如下:

去除平均值
计算协方差矩阵
计算协方差矩阵的特征值和特征向量
将特征值排序
保留前N个最大的特征值对应的特征向量
将数据转换到上面得到的N个特征向量构建的新空间中(实现了特征压缩)
具体代码如下:

 

特征值和特征向量的意义:

 

 

转载于:https://www.cnblogs.com/zhenpengwang/p/10933522.html

你可能感兴趣的文章
唯一聚集索引上的唯一和非唯一非聚集索引
查看>>
Spark新愿景:让深度学习变得更加易于使用——见https://github.com/yahoo/TensorFlowOnSpark...
查看>>
linux磁盘配额
查看>>
NFS文件共享服务器的搭建
查看>>
IP_VFR-4-FRAG_TABLE_OVERFLOW【cisco设备报错】碎片***
查看>>
Codeforces Round #256 (Div. 2) D. Multiplication Table 【二分】
查看>>
ARM汇编指令格式
查看>>
HDU-2044-一只小蜜蜂
查看>>
HDU-1394-Minimum Inversion Number
查看>>
京东基于Spark的风控系统架构实践和技术细节
查看>>
什么时候使用CountDownLatch
查看>>
C#之MemberwiseClone与Clone
查看>>
Android性能优化之利用Rxlifecycle解决RxJava内存泄漏
查看>>
转: 如何为你的开源项目选择一个合适的开源协议?
查看>>
Atitit 记录方法调用参数上下文arguments
查看>>
webstorm常用功能FTP,及常用快捷键
查看>>
eclipse html 打开方式
查看>>
[求助] win7 x64 封装 出现 Administrator.xxxxx 的问题
查看>>
人类投资经理再也无法击败电脑的时代终将到来了...
查看>>
一个最小手势库的实现
查看>>