面试之降维---(2)

文章来源于《百面机器学习》

1.为什么要进行降维?

在机器学习中,数据通常需要被表示成向量形式以输入模型进行训练。对向维向量进行处理和分析时,会极大地消耗系统资源,甚至产生维度灾难。因此,进行降维,即用一个低维度的向量表示原始高维度的特征就显得尤为重要。

2.降维的方法有哪些?

常见的降维方法有主成分分析(PCA)、线性判别分析(LDA)、等距映射、局部线性嵌入、拉普拉斯特征映射、局部保留投影等。

(1)PCA

  • PCA属于一种线性、非监督、全局的降维算法
  • 由于PCA是线性降维方法,具有一定的局限性。
  • 通过核映射对PCA进行扩展得到核主成分分析(KPCA),通过流形映射的降维方法,比如等距映射、局部线性嵌入、拉普拉斯特征映射等,使PCA对复杂数据集进行非线性降维。
  • PCA旨在找到数据中的主成分,并利用这些主成分表征原始数据,从而达到降维的目的。
  • PCA应用的最大方差理论,即最大化投影方差,也就是让数据在主轴上投影的方差最大。
  • PCA的求解步骤(应用最大方差理论):
    1)对样本数据进行中心化处理(对于给定的一组列向量数据点{ v 1 , v 2 , . . . , v n v_1,v_2,...,v_n v1,v2,...,vn} ,中心化后的表示为{ x 1 , x 2 , . . . , x n x_1,x_2,...,x_n x1,x2,...,xn}={ v 1 − μ , v 2 − μ , . . . , v n − μ v_1-\mu,v_2-\mu,...,v_n-\mu v1μ,v2μ,...,vnμ},其中 μ = 1 n ∑ i = 1 n v i \mu=\frac1n\sum_{i=1}^nv_i μ=n1i=1nvi)。
    2)求样本协方差矩阵 ∑ = 1 n ∑ i = 1 n x i x i T \sum =\frac1n\sum_{i=1}^nx_ix_i^T =n1i=1nxixiT
    3)对协方差矩阵进行特征值分解,将特征值从大到小排列。
    4)取特征值前d大对应的特征向量ω1,ω2,…,ωd,通过 x i ˊ = { w 1 T x i w 2 T x i . . . w d T x i \acute{x_i}=\begin{cases} w_1^Tx_i\\w_2^Tx_i \\...\\w_d^Tx_i\end{cases} xiˊ=w1Txiw2Txi...wdTxi将n维样本映射到d维。
  • 通过选取最大的d个特征值对应的特征向量,抛弃方差较小的特征(噪声),使n维列向量被映射为d维列向量,定义降维后的信息占比为 η = ∑ i = 1 d λ i 2 ∑ i = 1 n λ i 2 \eta = \sqrt{\frac{\sum_{i=1}^d\lambda_i^2}{\sum_{i=1}^n\lambda_i^2}} η=i=1nλi2i=1dλi2
  • PCA可以通过最小平方误差的思路进行降维

(2)LDA(Fisher LDA)

  • LDA是一种有监督的降维算法。
  • LDA是机器学习、数据挖掘领域中经典且热门的一种算法。
  • LDA的中心思想——最大化类间距离和最小化类内距离
  • 目标函数定义为类间距离和类内距离的比值,则需要最大化目标 max ⁡ J ( w ) = w T ( μ 1 − μ 2 ) ( μ 1 − μ 2 ) T w ∑ x ∈ C i w T ( x − μ i ) ( x − μ i ) T w \max J(w)=\frac{w^T(\mu_1-\mu_2)(\mu_1-\mu_2)^Tw}{\sum_{x\in C_i}w^T(x-\mu_i)(x-\mu_i)^Tw} maxJ(w)=xCiwT(xμi)(xμi)TwwT(μ1μ2)(μ1μ2)Tw
  • Fisher LDA相比PCA更善于对有类别信息的数据进行降维处理,但它假设每个类数据都是高斯分布、各个类的协方差相等(假设在现实中不一定满足,但还是非常有效的)。
  • LDA是线性模型,对于噪声的鲁棒性比较好,表达能力有一定局限性
  • 可通过引入核函数扩展LDA方法以处理分布较为复杂的数据。

3.LDA和PCA作为经典的降维算法,如何从应用的角度分析其原理的异同?两种降维算法在目标函数上有何区别与联系?

(1)如何从应用的角度分析其原理的异同

  • 在语音识别中,从一段音频中提取出人的语音信号,要过滤掉一些固定频率(方差较小)的背景噪声使用PCA先进行降维。如需求是从这段音频中区分出声音属于哪个人,使用LDA对数据进行降维,使每个人的语音信号具有区分性。
  • 在人脸识别领域中,基于PCA的人脸识别方法也称为特征脸(Eigenface)方法,该方法将人脸图像按行展开形成一个高维向量,对多个人脸特征的协方差矩阵做特征值分解,其中较大特征值对应的特征向量具有与人脸相似的形状,故称为特征脸。利用PCA进行降维,一般情况下保留的是最佳描述特征(主成分),而非分类特征。如果想要达到更好的人脸识别效果,应该用LDA方法对数据集进行降维,使得不同人脸在投影后的特征具有一定区分性。”
  • 从应用的角度,掌握一个基本的原则——对无监督的任务使用PCA进行降维,对有监督的则应用LDA。

(2)两种降维算法在目标函数上有何区别与联系?

  • 从PCA和LDA两种降维方法的求解过程来看,它们确实有着很大的相似性,但对应的原理却有所区别。
  • PCA选择的是投影后数据方差最大的方向。由于它是无监督的,因此PCA假设方差越大,信息量越多,用主成分来表示原始数据可以去除冗余的维度,达到降维。
  • 而LDA选择的是投影后类内方差小、类间方差大的方向。其用到了类别标签信息,为了找到数据中具有判别性的维度,使得原始数据在这些方向上投影后,不同类别尽可能区分开。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值