Markdown编辑器测试2
来源:互联网 发布:star打印机打印端口 编辑:程序博客网 时间:2024/06/10 19:12
内容转载至:http://blog.csdn.net/u013709270/article/details/78827315
数据降维之PCA透彻讲解
- 数据降维之PCA透彻讲解
- 引言
- PCA算法的数学基础
- 1 数据的向量表示及其基本运算
- 2 向量空间的基
- 3 基变换的矩阵表示
- PCA算法的数学原理
- 1 方差
- 2 协方差
- 3 协方差矩阵
- 4 协方差矩阵对角化
- PCA算法执行过程及其Java实现
- 1 PCA算法执行步骤
- 2 PCA算法的Java实现
- PCA算法应用实例
0. 引言
在做任何机器学习算法训练之前,无论该算法模型是分类、回归还是聚类,我们都需要从原始数据中提取数据特征,然后将提取的特征组合成特征向量的形式输入到模型中进行训练。但是现实中往往会存在这么一个问题:原始数据特征的维度特别高,不利于模型的训练。这时候我们需要对原始数据的特征向量进行降维处理,然后将降维后的数据输入到模型中进行训练,得出最终的训练模型。
PCA算法就是在这种需求之下产生的。它是专门用来对高维数据进行降维而设计的,通过将高维数据降维后得到的低维数能加快模型的训练速度,并且低维度的特征具有更好的可视化性质。但是有一点我们必须明确:降维或多或少地会带来一定的信息损失,因此我们在真正PCA算法的应用过程中一般需要设置一个损失阈值的方法来有效的控制信息的损失。
1. PCA算法的数学基础
PCA的理论基础建立在严格的线性代数矩阵分析之上。因此,为了让广大的算法爱好者都能够更好的理解PCA算法的工作原理。我们需要先温习一下与PCA算法相关的线性代数基础知识。
1.1 数据的向量表示及其基本运算
假设向量
现在我们从A点向B所在直线引一条垂线。我们知道垂线与B的交点叫做A在B上的投影,再设A与B的夹角是
注意这里我们专门区分了矢量长度和标量长度,标量长度总是大于等于0,值就是线段的长度;而矢量长度可能为负,其绝对值是线段长度,而符号取决于其方向与标准方向相同或相反。
到这里还是看不出内积和这东西有什么关系,不过如果我们将内积表示为另一种我们熟悉的形式:
现在事情似乎是有点眉目了:A与B的内积等于A到B的投影长度乘以B的模。再进一步,如果我们假设B的模为1,即让|B|=1|B|=1,那么就变成了:
1.2 向量空间的基
下面我们继续在二维空间内讨论向量。上文说过,一个二维向量可以对应二维笛卡尔直角坐标系中从原点出发的一个有向线段。例如下面这个向量:
在代数表示方面,我们经常用线段终点的点坐标表示向量,例如上面的向量可以表示为(3,2),这是我们再熟悉不过的向量表示。
不过我们常常忽略,只有一个(3,2)本身是不能够精确表示一个向量的。我们仔细看一下,这里的3实际表示的是向量在x轴上的投影值是3,在y轴上的投影值是2。也就是说我们其实隐式引入了一个定义:以x轴和y轴上正方向长度为1的向量为标准。那么一个向量(3,2)实际是说在x轴投影为3而y轴的投影为2。注意投影是一个矢量,所以可以为负。
更正式的说,向量(x,y)实际上表示线性组合:
- Markdown编辑器测试2
- Markdown编辑器测试
- Markdown编辑器-编辑测试
- CSDN-markdown编辑器测试
- 测试下MarkDown编辑器
- CSDN-markdown编辑器测试
- CDSN的Markdown编辑器测试
- 测试使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器---临时测试
- 测试一下:欢迎使用CSDN-markdown编辑器
- MarkDown编辑器的功能测试文档
- 欢迎使用CSDN-markdown编辑器 测试
- markdown学习2:Markdown编辑器之比较
- markdown测试2
- 学习并测试一下CSDN的Markdown编辑器
- 第一篇博文来测试csdn的markdown编辑器
- markdown编辑器
- Markdown 编辑器
- Hibernate入门
- solrj的简单使用
- mybatis if标签判断字符串相等
- 例7.12 用选择法对数组中10个整数按由小到大排序。
- Qt之QSS语法样式及编辑器
- Markdown编辑器测试2
- 在flask中使用jsonify和json.dumps的区别
- springmvc拦截器面对ajax时的处理
- 49. Group Anagrams
- CUSBoost:基于聚类的提升下采样的非平衡数据分类
- codeforces 344A Magnets
- Hibernate之集合配置
- 图像金字塔
- java数据类型