算法原理

【概述】LDA系列算法概述

作者 : 老饼 发表日期 : 2023-01-12 18:39:42 更新日期 : 2023-01-15 08:37:04
本站原创文章,转载请说明来自《老饼讲解-机器学习》www.bbbdata.com


LDA算法是机器学习中常用的基础算法,可用于降维也可用于类别判别

本文是学习LDA系列算法前的简介与导读



    LDA算法学前简介    


本节介绍LDA系列法算(包括QDA)的作用与构成,并给出学习路线建议


    LDA线性判别分析简介  


LDA全称为线性判别分析:Linear Discriminant Analysis
LDA的用途
它的用途一般有以下两个
一是用于类别判别,预测样本所属类别                
二是在保留"区别类别的信息"下,对变量进行降维

LDA的算法构成
LDA的算法包括两步
第一步是将数据根据类别信息将数据进行转换                              
第二步是将转换后的数据应用到线性判别函数进行类别判别          
当用于降维时,主要是使用了第一步的数据转换
当需要进行类别判别时,则需要第一、二步一起使用
备注:数据的转换除了降维的作用,同时也让数据适用于判别函数的要求

不同LDA算法的区别
LDA算法并不是唯一的,
区别主要在于数据转换部分
常见的有三种思路,
第一种纯粹基于矩阵旋转思想                               
第二种是基于Fisher的瑞利商最大化思想              
第三种是基于空间最佳逼近,也即最小误差          
对于判别函数,统一使用的是基于贝叶斯原理推导出来的线性判别函数



    关于QDA    


QDA全称为二次判别分析:Quadratic Discriminant Analysis
QDA与LDA类似,先将数据进行处理,再套用到判别函数中进行类别判别,
备注:QDA只用于类别判别,并无降维的效果

关于判别函数
QDA与LDA的判别函数都是由贝叶斯原理推导而得,
不同的是,QDA使用的是二次判别函数,而LDA使用的是线性判别函数
LDA只是加以更严的假设条件,使其退化成一次函数

关于数据处理
QDA的数据处理只是进行简单的PCA处理,目的是使其协方差矩阵满秩
且QDA每个类别的数据处理是独立的,即每个类别使用各自的PCA转换



    学习顺序建议   


以下学习顺序按实用程度、知识依赖进行建议
  
先理解基于贝叶斯原理推导而得的一次、二次判别函数
然后再按以下顺序学习各个算法
👉1.学习基于矩阵旋转思想的LDA算法                     
👉2.学习QDA算法                                                  
👉3.学习基于Fisher的瑞利商最大化思想的LDA算法
PASS:学习LDA前,最好先学习PCA,在PCA的基础上,再进行学习更易理解




    相关参考文献    


【1】sklearn: https://scikit-learn.org/stable/modules/lda_qda.html#lda 
【2】The Elements of Statistical Learning, Hastie T., Tibshirani R., Friedman J., Section 4.3, p.106-119, 2008
【3】R. O. Duda, P. E. Hart, D. G. Stork. Pattern Classification (Second Edition), section 2.6.2.


联系老饼