【机器学习之LDA(线性判别分析)PCA(主成分分析)和SVD(奇异值分解)】

文章目录

  • 前言
  • 一、LDA是什么?
  • 二、PCA是什么?
  • 三、SVD是什么?
  • 总结


前言

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习**LDA(线性判别分析)PCA(主成分分析)和SVD(奇异值分解)**的基础内容。


【机器学习之LDA(线性判别分析)PCA(主成分分析)和SVD(奇异值分解)】_第1张图片

一、LDA是什么?

首先LDA是一种经典的降维方法。它和PCA(不考虑样本类别输出)的无监督降维技术不同,LDA是一种有监督的降维技术,数据集的每个样本有类别输出。它进行分类的思想其实就是:①在多维空间中,数据处理分类问题会较为复杂,LDA算法将多维空间中的数据投影到一条直线上,将多维的数据转化成1维数据进行处理;②对训练数据来说,设法将多维的数据投影到一条直线上,同类数据的投影点尽可能接近,异类数据点尽可能远离;③对数据进行分类的时侯,将其投影到同样的这条直线上,再根据投影点的位置来确定样本的类别。
一句话概括一下,投影后类内方差最小,类间方差最大。如果原始数据是1维的,分类后的投影是一条直线;要是多维的,则投影后的分类面是一低维的超平面。
【机器学习之LDA(线性判别分析)PCA(主成分分析)和SVD(奇异值分解)】_第2张图片

二、PCA是什么?

其次PCA的话就是将高维的数据通过线性变换投影到低维空间上去。投影思想的话就是,找出最能够代表原始数据的投影方法。被PCA降掉的那些维度只能是那些噪声或是冗余的数据。去冗余就是,去除可以被其他向量代表的线性相关向量,这部分信息量是多余的。去噪声就是,去除掉较小的特征值所对应的特征向量,特征值的大小反映了变换后在特征向量方向上变换的幅度,幅度越大,说明这个方向上的元素差异也越大,然后就要保留。我们需要对角化矩阵,寻找极大的线性无关组,去保留较大的特征值,去除较小特征值,组成一个投影矩阵,对原始样本矩阵进行投影,得到降维后的新样本矩阵。完成PCA降维的关键是——协方差矩阵。协方差矩阵,能同时表现不同维度间的相关性以及各个维度上的方差。协方差矩阵度量的是维度与维度之间的关系,而非是样本与样本之间的关系。为什么要对角化呢?
因为对角化之后非对角上的元素都是0,然后就达到了去噪声的目的。对角化后的协方差矩阵,对角线上较小的新方差对应的就是那些该去掉的维度。所以我们只取那些含有较大能量(特征值)的维度,其余的就丢掉,也就是去冗余。
PCA其实最主要的就是能解决训练数据中存在数据特征过多或特征累赘的问题。
【机器学习之LDA(线性判别分析)PCA(主成分分析)和SVD(奇异值分解)】_第3张图片对这两种方法进行一个比较,
为什么要降维呢?首先①可以减少预测变量的个数;②能够确保这些变量是相互独立的;③可以提供一个框架来解释结果。相关的特征,特别是重要特征更能在数据中明确的显示出来;如果只有两维或者三维的话,更便于可视化展示;④数据在低维下更容易处理、更容易使用;⑤去除数据噪声;⑥降低算法运算开销。
【机器学习之LDA(线性判别分析)PCA(主成分分析)和SVD(奇异值分解)】_第4张图片

三、SVD是什么?

其实PCA的实现一般有两种,一种是用特征值分解,一种是用奇异值分解(SVD)。
它的优点吧,就是简化数据,去除噪声,提高算法的结果。缺点就是数据的转换可能难以理解。它所适用的数据类型是数值型的数据。我们通过SVD对数据的处理,我们可以使用小得多的数据集来表示原始数据集,这样做实际上是去除了噪声和冗余信息,借此达到了优化数据、提高结果的目的。

其实最早的SVD应用之一就是信息检索,我们称利用SVD的方法为隐性语义检索(LSI)或隐形语义分析(LSA)。一句话概括就是大矩阵≈几个小矩阵相乘,从数学角度上来说一个大矩阵是N×M的,可以变成(F×N).T(转置)和F×M的两个小矩阵相乘。


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了LDA,PCA,SVD的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

你可能感兴趣的:(机器学习,python,机器学习)