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在高维空间的特征提取优势。

相关推荐
Crazyong1 天前
FreeRTOS-互斥量-2
算法
啊我不会诶1 天前
2025 北京市大学生程序设计竞赛暨“小米杯”全国邀请赛
c++·学习·算法
mit6.8241 天前
懒更新|单点查询
算法
Yupureki1 天前
《C++实战项目-高并发内存池》8. 最终性能优化与测试
c语言·开发语言·数据结构·c++·算法·性能优化
DeepModel1 天前
【概率分布】均匀分布的原理、推导与Python实现
python·算法·概率论
一叶落4381 天前
LeetCode 74 | 搜索二维矩阵(C语言版题解)
c语言·数据结构·c++·算法·leetcode·矩阵·动态规划
罗湖老棍子1 天前
星际信号塔 —— 单调栈经典应用详解
数据结构·算法·单调栈
iAkuya1 天前
(leetcode)力扣100 96.只出现一次的数字(位运算)
算法·leetcode·职场和发展
Tisfy1 天前
LeetCode 1622.奇妙序列:懒更新
数学·算法·leetcode·题解·设计
無限進步D1 天前
高精度算法 cpp
c++·笔记·算法·入门