1-3-kernel PCA

一、Kernel PCA 00:02

1.PCA是线性的 00:07
  • PCA本质是线性降维方法,其核心操作矩阵乘法属于线性变换
  • 矩阵与向量的乘法实质是对矩阵列的线性组合,进一步验证PCA的线性特性
2.如何处理数据非线性可分 00:29
  • 非线性可分数据示例:二维平面同心圆分布(中心红点+外围绿点环),线性PCA无法有效分离两类数据

  • 升维解决原理

    :通过映射函数将数据投影到高维空间可实现线性可分

    • 三维空间示例:圆锥体顶点放置红点,锥面环带放置绿点,实现空间分离
  • 具体操作:定义映射函数f(x1,x2)→(x1,x2,x1²+x2²),将二维数据升维至三维后执行线性PCA即可分类

3.Kernel PCA 03:22
1) Kernel PCA的步骤 03:30
  • 核心步骤

    • 数据升维:通过映射函数φ将n0维数据提升至n1维空间
    • 中心化处理:确保高维空间数据均值为零
    • 协方差矩阵计算:构建高维协方差矩阵H̃(加波浪线标识高维操作)
    • 特征分解:求解H̃的特征值与特征向量(标记为λ̃和z̃)
  • 待解决问题

    • 映射函数选择:φ的显式定义缺乏理论指导
    • 计算复杂度:高维空间矩阵运算资源消耗巨大
2) 特征向量的表达式证明 05:57
关键结论 数学推导 理论意义
特征向量线性表示 z̃=∑αⱼφ(xⱼ) 高维特征向量可表示为样本点的线性组合
核函数定义 K(xᵢ,xⱼ)=φ(xᵢ)ᵀφ(xⱼ) 将高维内积转化为核函数计算
特征方程转化 K²α=λ̃Kα → Kα=λ̃α 将高维特征问题转化为核矩阵特征问题
3) Gram矩阵的定义 09:53
  • Gram矩阵构造:定义n×n对称矩阵K,元素Kᵢⱼ=K(xᵢ,xⱼ)
  • 问题转化结果:原高维特征方程简化为Kα=λ̃α的标准特征问题
  • 求解方法:通过SVD分解获取特征对(αᵣ,λ̃ᵣ)
4) 特征向量的模长计算 12:15
  • 单位向量约束

    :通过归一化处理使‖z̃‖=1

    • 归一化系数:αᵣ需满足‖αᵣ‖=1/√λ̃ᵣ
  • 投影计算:新数据点投影值=∑αᵣK(x,xⱼ)

  • 核心优势:全程仅依赖核函数计算,无需显式定义φ(x)

5) 平均值的零处理 15:35

Normalization过程将原始核函数带入后,通过基础操作转化为复杂形式。经重新组合可表示为矩阵形式k,其中k为原始核函数,k̃为经过后处理的Gram矩阵。矩阵后缀1ₙ表示常数矩阵,其每个元素均为1/n。通过该矩阵运算可将原始Gram矩阵转化为新Gram矩阵,新矩阵对应数据点的平均值为零,从而解决初始假设问题。

6) 核函数的选择 16:57

常用核函数形式包括:

  • 线性核函数:定义为xᵢ与xⱼ的内积,选择此形式时核PCA退化为线性PCA
  • 非线性核函数:如多项式核函数、高斯核函数、拉普拉斯核函数等
  • 实际应用中通常需通过实验选择核函数,仅在对数据分布有明确认知时可直接确定,但此类情况较少。
4.核PCA的总结 18:01

核PCA实施步骤:

  • 选择核函数k(xᵢ,xⱼ),可从常用形式中选取
  • 组合Gram矩阵Kᵢⱼ - 对K进行Normalization,确保高维空间数据点均值为零
  • 求解k̃的特征值与特征向量,需对特征向量αᵣ进行归一化处理使其模长为1/λ
  • 数据投影:通过核函数与主成分系数的乘积公式计算投影后系数yᵣ
5.应用案例 19:32
1) 例题#核PCA分离颜色示例 19:36

应用示例展示三个同心圆分布数据(绿色、蓝色、红色)。采用二次多项式核函数时,仅投影至第一主成分(横轴)即可实现颜色分离。数据分布形态与圆锥示例相似,体现二维至高维的升维思想。改用高斯核函数后,第一主成分同样能有效区分三类颜色,验证核PCA在高维空间的特征提取优势。

相关推荐
可编程芯片开发19 分钟前
基于CPS-SPWM链式STATCOM系统在电压不平衡环境下控制策略的simulink建模与仿真
算法
Jerry1 小时前
LeetCode 202. 快乐数
算法
hans汉斯1 小时前
基于改进交叉熵损失函数与Transformer的心电信号高风险分类研究
功能测试·深度学习·算法·yolo·目标检测·分类·transformer
Jerry1 小时前
LeetCode 349. 两个数组的交集
算法
YuK.W2 小时前
Leetcode100: 70.爬楼梯、118.杨辉三角、198.打家劫舍
java·算法·leetcode
随意起个昵称2 小时前
状压dp-基础题目2([USACO12MAR] Cows in a Skyscraper G)
c++·算法·动态规划
Jerry3 小时前
LeetCode 1002. 查找共用字符
算法
无限的鲜花4 小时前
协程本质是函数加状态机——零基础深入浅出 C++20 协程
c++·算法·c++20
旖-旎4 小时前
《LeetCode 64 最小路径和 || LeetCode 174 地下城游戏》
c++·算法·leetcode·动态规划
森林古猿14 小时前
再论斜率优化
c++·学习·算法