文章目录

  • 一、Linear Discriminant Analysis(LDA)
    • 1. 贝叶斯定理
    • 2. LDA (p = 1)
    • 3. LDA(p > 1)
    • 4. 结果衡量——混淆矩阵、ROC、AUC
  • 二、LDA, QDA & Naive Bayes
    • 1. QDA
    • 2. Naive Bayes 朴素贝叶斯
    • 3、总结与比较
      • 假设
      • 适用条件

通俗来说,Discriminant Analysis就是通过分别对每个分类中的X的分布进行建模,再通过贝叶斯定理得到Pr(Y∣X)Pr(Y|X)Pr(Y∣X)。

当我们假设每个分类服从高斯分布(正态分布)时,得到的就是LDA(Linear Discriminate Analysis)或QDA(Quadratic Discriminate Analysis)

一、Linear Discriminant Analysis(LDA)

1. 贝叶斯定理

贝叶斯定理我们在高中就有过接触,其公式如下:

将上面的公式进行简单的变换得到下式:

fk(x)=Pr(X=x∣y=k)f_k(x)=Pr(X=x|y=k)fk​(x)=Pr(X=x∣y=k)为在结果发生的条件下,原因为X的概率;
πk=Pr(Y=k)\pi_k=Pr(Y=k)πk​=Pr(Y=k)为结果为k的概率。

由于对于所有x,fk(x)=Pr(Y=k∣X=x)f_k(x)=Pr(Y=k|X=x)fk​(x)=Pr(Y=k∣X=x)的分母都一致,所以我们可以只比较分子πkfk(x)\pi_kf_k(x)πk​fk​(x)的大小来进行分类:

上述分别是k=0和k=1的概率分布情况,当π0f0(x)\pi_0f_0(x)π0​f0​(x) 和π1f1(x)\pi_1f_1(x)π1​f1​(x) 相等时即为分类边界;
从右图我们可以看出当正态分布的标准差σ\sigmaσ不同时,分类边界会进行一定程度偏移,不会正好落在中间(为后文的QDA打下基础)

2. LDA (p = 1)

对于LDA,我们假设:

  • 每个分类X服从高斯分布,即X~N(μk\mu_kμk​,σk2\sigma_k^2σk2​)
  • 所有的σk\sigma_kσk​相等

高斯分布的密度函数如下:

我们将密度函数代入到贝叶斯公式中,可得:

接下来,我们对P进行一些操作以简化整个公式:

  • 取对数
  • 删去所有与k无关的项(因为此时σ\sigmaσ为常数,所以也可删去)

具体推导过程如下:

最终我们可以得到下式,此为我们希望极大化的目标,即优化条件概率:

此时,我们可以看到此时δk(x)\delta_k(x)δk​(x)为xxx的线性方程

接下来,因为我们不知道数据的π\piπ, μ\muμ, σ\sigmaσ具体值,我们需要通过以下的公式来进行预测:

3. LDA(p > 1)

上面我们只讨论了参量p=1的情况,接下来将其拓展到p>1的情况:

那么对于多参量的情况,我们该如何求解决策边界呢?
例如,当p=2,K=3p=2, K=3p=2,K=3时,我们可以得到如下的三个方程:

接下来,使δk(x)\delta_k(x)δk​(x)分别相等,即可求出决策边界(decision boundary):

从δ\deltaδ到Pr
在我们求出了δk(x)\delta_k(x)δk​(x)后,我们就可以转而求出预测的分类概率:

4. 结果衡量——混淆矩阵、ROC、AUC


对于上图的信用卡违约案例数据,我们首先用混淆矩阵来衡量训练结果:
整体来看,我们预测错误的概率为(23+252)/10000 = 2.75%,看起来很低,预测效果很好。但实际并非如此,为什么?

因为我们的样本并不均衡,即实际违约的样本量太小了。即使我们预测所有用户都不会违约,我们的预测错误率也只有3.33%。

于是我们提出了新的衡量标准:


这里我们主要关注False positive rate 和 False negative rate:

  • False positive rate(第一类错误):负样本当中被错误的分为正样本的比例
  • false negative rate(第二类错误):正样本当中被错误的分到负样本当中的比例

在本案例中,第二类错误即表示将违约用户判定为不会违约的用户的概率。业务角度来讲,此类错误对公司造成的影响更大,而我们案例中的false nagetive rate高达75.7%。

在上述案例中,我们设定的判断阈值为0.5,即当Pr^(Default=Yes∣Balance,Student)>=0.5\hat{Pr}(Default=Yes|Balance,Student)>=0.5Pr^(Default=Yes∣Balance,Student)>=0.5时,就将其分为违约的分类。而最终得到的结果非常不理想,所以我们需要改变阈值来调节判断违约的可能性

接下来的图就体现了不同的阈值对于错误率的影响:

如图,为了降低False Negative Rate, 我们需要将阈值降低至0.1以下。

\ \   
那有没有什么方法可以不用选择阈值,也可以衡量模型效果的呢?
有,ROC曲线(The Receiver Operating Characteristics)


横纵坐标如图所示,true postive rate和false positive rate是由不同的threshold取值得到的。threshold的不同取值是每个点被分到正样本概率的集合,然后描点得到对应的曲线。

在曲线右下方的面积被称为AUC,取值范围在(0,1)之间,直观的来说AUC越大,正样本就有越大的可能比负样本得分高。

同样我们也可以利用这个TP和FP之间的关系,由此得到你的模型需要的tradeoff的条件。

二、LDA, QDA & Naive Bayes

1. QDA

我们对LDA的假设包括了每个分类服从高斯分布且方差矩阵相同,而QDA解除了LDA对于方差的限制,增加了模型的复杂度。
如图,因为方差不同,所以之前LDA推导中的关于方差的二次项不能被删除,故得到的决策边界为一个关于x的二次方程


如图,图中的绿线,紫色虚线和黑色虚线分别代表QDA,Bayes(理想分类)和LDA所得到的决策边界。

对于左图,两个分类的方差相等,所以LDA的表现更好;而对于右图,两个分类的方差不同,所以QDA的表现更好。

2. Naive Bayes 朴素贝叶斯

对于朴素贝叶斯,我们假设其所有特征不相关,即有:

贝叶斯最主要的适用范围是特征量p很大,而且n比较少的情况下。LDA和QDA在这种情况都无法达到很好的效果。

3、总结与比较

假设

适用条件

  • 逻辑回归:常被用于K=2时的分类问题
  • LDA/QDA: n较小,分类的数据边界明显,各个参量的X取值符合正态分布,K>2
  • Naive Bayes: p非常大

参考:
ISLR(4)LDA、QDA与朴素贝叶斯分类

LDA、QDA和朴素贝叶斯相关推荐

  1. python朴素贝叶斯调参_邹博机器学习升级版II附讲义、参考书与源码下载(数学 xgboost lda hmm svm)...

    课程介绍 本课程特点是从数学层面推导最经典的机器学习算法,以及每种算法的示例和代码实现(Python).如何做算法的参数调试.以实际应用案例分析各种算法的选择等. 1.每个算法模块按照"原理 ...

  2. 新闻分类任务(LDA模型,多项分布朴素贝叶斯)

    新闻分类任务 1.利用gensim建立LDA模型将文本进行主题分类 2.利用多项分布朴素贝叶斯将文本进行分类 数据来源:http://www.sogou.com/labs/resource/list_ ...

  3. ML之NB:基于news新闻文本数据集利用纯统计法、kNN、朴素贝叶斯(高斯/多元伯努利/多项式)、线性判别分析LDA、感知器等算法实现文本分类预测

    ML之NB:基于news新闻文本数据集利用纯统计法.kNN.朴素贝叶斯(高斯/多元伯努利/多项式).线性判别分析LDA.感知器等算法实现文本分类预测 目录 基于news新闻文本数据集利用纯统计法.kN ...

  4. 脑电信号(EEG)处理中的机器学习方法总结——回归模型,SVM、K近邻、人工神经网络、朴素贝叶斯、决策树和随机森林、集成学习、模糊逻辑、LDA线性判别分析、K-means聚类、强化学习、迁移学习

    本文归纳总结了机器学习在脑电分析中的应用,并详细介绍回归模型,SVM.K近邻.人工神经网络.朴素贝叶斯.决策树和随机森林.集成学习.模糊逻辑.LDA线性判别分析.K-means聚类.强化学习.迁移学习 ...

  5. EM算法--应用到三个模型: 高斯混合模型 ,混合朴素贝叶斯模型,因子分析模型...

    主要是对Ng教授的machinelearning视频学习和参考jerryLead讲义整理(特别鸣谢~): 由"判别模型.生成模型与朴素贝叶斯方法 "一节得知: 判别模型求的是条件概 ...

  6. 使用说明 vector_Paddlepaddle学习|Ubuntu环境使用 Mahout 进行朴素贝叶斯模型的训练和测试...

    朴素贝叶斯算法是基于贝叶斯定理与特征条件独立假设的分类方法.分类是 将一个未知样本分到几个预先已知类的过程.解决数据分类问题有两步:第一步, 建立一个模型,描述预先的数据集或概念集,通过分析由属性描述 ...

  7. python实现排列组合公式算法_朴素贝叶斯算法的Python实现

    朴素贝叶斯分类算法被广泛应用于文本分类场景中.包含垃圾邮件.互联网新闻等分类任务,属于有监督学习算法.它独立考量每一维度特征被分类的条件概率,然后综合这些概率对其所在的特征向量做出分类预测,即&quo ...

  8. 李航《统计学习方法》-----朴素贝叶斯

    朴素贝叶斯法naïve Bayes,在naïve的中间字母上其实有两个点,查了一下才发现是法语中的分音符,在发音过程中发挥作用.但这不是重要的,重要的是在这种学习方法中贝叶斯承担了什么样的角色. 首先 ...

  9. 判别模型、生成模型与朴素贝叶斯方法

    1.判别模型与生成模型 上篇报告中提到的回归模型是判别模型,也就是根据特征值来求结果的概率.形式化表示为,在参数确定的情况下,求解条件概率.通俗的解释为在给定特征后预测结果出现的概率. 比如说要确定一 ...

最新文章

  1. 知乎高赞:OracleJDK和OpenJDK有什么区别?网友:不愧是大神的回答~
  2. 在线qmc0转换mp3工具_如何将M4A格式的音频转换为MP3格式?只需一步搞定
  3. python 结构体数组_将结构数组从Python传递给C
  4. 显示一个屏幕,隐藏其他屏幕
  5. Oracle发布Java 8
  6. idea中event log_【JavaScript 教程】事件——Event 对象
  7. 第7章 比高斯更快的计算
  8. SQL Server内存泄漏
  9. Spring MVC + freemarker实现半自动静态化
  10. ZendFramework-2.4 源代码 - 整体架构(类图)
  11. 说下我自己对空号检测的理解跟心得
  12. 金蝶K3供应链-采购系统选项功能描述
  13. CG100---13年金牛星 调表 型号HA48
  14. STM32系列 STM32F4xx SPI Flash-读写操作
  15. 如何使用C#调用雅虎REST服务
  16. 计算机和hdmi无法正常显示,Win7系统下电脑HDMI连接显示器字体显示虚不清楚如何解决...
  17. 十分钟看懂什么是VoLTE
  18. 复现“Wideband Class-F1 Power Amplifier with Dual-Quad-Mode Bandpass Response” IEEE 2020 上篇
  19. QI认证的测试内容有哪些?
  20. Vue跨域访问后端接口问题解决

热门文章

  1. 二叉树探究之非叶子结点和叶子结点对半分且最多差一个
  2. 《MATLAB图像处理实例详解》:CH_7(图像分割技术)
  3. c语言翻转棋ai算法,黑白棋游戏(也叫翻转棋)(AI 版)
  4. Revit二次开发——图元(元素)编辑
  5. [含论文+源码等]基于HTML5,DIV CSS实现的宠物狗个性化服务网站前端(静态网页毕业设计)web前端毕设
  6. 解决office因存在32位,无法安装64位的问题
  7. 百度笔经面经(Java)
  8. PL/SQL程序基础1
  9. 电脑无法连接mysql_本地电脑无法连接到MySQL
  10. 计算机开机f8键,开机F8键“高级启动选项”的秘密