降维方法小结

博客介绍了降维方法,其可降低数据维度,让原始数据更易分类。具体阐述了PCA和SVD(奇异值分解)两种算法,详细推导了SVD中实非对称阵和实矩阵的正交对角分解及奇异分解过程,还说明可通过取较大特征值实现降维,SVD可用于PCA降维、数据压缩和去噪。

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

降维方法用于降低数据维度,用更少的变量来表达高维的信息,让原始的数据更易于分类

  1. PCA
  2. LDA
  3. SVD1

2. 具体算法

2.1 PCA

最小投影距离

2.3 SVD(Singular Value Decomposition),奇异值分解。

奇异值分解可以看成是实的非对称阵分解的推广,实的非对称阵分解则可看成实对称阵分解的推广。先来看看是对称阵分解。

  1. 如果 A A A n n n实对称阵,则存在正交阵 Q Q Q(正交阵性质: Q Q T = E QQ^{T} = E QQT=E),使得
    Q T A Q = d i a g ( λ 1 , λ 2 , . . . , λ n ) ( 1 ) Q^{T}AQ = diag( \lambda_{1}, \lambda_{2},..., \lambda_{n}) \text(1) QTAQ=diag(λ1,λ2,...,λn)(1) λ i \lambda_{i} λi A A A的特征值.

  2. 如果 A A A n n n实的非对称阵,则存在正交阵 P , Q P, Q P,Q,使得
    P T A Q = d i a g ( α 1 , α 2 , . . . , α n ) ( 2 ) P^{T}AQ = diag( \alpha_{1}, \alpha_{2},..., \alpha_{n}) \text(2) PTAQ=diag(α1,α2,...,αn)(2) α i \alpha_{i} αi A A A的特征值, α i > 0 \alpha_{i}>0 αi>0.
    证: A A A是非奇异的, A T A A^{T}A ATA实对称阵正定矩阵,则存在正交阵 Q Q Q,使得
    Q T A T A Q = d i a g ( λ 1 , λ 2 , . . . , λ n ) ( 3 ) Q^{T}A^{T}AQ = diag( \lambda_{1}, \lambda_{2},..., \lambda_{n}) \text(3) QTATAQ=diag(λ1,λ2,...,λn)(3) λ i \lambda_{i} λi A A A的特征值, α i > 0 \alpha_{i}>0 αi>0.
    α i = λ i \alpha_{i} =\sqrt \lambda_{i} αi=λ i, ∧ = d i a g ( α 1 , α 2 , . . . , α n ) \wedge = diag( \alpha_{1}, \alpha_{2},..., \alpha_{n}) =diag(α1,α2,...,αn),带入 ( 3 ) (3) (3)式则有
    Q T A T A Q = ∧ 2 ( 4 ) Q^{T}A^{T}AQ = \wedge^{2} \text(4) QTATAQ=2(4)
    等式两边左乘 ∧ − 1 \wedge^{-1} 1, ∧ − 1 Q T A T A Q = ∧ \wedge^{-1}Q^{T}A^{T}AQ = \wedge 1QTATAQ=,变换后得到:
    ( A Q ∧ − 1 ) T A Q = ∧ ( 5 ) (AQ\wedge^{-1})^{T}AQ = \wedge(5) (AQ1)TAQ=(5)
    P = A Q ∧ − 1 P = AQ\wedge^{-1} P=AQ1,则有 P T P = ( A Q ∧ − 1 ) T A Q ∧ − 1 = ( ( A Q ∧ − 1 ) T A Q ) × ∧ − 1 = E P^{T}P = (AQ\wedge^{-1})^{T}AQ\wedge^{-1}=( (AQ\wedge^{-1})^{T}AQ)\times\wedge^{-1}=E PTP=(AQ1)TAQ1=((AQ1)TAQ)×1=E。所以, P P P是正交阵,且使 P T A Q = ∧ = d i a g ( α 1 , α 2 , . . . , α n ) P^{T}AQ =\wedge= diag( \alpha_{1}, \alpha_{2},..., \alpha_{n}) PTAQ==diag(α1,α2,...,αn).( Q Q Q是正交阵(2)式处已证明)。所以,
    A = P d i a g ( α 1 , α 2 , . . . , α n ) Q T A = P diag( \alpha_{1}, \alpha_{2},..., \alpha_{n}) Q^{T} A=Pdiag(α1,α2,...,αn)QT.
    以上为实非对称阵A的正交对角分解

  3. 如果 A A A是秩为 r r r m × n m\times n m×n的实矩阵,则存在 m m m阶正交阵 U U U n n n阶正交阵 V V V使得
    U T A V = [ Σ 0 0 0 ] ( 3.1 ) U^{T}AV=\begin{bmatrix} \Sigma & 0 \\ 0 & 0 \end{bmatrix} (3.1) UTAV=[Σ000](3.1)
    其中 Σ = d i a g ( σ 1 , σ 2 , . . . , σ r ) \Sigma = diag(\sigma_{1},\sigma_{2},...,\sigma_{r}) Σ=diag(σ1,σ2,...,σr). σ 1 , σ 2 , . . . , σ r > 0 \sigma_{1},\sigma_{2},...,\sigma_{r}>0 σ1,σ2,...,σr>0,是 A A A的奇异值
    证明:设 A A A的特征值是 λ 1 > λ 2 > . . . > λ r > λ r + 1 = . . . = λ n = 0 \lambda_{1}>\lambda_{2}>...>\lambda_{r}>\lambda_{r+1}=...=\lambda_{n}=0 λ1>λ2>...>λr>λr+1=...=λn=0,则存在正交阵 V V V,使得
    V T A T A V = d i a g ( λ 1 2 , λ 2 2 , . . . , λ n 2 ) = [ Σ 2 0 0 0 ] ( 3.2 ) V^{T}A^{T}AV=diag(\lambda^{2}_{1},\lambda^{2}_{2},...,\lambda^{2}_{n})=\begin{bmatrix} \Sigma^{2} & 0 \\ 0 & 0 \end{bmatrix}(3.2) VTATAV=diag(λ12,λ22,...,λn2)=[Σ2000](3.2)
    V V V分成两部分 V 1 V_{1} V1表示前 r r r列, V 2 V_{2} V2表示后 n − r n-r nr列,则有 V 1 T A T A V 1 = d i a g ( λ 1 2 , λ 2 2 , . . . , λ n 2 ) = Σ 2 ( 3.3 ) V_{1}^{T}A^{T}AV_{1}=diag(\lambda^{2}_{1},\lambda^{2}_{2},...,\lambda^{2}_{n})=\Sigma^{2}(3.3) V1TATAV1=diag(λ12,λ22,...,λn2)=Σ2(3.3)
    V 2 T A T A V 2 = 0 ( 3.4 ) V_{2}^{T}A^{T}AV_{2}=0(3.4) V2TATAV2=0(3.4)
    由(3.3)有, Σ − 1 V 1 T A T A V 1 Σ − 1 = E \Sigma^{-1}V_{1}^{T}A^{T}AV_{1}\Sigma^{-1}=E Σ1V1TATAV1Σ1=E,即 ( A V 1 Σ − 1 ) T ( A V 1 Σ − 1 ) = E ( 3.5 ) (AV_{1}\Sigma^{-1})^{T}(AV_{1}\Sigma^{-1})=E (3.5) (AV1Σ1)T(AV1Σ1)=E(3.5).
    由(3.4)有 ( A V 2 ) T ( A V 2 ) = 0 (AV_{2})^{T}(AV_{2})=0 (AV2)T(AV2)=0,则 A V 2 = 0 AV_{2}=0 AV2=0.
    U 1 = A V 1 Σ − 1 U_{1}=AV_{1}\Sigma^{-1} U1=AV1Σ1,则 U 1 T U 1 = E r U_{1}^{T}U_{1}=E_{r} U1TU1=Er,所有 U 1 U_{1} U1是有 r r r列两两正交向量的 m × r m\times r m×r的矩阵,记为 U 1 = ( u 1 , u 2 , . . . , u r ) U_{1} = (u_{1},u_{2},...,u_{r}) U1=(u1,u2,...,ur),将 ( u 1 , u 2 , . . . , u r ) (u_{1},u_{2},...,u_{r}) (u1,u2,...,ur)扩充成 C m C^{m} Cm的标准正交基 ( u 1 , u 2 , . . . , u r , u r + 1 , . . . . , u m ) (u_{1},u_{2},...,u_{r},u_{r+1},....,u_{m}) (u1,u2,...,ur,ur+1,....,um),令 U 2 = ( u r + 1 , . . . . , u m ) U_{2}=(u_{r+1},....,u_{m}) U2=(ur+1,....,um). U = ( U 1 , U 2 ) U=(U1,U2) U=(U1,U2) m m m阶标准正交基,则有:
    U 1 T U 1 = E r , U 2 T U 1 = 0 U_{1}^TU_{1}=E_{r},U_{2}^TU_{1}=0 U1TU1=Er,U2TU1=0
    则有 U T A V = U T A ( V 1 , V 2 ) = [ U 1 T U 2 T ] ( A V 1 , A V 2 ) = [ U 1 T U 2 T ] ( A V 1 , 0 ) = [ U 1 T A V 1 0 U 2 T A V 1 0 ] U^{T}AV=U^{T}A(V_{1},V_{2})=\begin{bmatrix} U_{1}^{T} \\ U_{2}^{T} \end{bmatrix}(AV_{1},AV_{2}) = \begin{bmatrix} U_{1}^{T} \\ U_{2}^{T} \end{bmatrix}(AV_{1},0)=\begin{bmatrix} U_{1}^{T}AV_{1} & 0 \\ U_{2}^{T}AV_{1} & 0 \end{bmatrix} UTAV=UTA(V1,V2)=[U1TU2T](AV1,AV2)=[U1TU2T](AV1,0)=[U1TAV1U2TAV100]
    由(3.5) U 1 T A V 1 = E r U_{1}^{T}AV_{1} =E_{r} U1TAV1=Er,又 U 2 T U 1 = 0 , U 1 = A V 1 Σ − 1 U_{2}^TU_{1}=0,U_{1}=AV_{1}\Sigma^{-1} U2TU1=0,U1=AV1Σ1,所以 U 2 T A V 1 = 0 U_{2}^{T}AV_{1}=0 U2TAV1=0,则
    U T A V = [ E r 0 0 0 ] U^{T}AV= \begin{bmatrix} E_{r} & 0 \\ 0 & 0 \end{bmatrix} UTAV=[Er000]
    A = U [ E r 0 0 0 ] V T A = U\begin{bmatrix} E_{r} & 0 \\ 0 & 0 \end{bmatrix}V^{T} A=U[Er000]VT,此式为 A A A的奇异分解。

通过取前个比较大的特征值,达到降维的目的。图示有比较直观的感受2

对于奇异值,它跟我们特征分解中的特征值类似,在奇异值矩阵中也是按照从大到小排列,而且奇异值的减少特别的快,在很多情况下,前10%甚至1%的奇异值的和就占了全部的奇异值之和的99%以上的比例。也就是说,我们也可以用最大的k个的奇异值和对应的左右奇异向量来近似描述矩阵。即: A m × n = U m × m Σ m × n V T n × n ≈ U m × k Σ k × k V T k × n A{_{m\times n}} = U{_{m\times m}}\Sigma{_{m\times n}}V^{T}{_{n\times n}}\approx U{_{m\times k}}\Sigma{_{k\times k}}V^{T}{_{k\times n}} Am×n=Um×mΣm×nVTn×nUm×kΣk×kVTk×n
其中 k k k n n n小很多,这样就将一个大矩阵 A A A分解成三个小矩阵 U m × k , Σ k × k 和 V k × n T U_{m\times k},\Sigma{_{k\times k}}和V^{T}_{k\times n} Um×k,Σk×kVk×nT相乘。
如下图所示,现在我们的矩阵A只需要灰色的部分的三个小矩阵就可以近似描述了。
在这里插入图片描述
由于这个重要的性质,SVD可以用于PCA降维,来做数据压缩和去噪


  1. 百度文库 矩阵奇异值分解 ↩︎

  2. 刘建平 奇异值分解(SVD)原理与在降维中的应用 ↩︎

<think>嗯,用户想要撰写关于Datalab实验的小结或报告模板。首先,我需要理清楚Datalab的主要功能和用户可能的实验内容。根据引用[1],Datalab支持多种数据格式的导入和处理,贯通试验业务全流程。这意味着实验报告需要涵盖数据导入、处理、分析等步骤。 用户可能需要一个结构清晰的模板,所以我得先确定常见的实验报告结构。通常,实验报告包括实验目的、环境、步骤、结果分析、问题与解决、结论等部分。结合Datalab的特点,可能需要加入数据导入的具体方法和处理流程。 另外,引用[4]提到数据预处理的重要性,比如处理缺失值、方法等。在实验报告中,数据预处理部分应该详细描述如何处理缺失数据,是否采用插补或删除,以及使用的技术,比如PCA或LDA。这部分需要具体步骤和原理说明,以展示分析的严谨性。 用户可能需要示例或模板中的具体内容,比如代码示例或数据导入的步骤。引用[1]中提到的支持导入Hdf、Excel、Matlab等文件,应该在报告中举例说明如何操作,可能包括截图或代码片段,但用户问题中未涉及代码,所以可能更多是步骤描述。 还要考虑实验结果的可视化和分析。Datalab可能有内置的可视化工具,用户需要展示图表并解释结果。比如,引用[4]中的数据分析方法,可以建议使用折线图、散点图等来呈现数据分布或处理效果。 用户可能希望报告模板既通用又具体,所以在模板中需要留出灵活调整的空间,同时给出具体示例。例如,在数据预处理部分,可以列出常见的处理方法,并说明在实验中具体采用了哪种方法及其原因。 最后,结论部分需要总结实验成果,指出Datalab的优势和可能的改进点。引用[3]提到实验报告提交的随机值,可能涉及数据验证,但用户的问题可能更关注内容结构而非提交细节。 需要确保回答结构清晰,分点明确,帮助用户一步步构建报告。同时,注意引用相关文献,如引用[1]的数据导入功能,引用[4]的数据预处理方法,以增强可信度。</think>### Datalab实验总结/实验报告编写指南 以下为Datalab实验总结的标准化模板与核心要点,结合其功能特性与数据分析流程设计: --- #### **一、实验总结框架** **1. 实验目标** - 明确实验主题(如数据清洗、可视化建模等) - 说明使用的Datalab核心功能模块(如数据导入、分析等)[^1] **2. 实验环境** - Datalab版本号 - 数据源类型(如HDF文件、Excel表格、MATLAB文件等)[^1] - 硬件配置(CPU/RAM/存储空间) **3. 数据处理流程** **步骤1:数据导入** - 使用`HDF向导导入`或`Excel直接导入`功能(需说明选择依据) - 示例代码片段(如调用Datalab API加载数据): ```python # 引用[1]中提到的HDF导入示例 dataset = datalab.load_hdf('experiment_data.h5', path='/sensor_group') ``` **步骤2:数据预处理** - 缺失值处理:根据引用[4]原则,若缺失率<60%采用插补(如均值插补、KNN插补),否则删除变量 - 方法:列举PCA(主成分分析)、LDA(线性判别分析)等算法原理与应用场景[^4] **步骤3:数据分析与可视化** - 使用Datalab内置工具生成统计图表(如散点图矩阵、热力图) - 关键指标分析(如方差解释率、聚类轮廓系数) **4. 实验结果与问题** - 数据质量评估(如引用[4]中关于数据保留与删除的决策依据) - 实验瓶颈与优化方案(如大文件导入时的内存优化策略) **5. 结论与展望** - Datalab功能优劣势总结(对比其他工具如Origin、MATLAB) - 实验成果对实际业务的价值(如预测模型部署建议) --- #### **二、Datalab实验报告特色内容建议** 1. **多格式数据兼容性验证** - 对比不同格式(如CSV vs. HDF)的加载速度与内存占用 - 表格示例: | 文件格式 | 加载时间(s) | 内存峰值(MB) | |----------|-------------|--------------| | HDF5 | 2.3 | 128 | | CSV | 5.1 | 256 | 2. **数据恢复与备份方案** - 结合引用[2],说明实验数据的定期备份策略(如SQLite增量备份) - 异常中断时的数据恢复操作步骤
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值