[HITML]哈工大2020秋机器学习Lab4实验报告

本文是哈工大2020秋机器学习Lab4实验报告,主要探讨PCA(主成分分析)原理与实现。实验包括二维和三维数据降维,以及人脸数据的PCA应用,分析了降维效果和信噪比。结论指出PCA降维在保留主要信息的同时可能加重过拟合,且在图像降维中有显著的存储优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Gtihub仓库


2020年春季学期
计算学部《机器学习》课程


Lab4 实验报告




姓名
学号
班号
电子邮件
手机号码


1 实验目的

实现一个PCA模型,能够对给定数据进行降维(即找到其中的主成分)

2 实验要求及实验环境

2.1 实验要求

测试:

  1. 首先人工生成一些数据(如三维数据),让它们主要分布在低维空间中,如首先让某个维度的方差远小于其它唯独,然后对这些数据旋转。生成这些数据后,用你的PCA方法进行主成分提取。

  2. 找一个人脸数据(小点样本量),用你实现PCA方法对该数据降维,找出一些主成分,然后用这些主成分对每一副人脸图像进行重建,比较一些它们与原图像有多大差别(用信噪比衡量)。

2.2 实验环境

Windows 10, Python 3.8.5, Jupyter notebook

3 实验原理

PCA(主成分分析,Principal Component Analysis)是最常用的一种降维方法。PCA的主要思想是将D维特征通过一组投影向量映射到K维上,这K维是全新的正交特征,称之为主成分,采用主成分作为数据的代表,有效地降低了数据维度,且保留了最多的信息。关于PCA的推导有两种方式:最大投影方差和最小投影距离。

  • 最大投影方差:样本点在这个超平面上的投影尽可能分开
  • 最小投影距离:样本点到这个超平面的距离都足够近

3.1 中心化

在开始PCA之前需要对数据进行预处理,即对数据中心化。设数据集 X = { x 1 , x 2 , . . . , x n } X=\{x_1, x_2, ..., x_n\} X={ x1,x2,...,xn},其中 x i = { x i 1 , x i 2 , . . . , x i d } x_i = \{x_{i1}, x_{i2}, ..., x_{id}\} xi={ xi1,xi2,...,xid},即 X X X 是一个 n × d n \times d n×d 的矩阵。则此数据集的中心向量(均值向量)为:

μ = 1 n ∑ i = 1 n x i \mu = \frac 1 n \sum_{i=1}^n x_i μ=n1i=1nxi
对数据集每个样本均进行操作: x i = x i − μ x_i = x_i - \mu xi=xiμ,就得到了中心化后的数据,此时有 ∑ i = 1 n x i = 0 \displaystyle\sum_{i=1}^n x_i=0 i=1nxi=0

中心化可以给后面的计算带来极大的便利,因为中心化之后的常规线性变换就是绕原点的旋转变化,也就是坐标变换。此时,协方差为 S = 1 n ∑ i = 1 n x i x i T = 1 n X T X S=\displaystyle\frac 1 n\sum_{i=1}^n x_i x_i^T=\frac 1 n X^T X S=n1i=1nxixiT=n1XTX

设使用的投影坐标系的一组标准正交基 U k × d = { u 1 , u 2 , . . . , u k } ,   k < d , u i = { u i 1 , u i 2 , . . . , u i d } U_{k\times d}=\{u_1, u_2, ..., u_k\},\ k<d, u_i = \{u_{i1}, u_{i2}, ..., u_{id}\} Uk×d={ u1,u2,...,uk}, k<d,ui={ ui1,ui2,...,uid},故有 U U T = 1 UU^T=1 UUT=1,使用这组基变换中心化矩阵 X X X,得降维压缩后的矩阵 Y n × k = X U T Y_{n \times k}=XU^T Yn×k=XUT,重建得到 X ^ = Y U = X U T U \hat X=YU=XU^TU X^=YU=XUTU

3.2 最大投影方差

对于任意一个样本 x i x_i xi,在新的坐标系中的投影为 y i = x i U T y_i=x_iU^T

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值