LDA算法与PCA算法

PCA算法

  • PCA—本质上是将投影后的数据尽可能分散(方差最大),高维数据在低维空间上面(各个维度线性无关)的投影
  • 参考网址PCA讲解
  • 算法实现的流程

  • 给定m条n维的数据
    • 将数据排列为n*m的矩阵
    • 将矩阵中每行元素分别减去每行的均值(零均值化)
    • 求出协方差矩阵
    • 求出协方差矩阵对应的特征值与特征向量
    • 将特征值的大小按行进行排序,取前k列组成矩阵P
    • 通过 Y = PX 对数据进行降维

LDA算法

  1. LDA算法流程
    输入:数据集 D = ( x 1 , y 1 x_1,y_1 x1,y1),( x 2 , y 2 x_2,y_2 x2,y2),( x 3 , y 3 x_3,y_3 x3,y3)···( x m , y m x_m,y_m xm,ym),其中,任意样本 x i x_i xi为n维向量y = { C 1 , C 2 , C 3 ⋅ ⋅ ⋅ C n C_1,C_2,C_3···C_n C1,C2,C3⋅⋅⋅Cn},降维到的维度为d
    输出:降维后的数据集 D ′ D' D

    1)计算类内散度矩阵 S w S_w Sw

    2)计算类间散度矩阵 S b S_b Sb

    3)计算矩阵; S w − 1 S b S_w^{-1}S_b Sw1Sb

    4)计算矩阵 S w − 1 S b S_w^{-1}S_b Sw1Sb 的特征值与特征向量,按从小到大的顺序选取前 d个特征值和对应的 d个特征向量 ,得到投影矩阵 W W W

    5)对样本集中的每一个样本特征 x i x_i xi,转化为新的样本 z i = W T x z_i = W^{T}x zi=WTx

    6)得到输出样本集 D = ( z 1 , y 1 z_1,y_1 z1,y1),( z 2 , y 2 z_2,y_2 z2,y2),( z 3 , y 3 z_3,y_3 z3,y3)···( z m , y m z_m,y_m zm,ym

小结:

  • LDA算法既可以用来降维,也可以用来分来,但是目前来说,LDA主要用于降维,在进行与图像识别相关的数据分析时,LDA是一个有力的工具。下面总结一下LDA算法的优缺点。

共同点

- 都是用于降维
- 都用的是矩阵分解的思想
- 使用对象必须符合高斯分布

不同点

- LDA是有监督学习,可以使用先验知识,类内散度矩阵呢与类间散度矩阵
- PCA不能用于数据方差不明显的情况
- PCA降维没有维度限制
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值