当前位置: 首页 > news >正文

day21python打卡

知识点回顾:

  1. LDA线性判别
  2. PCA主成分分析
  3. t-sne降维

还有一些其他的降维方式,也就是最重要的词向量的加工,我们未来再说

作业:

自由作业:探索下什么时候用到降维?降维的主要应用?或者让ai给你出题,群里的同学互相学习下。可以考虑对比下在某些特定数据集上t-sne的可视化和pca可视化的区别。

降维通常在以下场景中使用:

  1. 高维数据处理:当数据特征数量过多(如基因数据、图像像素、文本词向量)时,降维可减少计算复杂度,缓解“维度灾难”。
  2. 可视化需求:将高维数据降至2D/3D以便直观展示,如探索数据分布或聚类结构。
  3. 去噪与特征提取:去除冗余或噪声特征,保留主要信息,例如PCA通过保留高方差成分实现去噪。
  4. 模型效率提升:减少特征数量可加速模型训练,降低过拟合风险(尤其在样本量较少时)。
  5. 数据压缩:节省存储空间,简化数据传输。

降维的主要应用

  1. 数据可视化:如用t-SNE或PCA将MNIST手写数字降至2D,观察类别分离。
  2. 图像处理:人脸识别中,PCA(特征脸方法)提取主要特征,减少计算量。
  3. 自然语言处理:词嵌入降维可视化(如Word2Vec + t-SNE展示语义聚类)。
  4. 生物信息学:基因表达数据分析,识别关键生物标记。
  5. 推荐系统:矩阵分解(如SVD)降低用户-物品交互矩阵的维度,提取潜在因子。
  6. 信号处理:去除冗余信号成分,如EEG数据中的噪声过滤。

PCA vs. t-SNE 可视化对比(以MNIST为例)

特性PCAt-SNE
方法类型线性降维非线性降维
目标保留全局方差,最大化数据分布保留局部结构,优化邻近点相似度
计算速度快(适合大数据)慢(适合小数据,复杂度O(N²))
参数敏感性无参数(仅需指定主成分数)需调参(困惑度、学习率等)
结果稳定性确定性强,结果唯一随机初始化导致结果可能变化
可视化效果全局结构清晰,但类别可能重叠局部聚类明显,类别分离更清晰

示例结果

  • PCA:MNIST前两个主成分可能显示数字按书写方向(如笔画复杂度)分布,但不同数字区域重叠较多。
  • t-SNE:MNIST可视化后,不同数字形成独立簇,聚类边界更明确,但全局结构(如数字间的相对位置)可能不保留。

实战建议

  1. 选择场景

    • 优先用PCA进行快速初步降维、去噪或特征压缩。
    • t-SNEUMAP探索复杂数据聚类、流形结构(如单细胞RNA测序数据)。
  2. 参数调整

    • PCA:选择累计方差贡献率(如95%)决定成分数。
    • t-SNE:调整困惑度(通常5-50)、学习率(避免过大)和迭代次数。
  3. 代码示例(Python)

    from sklearn.manifold import TSNE
    from sklearn.decomposition import PCA
    import matplotlib.pyplot as plt
    from sklearn.datasets import load_digitsdigits = load_digits()
    X, y = digits.data, digits.target# PCA可视化
    pca = PCA(n_components=2)
    X_pca = pca.fit_transform(X)
    plt.scatter(X_pca[:,0], X_pca[:,1], c=y, cmap='tab10')
    plt.title('PCA Visualization of MNIST')
    plt.show()# t-SNE可视化
    tsne = TSNE(n_components=2, random_state=42)
    X_tsne = tsne.fit_transform(X)
    plt.scatter(X_tsne[:,0], X_tsne[:,1], c=y, cmap='tab10')
    plt.title('t-SNE Visualization of MNIST')
    plt.show()
    

总结

降维是处理高维数据的核心工具,选择合适方法需权衡数据特性(线性/非线性)、任务目标(可视化/去噪/提速)和计算资源。PCA与t-SNE的对比体现了线性与非线性方法在保留数据结构上的本质差异。

浙大疏锦行

相关文章:

  • HC-SR04超声波测距传感器
  • Block Styler——字符串控件
  • jetson orin nano super AI模型部署之路(十)使用frp配置内网穿透,随时随地ssh到机器
  • 含锡电镀废水深度净化技术体系解析化利用的全流程优化
  • 【C++贪心 位运算】B3930 烹饪问题|普及
  • Day20打卡-奇异值SVD分解
  • 2025年大模型RAG技术的实践总结
  • 解释器和基于规则的系统比较
  • 历史数据分析——北部湾港
  • (2025)图文解锁RAG从原理到实操
  • 当冲压焊接遇上Canopen到Profinet协议转换网关
  • 【XCP实战】AUTOSAR架构下XCP DAQ功能配置实现
  • 代码随想录算法训练营第三十七天
  • 学习黑客5 分钟深入浅出理解Linux Logs [特殊字符]
  • MD5 值是什么?为什么文件需要检验 MD5?
  • 手机银行怎么打印流水账单(已解决)
  • LintCode第485题-生成给定大小的数组,第220题-冰雹猜想,第235题-分解质因数
  • 便签软件哪个好用?2025年桌面记事本便签软件推荐大全
  • ProfiNet转MODBUS模块构建西门子PLC与RTU仪表通讯连接方案
  • 考研408《计算机组成原理》复习笔记,第三章数值数据的表示和运算(定点数篇)
  • 婚姻登记“全国通办”首日观察:数据多跑路,群众少跑腿
  • 苏东坡:人生就是哈哈哈哈哈
  • 上财发布“AI+课程体系”,人工智能如何赋能财经教育?
  • 上海推动AI+文旅深度融合,MaaS平台和产业基地落地徐汇
  • 第1现场 | 印巴冲突:印50多年来首次举行大规模民防演习
  • 美联储主席:美联储工作方式不会受特朗普影响,从未寻求与总统会面