机器学习(PCA)


前言

PCA运用线性代数进行数据降维,属于无监督学习方法之一。其实现过程为通过寻找k个向量,将数据投影到这k个向量展开的线性子空间上,以最小化投影误差。


一、PAC与线性回归之间的关系

1、线性回归的目的是给定输入特征量x,预测出某变量y的值。因此在线性回归中会拟合一条直线,使得预测值与真实值之间的距离最小。PCA的目的是将数据投影到低维特征空间,使得投影误差最小。
2、线性回归中用所有的x值来预测一个特殊的变量y。而PCA中,所有特征向量 x 1 , x 2 , . . . x n x_{1},x_{2},...x_{n} x1,x2,...xn是等价的。

二、PCA算法

训练集:有m个样本,每个样本的特征维度为n x ( 1 ) , x ( 2 ) , . . . x ( m ) x^{(1)},x^{(2)},...x^{(m)} x(1),x(2),...x(m)

数据预处理(特征缩放/均值归一化)
1、计算每个特征的均值
2、每个特征减去其均值
3、如果不同的特征具有不同的尺度,如x1表示房子的大小,x2表示卧室的数量,对特征进行缩放,使其具有相同的范围

特征均值的计算公式为: μ j = 1 m ∑ i = 1 m x j ( i ) \mu_{j}=\frac{1}{m}\sum\limits_{i=1}^{m}x_{j}^{(i)} μj=m1i=1mxj(i)

将n维数据降到k维:
1、计算协方差矩阵
2、求解特征值和单位特征向量e
3、按照特征值从大到小的顺序,排列单位特征向量,得到转换矩阵P,并依据PX计算出主成分矩阵
4、用特征值计算主成分的方差贡献率和累计方差贡献率,选择k个主成分

降维之主成分分析法

### PCA原理与应用 主成分分析(Principal Component Analysis, PCA)是一种经典的降维技术,广泛应用于机器学习领域中的数据预处理、特征选择和可视化等方面。PCA通过线性变换将高维数据映射到低维空间,同时尽可能保留原始数据的主要信息[^3]。 #### 1. PCA算法原理 PCA的核心思想是通过寻找数据中方差最大的方向来实现降维。具体而言,PCA的目标可以分为两个方面: - **最大可分性(最大方差)**:通过最大化投影后的数据方差,使得数据在低维空间中尽可能分散[^1]。 - **最近重构性(最小平方误差)**:通过最小化数据点与其在低维空间中投影点之间的距离,确保数据的重构误差最小化[^1]。 #### 2. 数据降维过程 PCA的求解过程通常包括以下几个关键步骤: - **数据标准化**:对原始数据进行均值归一化和方差归一化,以消除不同特征量纲的影响[^4]。 - **协方差矩阵计算**:根据标准化后的数据计算协方差矩阵,用于衡量变量之间的相关性[^1]。 - **特征值分解**:对协方差矩阵进行特征值分解,得到特征值及其对应的特征向量。 - **选择主成分**:根据特征值大小排序,选取前k个最大的特征值对应的特征向量作为主成分[^1]。 - **数据投影**:将原始数据投影到由主成分构成的新坐标系中,完成降维操作[^1]。 #### 3. PCA的应用场景 PCA机器学习中的应用非常广泛,主要包括以下几类: - **数据可视化**:通过将高维数据降至二维或三维空间,便于观察数据分布和聚类情况[^3]。 - **特征降维**:减少特征数量,降低模型复杂度,提高训练效率[^4]。 - **噪声过滤**:去除数据中的冗余信息和噪声,提升模型性能[^3]。 #### 4. PCA的优缺点 PCA的优点包括简单易用、计算高效以及能够有效减少数据维度等[^3]。然而,PCA也存在一些局限性: - **线性假设**:PCA假设数据分布在低维线性子空间上,对于非线性结构的数据可能效果不佳。 - **信息损失**:降维过程中不可避免地会丢失部分信息,可能导致模型性能下降。 ```python from sklearn.decomposition import PCA from sklearn.preprocessing import StandardScaler import numpy as np # 示例数据 data = np.random.rand(100, 5) # 数据标准化 scaler = StandardScaler() data_scaled = scaler.fit_transform(data) # 应用PCA pca = PCA(n_components=2) data_pca = pca.fit_transform(data_scaled) print("降维后的数据形状:", data_pca.shape) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值