机器学习(十)-------- 降维(Dimensionality Reduction)

降维(Dimensionality Reduction)

降维的目的:1 数据压缩

这个是二维降一维 三维降二维就是落在一个平面上。

2 数据可视化
降维的算法只负责减少维数,新产生的特征的意义就必须由我们自 己去发现了。

主成分分析(PCA)是最常见的降维算法。

在 PCA 中,我们要做的是找到一个方向向量(Vector direction),当我们把所有的数据
都投射到该向量上时,我们希望投射平均均方误差能尽可能地小。

主成分分析与线性回归是两种不同的算法。主成分分析最小化的是投射误差(Projected
Error),而线性回归尝试的是最小化预测误差。线性回归的目的是预测结果,而主成分分析
不作任何预测。

上图中,左边的是线性回归的误差(垂直于横轴投影),右边则是主要成分分析的误差
(垂直于红线投影)。

PCA 将𝑛个特征降维到𝑘个,可以用来进行数据压缩,如果 100 维的向量最后可以用 10
维来表示,那么压缩率为 90%。同样图像处理领域的 KL 变换使用 PCA 做图像压缩。但 PCA
要保证降维后,还要保证数据的特性损失最小。
PCA 技术的一大好处是对数据进行降维的处理。我们可以对新求出的“主元”向量的重要
性进行排序,根据需要取前面最重要的部分,将后面的维数省去,可以达到降维从而简化模
型或是对数据进行压缩的效果。同时最大程度的保持了原有数据的信息。
PCA 技术的一个很大的优点是,它是完全无参数限制的。在 PCA 的计算过程中完全不
需要人为的设定参数或是根据任何经验模型对计算进行干预,最后的结果只与数据相关,与
用户是独立的。
但是,这一点同时也可以看作是缺点。如果用户对观测对象有一定的先验知识,掌握了
数据的一些特征,却无法通过参数化等方法对处理过程进行干预,可能会得不到预期的效果,
效率也不高。

PCA 减少𝑛维到𝑘维:
第一步是均值归一化。我们需要计算出所有特征的均值,然后令 𝑥𝑗 = 𝑥𝑗 − 𝜇𝑗。如果特
征是在不同的数量级上,我们还需要将其除以标准差 𝜎2。
第二步是计算协方差矩阵(covariance matrix)𝛴: ∑ = 1 𝑚
∑ (𝑥(𝑖)) 𝑛 𝑖=1 (𝑥(𝑖))𝑇
第三步是计算协方差矩阵𝛴的特征向量(eigenvectors):

大数据流动 专注于大数据实时计算,数据治理,数据可视化等技术分享与实践。
请在后台回复关键字下载相关资料。相关学习交流群已经成立,欢迎加入~

posted @   独孤风  阅读(966)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示