机器学习:主成分分析 PCA

本文介绍了主成分分析(PCA)的基本概念、算法流程,包括数据中心化、协方差矩阵计算和特征向量提取。通过Python示例展示了如何使用PCA进行数据降维,并讨论了其在可视化、存储、噪声消除等方面的应用,以及其优缺点。
摘要由CSDN通过智能技术生成

目录

一、概念

二、主成分分析(PCA)

三、PCA算法流程

四、简单实现

五、实验总结

一、概念

主成分分析(Principal Component Analysis, PCA)是一种线性降维算法,也是一种常用的数据预处理(Pre-Processing)方法。它的目标是是用方差(Variance)来衡量数据的差异性,并将差异性较大的高维数据投影到低维空间中进行表示。

1.特征维度约减

在机器学习领域中,一个样本往往存在着多种特征,而认为的很难去理解其中各项特征之间的关系, 因此人们提出了特征的维度约减这一技术,就是为了降低特征之间的复杂关系,将特征间的随机噪声等尽量降低,找出最本质或者说最重要的特征

特征约减的目的是将高维特征向量映射到低维子空间中,特征维度约取可以起到可视化以及降低模型过拟合的优点。典型高维数据比如基因数据;人脸图像;手写体图像等。

2.维度约减应用

可视化 : 高位数据在 2D 3D 空间中的可视化
维度约减 : 高效的存储与检索
噪声消除 : 提升分类或识别精度

常用领域:文本挖掘 人脸识别 手写体识别 图像检索 基因分类

3.常规维度约减法

无监督方法:无监督学习(Unsupervised Learning)是和监督学习相对的另一种主流机器学习的方法,无监督学习不依赖任何标签值,通过对数据内在特征的挖掘,找到样本间的关系,比如聚类。
监督方法:监督学习利用大量的标注数据来训练模型,使模型最终学习到输入和输出标签之间的相关性;
半监督方法:半监督学习利用少量有标签的数据和大量无标签的数据来训练网络;

二、主成分分析(PCA)

1.主成分分析 (PCA)基本思路

(1)通过协方差分析,建立高维空间到低维空间的线性映射/矩阵

(2)保留尽可能多的样本信息

(3)压缩后的数据对分类、聚类尽量不产生影响,甚至有所提升

将原始高维向量通过投影矩阵,投射到低维空间,这些向量称为 主成分 (PCs), 具有无关性、正交的特点。这些向量的数量要远小于高维空间的维度。
2. 主成分的代数定义
给定 n 个样本(每个样本维度为p维)
定义 z 1j 为样本 x j 在第一主成分 / 主方向 a 1 上的投影:

为找到a1 , 使z1的方差最大根据z1的方差定义,推导得出:

三、PCA算法流程

(1)数据中心化:对X中的每一行(即一个特征属性)进行零均值化,即减去这一行的均值

(2)求出数据中心化后矩阵X的协方差矩阵(即特征与特征之间的协方差构成的矩阵)

(3)求解协方差矩阵的特征值和特征向量

(4)将特征向量按照特征值从大到小按列进行排列称为矩阵,获取最前面的k列数据形成矩阵W。

(5)利用矩阵W和样本集X进行矩阵的乘法得到降低到k维的最终数据矩阵。

四、简单实现

import numpy as np
import matplotlib.pyplot as plt
from sklearn.decomposition import PCA
from sklearn.datasets.samples_generator import make_blobs
 
X, y = make_blobs(n_samples=10000, n_features=3, centers=[[3, 3, 3], [0, 0, 0], [1, 1, 1], [2, 2, 2]],
                  cluster_std=[0.2, 0.1, 0.2, 0.2], random_state=9)
 
# 降维到二维
pca = PCA(n_components=2)
pca.fit(X)
# 输出特征值
print(pca.explained_variance_)
输出特征向量
print(pca.components_)
# 降维后的数据
X_new = pca.transform(X)
print(X_new)
fig = plt.figure()
plt.scatter(X_new[:, 0], X_new[:, 1], marker='o')
plt.show()

五、实验总结

PCA是一种使用最广泛的数据降维算法,主要思想是将n维特征映射到k维上,这k维是全新的正交特征也被称为主成分,是在原有n维特征的基础上重新构造出来的k维特征。特征约减的目的是将高维特征向量映射到低维子空间中;无监督学习的降维方法,它只需要特征值分解,就可以对数据进行压缩去噪,因此应用很广泛。

优点:简单易实现;仅需要以方差衡量信息量,不受数据集以外的因素影响;各主成分之间正交,可消除原始数据成分间的相互影响的因素。

缺点:主成分各个特征维度的含义具有一定的模糊性,不如原始样本特征的解释性强。方差小的非主成分也可能含有对样本差异的重要信息,因降维丢弃可能对后续数据处理有影响。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值