机器学习:贝叶斯分类器详解(一)-贝叶斯决策理论与朴素贝叶斯

简介: 机器学习:贝叶斯分类器详解(一)-贝叶斯决策理论与朴素贝叶斯

前言


本人大数据专业初入大三刚刚接触机器学习这一课程,最近在学习这本书《机器学习实战》。本书第四章的内容为基于概率论的分类方法,在经过几天的学习之中,发现要了解贝叶斯算法以及深层度了解其原理要比之前KNN算法和决策树算法要难一点,所以我没有那么着急更新下篇。先把要细致了解贝叶斯的算法的前提理论弄明白才能更好掌握使用贝叶斯分类器。因为本人之前学过概率论,但我这篇文章将化整为零,详细了解贝叶斯算法。


当然初入一些算法和机器学习的一些库还不是很熟练掌握,有待提升自己的编程结合能力。在此领域本人有诸多不明确疑问,可能文章会有些许错误,望大家在评论区指正,本篇文章错误将会不断更正维护。



一、条件概率


就是事件A在另外一个事件B已经发生条件下的发生概率。条件概率表示为P(A|B),读作“在B条件下A的概率”。

gif.gif是全集,A,B是其中的事件(子集),P表示事件发生的概率,则

20201102204208978.png

联合概率


表示两个事件共同发生的概率。A与B的联合概率表示为 P(AB) 或者P(A,B),或者P(A∩B)。


条件概率可以这么理解为:


P(AB)/P(B)的意思:是事件B发生的条件之下,同时也共同发生了A事件和B事件的概率。很明显B事件是前提之下已经发生过的,在此基础下发生A事件之后必然发生了B事件,即为(A|B)。


事件A和事件B都为同一试验下所得到的不同数据集合,一般来说事件A和事件B都是有交集的。若没有交集则它们的条件概率为0.给出下图更容易理解:


20201102205900794.png

二、乘法定律


设P(A)>0,则有P(AB)=P(B|A)P(A)=P(A|B)P(B)

设A、B、C为事件,且P(AB)>0,则有


20201102211118490.png

P(AB)不容易直接求得,通常用P(A|B)x P(B)或P(B|A)x P(A)间接求得。

根据乘法定律我们可推广:

设A1、A2、....An为n个事件,n>=2,且P(A1A2A3...An-1)>0,则有:

20201102211406790.png



三、全概率公式


内容:如果事件B1、B2、B3…Bn 构成一个完备事件组,即它们两两互不相容,其和为全集;并且P(Bi)大于0,则对任一事件A有


P(A)=P(A|B1)*P(B1) + P(A|B2)*P(B2) + ... + P(A|Bn)*P(Bn).


(或者:p(A)=P(AB1)+P(AB2)+...+P(ABn)).(其中A与Bn的关系为交)


下图可为P(A)=P(A|B1)*P(B1)+P(A|B2)*P(B2)+P(A|B3)*P(B3)



20201104145924893.png


(中间蓝色部分为事件A)

全概率公式的主要用途在于它可以将一个复杂事件的概率计算问题,分解为若千个简单事件的概率计算问题,最后应用概率的可加性求出最终结果。由此我们便可开展对贝叶斯公式的计算。


四、贝叶斯公式


按照乘法法则:P(A∩B)=P(A)*P(B|A)=P(B)*P(A|B),可以立刻导出。如上公式也可变形为:P(B|A)=P(A|B)*P(B)/P(A)。


由此定义:设Λ为实验E的一个样本空间,A为E的事件,B1,B2....Bn为Λ的一个划分,且P(A)>0,P(Bi)>0(i=1,2...N),则


gif.gif


其中我们可以发现20201104152408809.png就是全概率公式中求的P(A),所以我们又可推得:gif.gif (i=1,2....n)



得到这一步就可以做很多应用和预测了,我们挑选一道经典的例题:

20201104184020560.png

(2).在仓库中随机地取一只元件,若已知取到的是合格品,为分析此合格品出自何厂,求此合格品出由两家工厂生产的概率分别是多少

这里就核对一下答案吧,

P(A)=0.868

P(B1|A)=0.39

P(B2|A)=0.61

不要用计算机自带的计算器写:


20201107181101735.png


我怎么说我一直算不对....


五、先验概率和后验概率


我们根据以往的数据或者经验得到关于一个事件发生的概率,这个概率叫做先验概率

在我们得到了先验概率之后,根据先验概率和现得的数据推算关于这件事发生的概率,这个概率为后验概率



对于贝叶斯分类:


设X是类标号未知的数据样本。设H为某种假定,如数据样本X属于某特定的类C。对于分类问题,我们希望确定P(H|X),即给定观测数据样本X,假定H成立的概率。


P(H|X)=P(X|H)P(H)/P(X)


P(H)是先验概率,或者称H的先验概率。P(X|H)代表假设H成立的情况下,观察到X的概率。


P(H|X)是后验概率,或称条件X下的H的后验概率。


先验概率泛指一类事物发生的概率,通常根据以往的数据资料或者主观判断所确定的概率。

后验概率涉及的是某个特定条件下一个具体事物发生的概率。


六、朴素贝叶斯分类


朴素贝叶斯分类器是一系列以假设特征之间强(朴素)独立下运用贝叶斯定理为基础的简单概率分类器。该分类器模型会给问题实例分配用特征值表示的类标签,类标签取自有限集合。它不是训练这种分类器的单一算法,而是一系列基于相同原理的算法:所有朴素贝叶斯分类器都假定样本每个特征与其他特征都不相关。


工作过程:


每个数据样本用一个n维特征向量X={x1,x2...,xn}表示,分别描述对n个属性A1,A2...An样本的n个度量。

假定有m个类C1,C2,..,Cm,给定一个未知的数据样本X(即没有类标号),分类器将预测X属于具有最高后验概率(条件X下)的类)。也就是说,朴素贝叶斯分类将未知的样本分配给类Ci(1<=i<=m)当且仅当gif.gif对任意的j=1,2,...,m,j不等于i。这样,最大化gif.gif。其gif.gif最大的类Ci称为最大后验假定。根据贝叶斯定理gif.gif (i=1,2....n)


由于P(X)对于所有类为常数,只需要gif.gif最大即可。


如果Ci类的先验概率未知,则通常假定这些类是等概率的,即P(C1)=P(C2)=....=P(Cm),因此问题就转换为对P(X|Ci)的最大化(P(X|Ci))常被称为给定Ci时数据X的似然度,而使P(X|Ci)最大的假设Ci称为最大似然假设。否则,需要最大化P(X|Ci)*P(Ci)。注意,类的先验概率可以用P(Ci)=si/s计算,其中si是类Ci中的训练样本数,而s是训练样本总数。

给定具有许多属性的数据集,计算P(X|C1)的开销可能非常大。为降低计算P(X|C1)的开销,可以做类条件独立的偶素假定。


P(AB)=P(A)P(B)


给定样本的类标号,假定属性值互相条件独立,即在属性间,不存在依赖关系。


20201107201831161.png

对未知样本X分类,也就是对每个类C1,计算P(X|C1)*P(C1)。

样本X被指派到C1,当且仅当P(C1|X)>P(C1|X),1<=j<=m,j不等于i。

20201107202300952.png

20201107202310887.png


最后根据一个实例来推断一下吧~


总结


这篇文章很多参照了重庆大学余俊良老师的讲解,这些基本概念还是很好理解的,下一篇将开始模式算法和补充了。

目录
相关文章
|
3月前
|
机器学习/深度学习 存储 算法
决策树和随机森林在机器学习中的应用
在机器学习领域,决策树(Decision Tree)和随机森林(Random Forest)是两种非常流行且强大的分类和回归算法。它们通过模拟人类决策过程,将复杂的数据集分割成易于理解和处理的子集,从而实现对新数据的准确预测。
119 10
|
21天前
|
机器学习/深度学习 数据采集
机器学习入门——使用Scikit-Learn构建分类器
机器学习入门——使用Scikit-Learn构建分类器
|
21天前
|
机器学习/深度学习 数据采集 算法
机器学习在医疗诊断中的前沿应用,包括神经网络、决策树和支持向量机等方法,及其在医学影像、疾病预测和基因数据分析中的具体应用
医疗诊断是医学的核心,其准确性和效率至关重要。本文探讨了机器学习在医疗诊断中的前沿应用,包括神经网络、决策树和支持向量机等方法,及其在医学影像、疾病预测和基因数据分析中的具体应用。文章还讨论了Python在构建机器学习模型中的作用,面临的挑战及应对策略,并展望了未来的发展趋势。
70 1
|
2月前
|
机器学习/深度学习
如何用贝叶斯方法来解决机器学习中的分类问题?
【10月更文挑战第5天】如何用贝叶斯方法来解决机器学习中的分类问题?
|
3月前
|
机器学习/深度学习 数据采集 监控
探索机器学习:从数据到决策
【9月更文挑战第18天】在这篇文章中,我们将一起踏上一段激动人心的旅程,穿越机器学习的世界。我们将探讨如何通过收集和处理数据,利用算法的力量来预测未来的趋势,并做出更加明智的决策。无论你是初学者还是有经验的开发者,这篇文章都将为你提供新的视角和思考方式。
|
3月前
|
机器学习/深度学习 数据采集 人工智能
使用Python实现简单的机器学习分类器
【8月更文挑战第37天】本文将引导读者了解如何利用Python编程语言构建一个简单的机器学习分类器。我们将从基础概念出发,通过代码示例逐步深入,探索数据预处理、模型选择、训练和评估过程。文章旨在为初学者提供一条清晰的学习路径,帮助他们理解并实现基本的机器学习任务。
|
3月前
|
机器学习/深度学习 算法 Python
从菜鸟到大师:一棵决策树如何引领你的Python机器学习之旅
【9月更文挑战第9天】在数据科学领域,机器学习如同璀璨明珠,吸引无数探索者。尤其对于新手而言,纷繁复杂的算法常让人感到迷茫。本文将以决策树为切入点,带您从Python机器学习的新手逐步成长为高手。决策树以其直观易懂的特点成为入门利器。通过构建决策树分类器并应用到鸢尾花数据集上,我们展示了其基本用法及效果。掌握决策树后,还需深入理解其工作原理,调整参数,并探索集成学习方法,最终将所学应用于实际问题解决中,不断提升技能。愿这棵智慧之树助您成为独当一面的大师。
50 3
|
3月前
|
机器学习/深度学习 算法 Python
决策树下的智慧果实:Python机器学习实战,轻松摘取数据洞察的果实
【9月更文挑战第7天】当我们身处数据海洋,如何提炼出有价值的洞察?决策树作为一种直观且强大的机器学习算法,宛如智慧之树,引领我们在繁复的数据中找到答案。通过Python的scikit-learn库,我们可以轻松实现决策树模型,对数据进行分类或回归分析。本教程将带领大家从零开始,通过实际案例掌握决策树的原理与应用,探索数据中的秘密。
52 1
|
4月前
|
机器学习/深度学习 人工智能 开发者
使用Python实现简单的机器学习分类器
【8月更文挑战第31天】在这篇文章中,我们将探索如何使用Python来创建一个简单的机器学习分类器。通过使用scikit-learn库,我们可以快速构建和训练模型,而无需深入了解复杂的数学原理。我们将从数据准备开始,逐步介绍如何选择合适的模型、训练模型以及评估模型的性能。最后,我们将展示如何将训练好的模型应用于新数据的预测。无论你是机器学习的初学者还是有一定经验的开发者,这篇文章都将为你提供一个实用的指南,帮助你入门并理解基本的机器学习概念。
|
4月前
|
机器学习/深度学习 算法 数据挖掘
【白话机器学习】算法理论+实战之决策树
【白话机器学习】算法理论+实战之决策树

热门文章

最新文章