欢迎光临
我们一直在努力

第八章:LDA 与 PCA 算法

目录

第一部分:LDA (线性判别分析) —— 一切为了分类

1. LDA 的核心思想

2. 数学推导

第二部分:PCA (主成分分析) —— 数据的“压缩”艺术

1. PCA 的核心思想

2. 为什么要正交?

3. 数学推导

总结:LDA vs PCA


降维双雄:深入浅出 LDA 与 PCA 算法

在机器学习的数据预处理中,我们经常遇到“维度灾难”。特征太多怎么办?这时候就需要降维(Dimensionality Reduction)。

今天我们来聊聊降维领域的两位大佬:LDA(线性判别分析) 和 PCA(主成分分析)。虽然它们名字很像,都是为了把数据从高维投影到低维,但它们的“初心”却完全不同。


第一部分:LDA (线性判别分析) —— 一切为了分类

LDA (Linear Discriminant Analysis) 由 Ronald A. Fisher 在1936年提出,所以有时也叫 Fisher 判别分析。

1. LDA 的核心思想

LDA 是一种有监督(Supervised)的学习算法。它的目的非常明确:降维是为了更好地分类。

想象一下,桌子上混杂着红豆和绿豆。我们要从侧面打一束光,把它们的影子投影到墙上(一维直线)。

  • 坏的投影:红豆和绿豆的影子混在一起,分不清。

  • 好的投影:红豆的影子在一边,绿豆的影子在另一边,中间泾渭分明。

LDA 的目标就是找到那个“完美的角度”,使得投影后的数据:

  • 类间距离最大化:不同类别的中心离得越远越好。

  • 类内距离最小化:同一类别的数据点越紧凑越好(方差小)。

  • 或者用更形象的例子:

    2. 数学推导

    为了实现上述目标,LDA 定义了一个目标函数 $J(w)$

    • 分子:$\\hat{\\mu}_1 - \\hat{\\mu}_2$(投影后两类中心点的距离)。我们希望它越大越好。

    • 分母:$\\tilde{s}_1^2 + \\tilde{s}_2^2$(投影后各类的散列值/方差)。我们希望它越小越好,意味着数据更集中。

    最终的公式长这样(Fisher 准则):$J(w) = \\frac{w^T S_B w}{w^T S_W w}$

    其中 $S_B$是类间散布矩阵,$S_W$是类内散布矩阵。

    通过拉格朗日乘子法求解,我们发现最佳的投影方向$w$ 其实就是矩阵 $S_W^{-1}S_B$的特征向量 。


    第二部分:PCA (主成分分析) —— 数据的“压缩”艺术

    如果说 LDA 是为了“找不同”,那么 PCA (Principal Component Analysis) 就是为了“抓重点”。它是降维中最常用的手段。

    1. PCA 的核心思想

    PCA 是一种无监督(Unsupervised)算法。它不管你是什么类别,它只关心数据分布的方差(Variance)。

    • 方差大:说明数据在这个方向上分布得很广,蕴含的信息量大。

    • 方差小:说明数据挤在一起,这个维度可能没啥用(或者是噪声)。

    PCA 的目标是:找到一个新的坐标系(基变换),把数据投影过去,使得在新坐标轴上的方差最大,同时不同坐标轴之间互不相关(协方差为0)。

    2. 为什么要正交?

    为了让降维后的特征尽可能独立,不包含重复信息,PCA 要求新的基必须是正交的(垂直的)。

    比如,我们选择了第一个方差最大的方向作为“主成分1”,那么“主成分2”必须在垂直于“主成分1”的方向中去找方差最大的那个。

    3. 数学推导

    PCA 的计算核心在于协方差矩阵。

    协方差矩阵的对角线元素代表方差,非对角线元素代表协方差。我们的目标是将协方差矩阵对角化(即让非对角线元素变为0)。

    操作步骤:

  • 计算原始数据的协方差矩阵。

  • 求出这个矩阵的特征值和特征向量。

  • 将特征值从大到小排序。

  • 取前 $K$个特征值对应的特征向量,这就构成了新的空间。

  • 将原始数据乘以这个特征向量矩阵,就得到了降维后的数据 $Y$


  • 总结:LDA vs PCA

    维度 LDA (线性判别分析) PCA (主成分分析)
    类型 有监督 (Supervised) 无监督 (Unsupervised)
    核心目标 分类:最大化类间距离,最小化类内方差 描述:最大化整体方差,保留主要信息
    关注点 哪些维度能把不同类别分开? 哪些维度的数据波动(信息量)最大?
    应用场景 数据带有标签,任务是分类预处理 数据无标签,任务是去噪、压缩、可视化

    简单来说,如果你有标签并且想做分类,首选 LDA;如果你只是想把数据变小一点,或者去噪,首选 PCA。

    赞(0)
    未经允许不得转载:171主机测评 » 第八章:LDA 与 PCA 算法
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址