百面机器学习|第四章降维知识点

前言

如果你能找到这里,真是我的幸运~这里是蓝白绛的学习笔记,本集合主要针对《百面机器学习——算法工程师带你去面试》这本书。主要记录我认为重要的知识点,希望对大家有帮助。

第四章 降维

引导语

常见的降维方法有:主成分分析、线性判别分析、等距映射、局部线性嵌入、拉普拉斯特征映射、局部保留投影灯。本章主要讲主成分分析和线性判别分析。

1、PCA最大方差理论

  1. PCA(Principal Components Analysis,主成分分析)的基本思想:在信号处理领域,我们认为信号具有较大方差,噪声具有较小方差,信号与噪声之比称为信噪比。信噪比越大意味着数据质量越好。
    百面机器学习|第四章降维知识点_第1张图片
    4-1 PCA降维目标

如上图黄线所处的轴上(主成分所在的轴,主轴),数据分布得更为分散,意味着数据在这个方向上方差更大,是我们想要的轴。PCA的目标是最大化投影方差,也就是让数据在主轴上投影的方差最大。(其实还可以从其他思路分析,如从最小回归误差角度得到新的目标函数,但最终和最大化投影方差是等价的。)

  1. PCA求解方法:(关键步骤是求协方差矩阵的特征值)
  • 对样本数据进行中心化处理(,为均值)。
  • 求样本协方差矩阵。
  • 对协方差矩阵进行特征分解,将特征值从大到小排列。
  • 取特征值前大对应的特征向量,通过以下映射将维样本映射到维。(原被利用次,新的的第维就是在第个主成分方向上的投影)
    定义降维后的信息占比为(特征值平方和之比):
  1. PCA扩展知识:PCA是一种线性降维方法,虽然经典但是又一定局限性,通过核映射对PCA进行扩展可以得到核主成分分析(KPCA),也可以通过流形映射的降维方法,比如等距映射、局部线性嵌入、拉普拉斯特征映射等,对一些PCA效果不好的复杂数据集进行非线性降维操作。

2、PCA最小平方误差理论

  1. 从回归的角度定义PCA的目标并求解:上一节求解得到一条直线使得样本点投影到该直线上的方差最大,从求解直线的思路出发,可以将问题转化为一个回归问题,最小化所有点到直线的距离平方之和。


    百面机器学习|第四章降维知识点_第2张图片
    4-2 PCA最小化平方误差思路

    经过推导之后,发现从最小平方误差的角度与最大方差角度殊途同归,从不同的目标函数出发,都得到了相同的求解办法。

3、线性判别分析

  1. 线性判别分析(Linear Discriminant Analysis,LDA)是一种有监督学习算法(PCA是无监督的),PCA没有考虑数据的标签,只是把原数据映射到一些方差比较大的方向上而已,如下图,如果用PCA降维,则会让数据变的难以区分。


    4-3 PCA降维效果差.jpg
  2. 线性判别分析的中心思想:最大化类间距离最小化类内距离。如下图,如果只采用最大化两类投影中心距离的准则,则会得到左图(a)的结果,这样两类样本有一定的重叠,效果不好。所以在此基础上还要加上最小化类内距离,如右图(b)。

    百面机器学习|第四章降维知识点_第3张图片
    4-3 LDA投影最大化目标.jpg

  3. 我们最大化的目标函数定义为类间距离和类内距离的比值。经过公式推导,我们得到投影方向是最大的特征值对应的特征向量。其中是类内散度矩阵,;为类间散度矩阵。我们假设标签分两类,后面第四节会讲多标签的情况。所以这里两类的情况我们只需要求样本的均值类内方差就可以马上得出最佳投影方向。

  4. LDA相比PCA更善于对有类别信息的数据进行降维处理,但它对数据的分布做了一些很强的假设,例如:每个类数据都是高斯分布、各个类的协方差相等。尽管这些假设在实际中并不一定满足,但它依然是一种非常有效的降维方法。

  5. LDA是一个线性模型,它对噪声的鲁棒性较好,但由于模型简单,表达能力有一定局限性,可以通过引入核函数扩展LDA方法以处理分布较为复杂的数据。

4、线性判别分析与主成分分析

  1. LDA如何扩展到高维:前面定义的类内散度矩阵在类别增加到时仍然满足定义;为类间散度矩阵只使用类别数为2的情况,假如增加到3类,我们取一个三个类的中心点的平均,用表示三个中心的均值,也是全部样本的中心。
    百面机器学习|第四章降维知识点_第4张图片
    4-4 LDA多标签情况.jpg

    定义一个新的矩阵来表示全局整体的散度,称为全局散度矩阵,则可以表示为,即可像标签为两类的情况一样,通过求解矩阵的特征值得到最佳投影方向。
  2. 高维LDA求解方法为:
  • 计算数据集中每个样本的均值向量,和总体均值向量。
  • 计算类内散度矩阵,全局散度矩阵,并得到类间散度矩阵。
  • 对矩阵进行特征值分解,将特征值从大到小排列。
  • 取特征值前大的对应特征向量,与PCA一样,通过下列映射将维样本映射到维。
  1. PCA和LDA在应用上的不同的举例如下:
  • 语音识别领域中,从一段音频中提取出人的语音信号,可以用PCA降维,过滤掉一些固定频率的背景噪声。但是如果我们的需求是从这段音频中区分出声音属于哪个人,则应该用LDA降维,使每个人的语音信号具有区分性。
  • 人脸识别领域,基于PCA的人脸识别方法也成为特征脸(Eigenface),能保留最佳描述特征。如果想要达到更好的人脸识别效果,应该用LDA方法对数据集进行降维,使得不同人脸在投影后的特征具有一定区分性。
  1. PCA和LDA都是线性降维方法,对于非线性数据,可以通过核映射方法对二者进行扩展得到更好的降维效果。

小节

这节相比前几章来说,公式推导较多,但是我没有写到这里来,因为太懒。公式推导基本是在讲为什么我们要找的最佳投影方向是的特征值。这节学习了两种降维的方法,还是那句话,非常易懂。

结尾

如果您发现我的文章有任何错误,或对我的文章有什么好的建议,请联系我!如果您喜欢我的文章,请点喜欢~*我是蓝白绛,感谢你的阅读!

你可能感兴趣的:(百面机器学习|第四章降维知识点)