吴恩达机器学习(十二)主成分分析(降维、PCA)
目录
0. 前言
1. 主成分分析(PCA)
2. 主成分分析PCA的流程
3. 低维空间维度的选择
4. 主成分分析使用方式
学习完吴恩达老师机器学习课程的降维,简单的做个笔记。文中部分描述属于个人消化后的理解,仅供参考。
如果这篇文章对你有一点小小的帮助,请给个关注喔~我会非常开心的~
0. 前言
数据的特征数量,又称作向量的维度。降维(dimensionality reduction)是通过一些方法,减少数据的特征数量,以降低维度,通常采用主成分分析PCA(Principal Component Analysis)。降维的作用有:
- 数据压缩,减小占用的存储空间
- 加快算法的计算速度
- 低维平面可以可视化数据
初始作如下定义:
- --- 第 个数据的第 个向量
- --- 向量
- --- 高维向量映射到低维平面后,在高维空间中的位置
- --- 高维向量映射到低维平面后,在低维空间中的位置
1. 主成分分析(PCA)
主成分分析PCA是寻找一个低维平面,使得各个数据点到平面的投影距离最小,换句话说,就是寻找 个向量,作为子空间,将数据映射到这个子空间上,则数据的维度转换为 。
如下图所示(图源:吴恩达机器学习),三维空间的数据几乎可看作分布在一个斜面上,则可在这个斜面上建立一个二维的平面,将数据映射上去,转换为二维空间。
2. 主成分分析PCA的流程
主成分分析PCA的流程主要由两部分组成:
- 数据预处理(均值归一化)
- 计算低维空间向量(计算协方差 奇异值分解 计算低维矩阵 转换为低维数据)
数据预处理主要是进行均值归一化,对每个特征值进行如下变化:
均值归一化可使得特征的均值为 ,其中 为特征缩放(取值范围的最大值减去最小值,使之取值范围接近 )。
计算低维空间向量,首先计算数据的协方差矩阵,采用如下公式,注意 是一个矩阵:
进行奇异值分解,在matlab中,可有如下公式:
其中 是一个 的矩阵, ,取前 列,得到 ,为一个 的矩阵,接着:
将每一个向量 转换为 , 为 的向量,达到了降维的目的。
注:最后一步转换的 是没有偏置 的。
3. 低维空间维度的选择
我们已知主成分分析是要寻找一个低维平面,使得各个数据点到这个平面的距离最小,这个距离可采用平均投影误差的平方(average squared projection error)量化,定义如下:
其中, 是在高维空间中映射到低维平面上的近似点(维度仍然是高维,与 不同, 的维度是低维),。
我们需寻找满足下式的最小的 :
其中,右侧的数值可根据实际情况调整, 为保证了 的方差。
此外,还有一种计算方法,在奇异值分解 中, ,满足下式:
只需求解最小的 ,满足下式即可:
4. 主成分分析使用方式
- 用主成分分析PCA防止过拟合是不适合的,过拟合应该采用正则化
- 在项目中,应首先试着不采用PCA,若达不到预想的想过,则可采用PCA试试看
如果这篇文章对你有一点小小的帮助,请给个关注喔~我会非常开心的~
吴恩达机器学习(十二)主成分分析(降维、PCA)相关推荐
- 吴恩达机器学习作业7 - K-means和PCA主成分分析(Python实现)
吴恩达机器学习作业7 - K-means和PCA主成分分析(Python实现) Introduction 在本实验中,将实现K-means聚类算法,并将其应用于图像压缩.在第二部分实验中,将使用主成分 ...
- 7. 吴恩达机器学习课程-作业7-Kmeans and PCA
fork了别人的项目,自己重新填写,我的代码如下 https://gitee.com/fakerlove/machine-learning/tree/master/code 代码原链接 文章目录 7. ...
- 吴恩达机器学习(二十六) 数据压缩与可视化、PCA
文章目录 1.数据压缩 2.数据可视化 3.PCA 1.数据压缩 降维也是一种无监督学习的方法,降维并不需要使用数据的标签. 降维的其中一个目的是数据压缩,数据压缩不仅能够压缩数据,使用较少的 ...
- 吴恩达机器学习(二十二)—— 大规模机器学习
吴恩达机器学习系列内容的学习目录→\rightarrow→吴恩达机器学习系列内容汇总. 1. 大型数据集的学习 2. 随机梯度下降 3. 小批量梯度下降 4. 随机梯度下降收敛 5. 在线学习 6. ...
- 西瓜书+实战+吴恩达机器学习(二)机器学习基础(偏差、方差、调试模型技巧)
文章目录 0. 前言 1. 偏差方差的解决方法 2. 高偏差高方差的学习曲线 3. 调试模型技巧 如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~ 0. 前言 泛化误差可分解为 ...
- 吴恩达机器学习(二)多元线性回归(假设、代价、梯度、特征缩放、多项式)
目录 0. 前言 1. 假设函数(Hypothesis) 2. 代价函数(Cost Function) 3. 梯度下降(Gradient Descent) 4. 特征缩放(Feature Scalin ...
- 吴恩达机器学习(二)监督学习/无监督学习
文章目录 1.监督学习 2.无监督学习 1.监督学习 定义: 根据已有的数据集,知道输入和输出结果之间的关系.根据这种已知的关系,训练得到一个最优的模型.也就是说,在监督学习中训练数据既有特征(fea ...
- 吴恩达机器学习(二十九)大规模机器学习
目录 1.随机梯度下降 2.Mini-Batch梯度下降 3.随机梯度下降收敛 4.减少映射与数据并行 1.随机梯度下降 对很多机器学习算法,例如线性回归.逻辑回归和神经网络,推导算法的方法是提出 ...
- 吴恩达机器学习(二十八)推荐系统
文章目录 前言 1.基于内容的推荐算法 2.协同过滤 2.协同过滤算法 3.矢量化:低秩矩阵分解 4.实施细节:均值规范化 前言 机器学习领域的一个伟大思想:对于某些问题,有一些算法可以自动地学习 ...
- 吴恩达机器学习(二十二)精确率和召回率
当面对一个机器学习问题时,有很多不同的思想来改进学习算法. 通过一个简单的算法来快速实现它,然后使用交叉验证集来测试数据: 画出相应的学习曲线: 误差分析: 机器学习分类模型存在一种情况叫偏斜类. ...
最新文章
- 《图像处理实例》之 曲线之间距离求解
- tomcat与jvm的关系分析
- Intel Realsense D435 python wrapper pyrealsense.pipeline类
- 添加库路经 linux,linux下的静态库与动态库
- 【洛谷3768】简单的数学题【莫比乌斯反演】【杜教筛】【小学奥数】
- 软件项目管理第三课—如何应对投标书的软件功能报价
- BitCome比特彗星v1.82豪华版(bt下载)
- php分块查找,索引查找(索引查找、分块查找) C语言实现
- 科技行业的起步时代已结束
- Struts,Hibernate,Spring经典面试题收藏(转)
- 蚂蚁金服做区块链:我们绝不发空气币,要做就服务民生!
- centos 7 网络DNS设置的相关配置文件配置
- dede WAP 版 限制标题title的字数的方法
- vs使用快捷键注销多行
- Unity Input键盘输入无反应
- 为什么要ROS2而不是对ROS1修修补补?
- SparkStreaming动态读取配置文件
- Android 解决65536
- L - Ray in the tube Gym - 101911L (暴力)
- 猪皮做成眼角膜为盲人恢复视力,不用等人捐献了