“降维算法”面试知识点总结-PCA+LDA算法-百面机器学习系列4

提示:在准备机器学习算法工程师面试的过程中,我主要参考《百面机器学习》去巩固自己的基础知识。本系列博客将以该书为主题,并以八股文的方式去概述整本书的内容,以尽量减少读者们的阅读作量,并方便读者可以随时随地的记忆背诵。
建议:我还是认为读者们可以提前买一本《百面机器学习》,从前到后完全看一遍,然后再看我的博客去记忆背诵会更好些哈。

文章目录

    • 问题1:PCA最大方差理论
    • 问题2:PCA最小平方误差理论
    • 问题3:线性判别分析(LDA)
    • 问题4:LDA和PCA的区别分析

常见的降维方法有主成分分析、线性判别分析、等距映射、局部线性嵌入、拉普拉斯特征映射、局部保留投影等。
在高维的数据中,包含很多的冗余和噪声,可通过降维的方式寻找数据内部的特性,从而提高特征表达能力,降低训练复杂度。

问题1:PCA最大方差理论

1.PCA 属于一种线性、非监督、全局的降维算法。用PCA去防止过拟合是一种特别不好的应用,可能会丢失一些有价值的信息,此外,除非在强有力的证据说明原始数据直接建模效果不好(内存太大或运行太慢),才使用PCA 降维之后再进行建模,一般建议直接使用原始数据建模。
2.PCA最大方差理论
1)降维后每个轴包含的信息就是我们要找到的主成分。
2)在信号处理领域,我们认为信号具有较大的方差,噪声具有较小的方差,信号与噪声之比称为信噪比。信噪比越大意味着数据质量越好,反之,信噪比越小意味着数据质量越差。由此,PCA的目标,即最大化投影方差,也就是让数据在投影轴上更加分散,即让数据在轴上的投影方差保持最大。
3)样本矩阵x投影后的方差就是协方差矩阵的特征值。其中,最大方差也就是协方差矩阵最大的特征值,最佳投影方向就是最大特征值所对应的特征向量。次最佳投影方向位于最佳投影方向的正交空间中,是第二大特征值对应的特征向量,以此类推。
4)PCA求解步骤: 对样本数据进行中心化处理(保证投影后的均值为0);求样本协方差矩阵;对协方差矩阵进行特征值分解,将特征值从大到小排列;取前d大的特征值及其对应的特征向量。
3. PCA是一种线性降维的方法,有一定的局限性。 我们可以通过核映射对PCA进行扩展得到核主成分分析,也可以通过流行映射的降维方法,比如等距映射、局部先行嵌入、拉普拉斯特征映射等,对一些PCA效果不好的复杂数据集进行非线性降维操作。

问题2:PCA最小平方误差理论

PCA最小平方误差理论和最小重构代价 做表达的含义类似,因为平方误差越小,重构代价越小。
1.从线性回归的问题出发,最小平方误差理论其实是为了求解一个线性函数使得对应直线能够更好地你和样本点集合。从这个角度定义PCA的目标,那么问题就转化为了一个回归问题。 最小平方误差理论,实际上是要找到一个d维超平面,使得数据点到这个超平面的距离平方和最小。
2.求解步骤与上种方法一样。

问题3:线性判别分析(LDA)

1.相比于PCA,LDA 可以作为一种 有监督的降维算法, 在PCA中算法没有考虑数据的标签(类别),只是把数据映射到一些方差比较大的方向上而已。
2.对于具有类别标签的数据,应当如何设计目标函数使得降维的过程中不损失类别信息?在这种目标下,应当如何进行求解?
1)LDA的思想:最大化类间距离和最小化类内距离。
2)将目标函数定义为类间距离和类内距离的比值,通过计算,需要最大化目标。
3)类间散度表示的是每个类别中心到全局中心的一种加权距离。我们最大化类间散度实际上优化的是每个类别的中心经过投影后离全局中心的投影足够远。
3.FisherLDA相比于PCA更善于对有类别信息的数据进行降维处理,但他对数据的分布做了一些很强的假设, 例如,每个数据都是高斯分布、各个类的协方差相等。尽管这些假设在实际中并不一定完全满足,但LDA被证明是非常有效的一种降维方法。主要是因为线性模型对于噪声的鲁棒性比较好,但由于模型简单,表达能力有一定的局限性,我们可以引入核函数扩展LDA方法以处理分布较为复杂的数据。

问题4:LDA和PCA的区别分析

1. 首先从目标出发,PCA选择的是投影后数据方差最大的方向。 由于它是无监督的,因此PCA假设方差越大,信息量越多,用主成分来表示原始数据可以去除冗余维度,达到降维。而LDA选择的是投影后类内方差小、类间方差大的方向。其用到了类别标签信息,为了找到数据中具有判别性的维度,使得原始数据在这些方向上的投影后,不同类别尽可能区分开。
2. 在语音识别中,我们想从一段音频中提取出人的语音信号,这时可以使用PCA先进行降维,过滤掉一些固定频率(方差较小)的背景噪声。但如果我们需求是从这段音频中区分出声音属于哪个人,那么我们应该使用LDA对数据进行降维,使每个人的语音信号具有区分性。
3. 基于PCA的人脸识别方法也称为特征脸方法,该方法将人脸图像按行展开形成一个高维向量,对多个人脸特征的协方差矩阵做特征值分解,其中较大特征值对应的特征向量具有与人脸相似的形状,故称为特征脸。然而由于其利用PCA进行降维,一般情况下保留的是最佳描述特征(主成分),而非分类特征。如果我们想要达到更好的人脸识别效果,应该用LDA方法对数据集进行降维,使得不同人脸在投影后的特征具有一定区分性。
4. 从应用角度出发的一个基本原则:对无监督任务使用PCA进行降维,对有监督任务应用LDA(这两种方法都属于线性降维方法,对于非线性数据,可以通过核映射等方法对二者进行扩展以达到更好的降维效果)。

你可能感兴趣的:(机器学习面试知识点系列,算法,机器学习,人工智能)