AI内容目录:sheng的学习笔记-AI目录-CSDN博客
目录
基础数学
贝叶斯
什么是贝叶斯法则
通常,事件A在事件B(发生)的条件下的概率,与事件B在事件A的条件下的概率是不一样的;然而,这两者是有确定的关系,贝叶斯法则就是这种关系的陈述。
用来描述两个条件概率之间的关系,比如 P(A|B) 和 P(B|A)。按照乘法法则,可以立刻导出:P(A∩B) = P(A)*P(B|A)=P(B)*P(A|B)。如上公式也可变形为:P(A|B)=P(B|A)*P(A)/P(B)。
基础术语(先验概率,后验概率,条件概率)
在贝叶斯法则中,每个名词都有约定俗成的名称:
Pr(A)是A的先验概率或边缘概率。之所以称为"先验"是因为它不考虑任何B方面的因素。
Pr(A|B)是已知B发生后A的条件概率,也由于得自B的取值而被称作A的后验概率。
Pr(B|A)是已知A发生后B的条件概率,也由于得自A的取值而被称作B的后验概率。
Pr(B)是B的先验概率或边缘概率,也作标准化常量(normalized constant)。
贝叶斯法则示例
现分别有 A、B 两个容器,在容器 A 里分别有 7 个红球和 3 个白球,在容器 B 里有 1 个红球和 9 个白球,现已知从这两个容器里任意抽出了一个红球,问这个球来自容器 A 的概率是多少?
假设已经抽出红球为事件 B,选中容器 A 为事件 A,则有:P(B) = 8/20,P(A) = 1/2,P(B|A) = 7/10,按照公式,则有:P(A|B) = (7/10)*(1/2) / (8/20) = 0.875
极大似然估计
什么是极大似然估计
极大似然估计方法(Maximum Likelihood Estimate,MLE)也称为最大概似估计或最大似然估计,是求估计的一种方法,说的是已知某个随机样本满足某种概率分布,但是其中具体的参数不清楚,参数估计就是通过若干次试验,观察其结果,利用结果推出参数的大概值。极大似然估计是建立在这样的思想上:已知某个参数能使这个样本出现的概率最大,我们当然不会再去选择其他小概率的样本,所以干脆就把这个参数作为估计的真实值。
极大似然估计示例
极大似然解决步骤
- 写出似然函数;
- 对似然函数取对数,并整理;
- 求导数,令导数为 0,得到似然方程;
- 解似然方程,得到的参数。
贝叶斯决策论
贝叶斯决策论(Bayesian decision theory)是概率框架下实施决策的基本方法。对分类任务来说,在所有相关概率都已知的理想情形下,贝叶斯决策论考虑如何基于这些概率和误判损失来选择最优的类别标记。下面我们以多分类任务为例来解释其基本原理
贝叶斯基本逻辑
贝叶斯公式
决策论中将"期望损失"称为"风险"(risk)。
假设有N种可能的类别标记,即y={c1,c2,...,cN},λij是将一个真实标记为cj的样本误分类为ci所产生的损失。基于后验概率P(ci|x)可获得将样本x分类为ci所产生的期望损失(expected loss),即在样本x上的"条件风险"(conditional risk)
显然,对每个样本x,若h能最小化条件风险R(h(x)|x),则总体风险R(h)也将被最小化。这就产生了贝叶斯判定准则(Bayes decision rule):为最小化总体风险,只需在每个样本上选择那个能使条件风险R(c|x)最小的类别标记,即
此时,h*称为贝叶斯最优分类器(Bayes optimal classifier),与之对应的总体风险R(h*)称为贝叶斯风险(Bayes risk)。1-R(h*)反映了分类器所能达到的最好性能,即通过机器学习所能产生的模型精度的理论上限
目标是最小化分类错误率,则误判损失λij可写为
即对每个样本x,选择能使后验概率P(c|x)最大的类别标记
为便于讨论,我们假设所有属性均为离散型。对连续属性,可将概率质量函数P(·)换成概率密度函数P(·)。
类先验概率P(c)表达了样本空间中各类样本所占的比例,根据大数定律,当训练集包含充足的独立同分布样本时,P(c)可通过各类样本出现的频率来进行估计
对类条件概率P(x|c)来说,由于它涉及关于x所有属性的联合概率,直接根据样本出现的频率来估计将会遇到严重的困难。例如,假设样本的d个属性都是二值的,则样本空间将有2d种可能的取值,在现实应用中,这个值往往远大于训练样本数m,也就是说,很多样本取值在训练集中根本没有出现,直接使用频率来估计P(x|c)显然不可行,因为"未被观测到"与"出现概率为零"通常是不同的。
极大似然估计
连续分布下为概率密度函数P(x|c)。
估计类条件概率的一种常用策略是先假定其具有某种确定的概率分布形式,再基于训练样本对概率分布的参数进行估计。具体地,记关于类别c的类条件概率为P(x|c),假设P(x|c)具有确定的形式并且被参数向量θc唯一确定,则我们的任务就是利用训练集D估计参数θc,为明确起见,我们将P(x|c)记为P(x|θc)。
概率模型的训练过程就是参数估计(parameter estimation)过程,对于参数估计,统计学界的两个学派分别提供了不同的解决方案:
- 频率主义学派(Frequentist)认为参数虽然未知,但却是客观存在的固定值,因此,可通过优化似然函数等准则来确定参数值;
- 贝叶斯学派(Bayesian)则认为参数是未观察到的随机变量,其本身也可有分布,因此,可假定参数服从一个先验分布,然后基于观测到的数据来计算参数的后验分布。
本节介绍源自频率主义学派的极大似然估计(Maximum Likelihood Estimation,简称MLE),这是根据数据采样来估计概率分布参数的经典方法
需注意的是,这种参数化的方法虽能使类条件概率估计变得相对简单,但估计结果的准确性严重依赖于所假设的概率分布形式是否符合潜在的真实数据分布
朴素贝叶斯分类器
什么是朴素贝叶斯分类器
基于有限训练样本直接估计联合概率,在计算上将会遭遇组合爆炸问题,在数据上将会遭遇样本稀疏问题;属性数越多,问题越严重
基于贝叶斯公式(7.8)来估计后验概率P(c|x)的主要困难在于:类条件概率P(x|c)是所有属性上的联合概率,难以从有限的训练样本直接估计而得。为避开这个障碍,朴素贝叶斯分类器采用了"属性条件独立性假设"(attribute conditional independence assumption):对已知类别,假设所有属性相互独立。换言之,假设每个属性独立地对分类结果发生影响
朴素贝叶斯公式
朴素贝叶斯分类器的训练过程就是基于训练集D来估计类先验概率P(c),并为每个属性估计条件概率P(xi|c)
示例
然后,为每个属性估计条件概率P(xi|c):
计算结果是
拉普拉斯修正
若某个属性值在训练集中没有与某个类同时出现过,则直接基于式(7.17)进行概率估计,再根据式(7.15)进行判别将出现问题。例如,在使用西瓜数据集3.0训练朴素贝叶斯分类器时,对一个"敲声=清脆"的测试例,有
拉普拉斯修正实质上假设了属性值与类别均匀分布,这是在朴素贝叶斯学习过程中额外引入的关于数据的先验。
显然,拉普拉斯修正避免了因训练集样本不充分而导致概率估值为零的问题,并且在训练集变大时,修正过程所引入的先验(prior)的影响也会逐渐变得可忽略,使得估值渐趋向于实际概率值
半朴素贝叶斯分类器
什么是半朴素贝叶斯分类器
为了降低贝叶斯公式(7.8)中估计后验概率P(c|x)的困难,朴素贝叶斯分类器采用了属性条件独立性假设,但在现实任务中这个假设往往很难成立。于是,人们尝试对属性条件独立性假设进行一定程度的放松,由此产生了一类称为"半朴素贝叶斯分类器"(semi-[插图] Bayes classifiers)的学习方法
半朴素贝叶斯分类器的基本想法是适当考虑一部分属性间的相互依赖信息,从而既不需进行完全联合概率计算,又不至于彻底忽略了比较强的属性依赖关系。"独依赖估计"(One-Dependent Estimator,简称ODE)是半朴素贝叶斯分类器最常用的一种策略。顾名思议,所谓"独依赖"就是假设每个属性在类别之外最多仅依赖于一个其他属性,即
高阶依赖
既然将属性条件独立性假设放松为独依赖假设可能获得泛化性能的提升,那么,能否通过考虑属性间的高阶依赖来进一步提升泛化性能呢?也就是说,将式(7.23)中的属性pai替换为包含k个属性的集合pai,从而将ODE拓展为kDE。需注意的是,随着k的增加,准确估计概率P(xi|y,pai)所需的训练样本数量将以指数级增加。因此,若训练数据非常充分,泛化性能有可能提升;但在有限样本条件下,则又陷入估计高阶联合概率的泥沼
贝叶斯网
什么是贝叶斯网
贝叶斯网是一种经典的概率图模型
为了简化讨论,本节假定所有属性均为离散型。对于连续属性,条件概率表可推广为条件概率密度函数
贝叶斯网(Bayesian network)亦称"信念网"(belief network),它借助有向无环图(Directed Acyclic Graph,简称DAG)来刻画属性之间的依赖关系,并使用条件概率表(Conditional Probability Table,简称CPT)来描述属性的联合概率分布
贝叶斯网络由网络结构和条件概率表组成
Ø 网络结构是一个有向无环图
Ø 每个结点代表一个事件或者随机变量
Ø 结点的取值是完备互斥的
• 对已有信息要求低, 可以在信息不完全情况下推理
Ø 采用条件独立性假设
• 具有良好的逻辑性和可理解性
Ø 贝叶斯网络是白盒,神经元模型是黑盒
• 可以与专家知识深度融合,避免过学习
Ø 突出主要矛盾
• 贝叶斯网络学习
Ø 贝叶斯网络学习是指由先验的贝叶斯网络得到后验的贝叶斯网络的过程
Ø 贝叶斯网络学习的实质是用现有数据对先验知识的修正
Ø 贝叶斯网络可以持续迭代修正
Ø 上次学习得到的后验贝叶斯网络变成下一次学习的先验贝叶斯网络
Ø 结构学习:确定最合适的贝叶斯网络模型结构
Ø 参数学习:在给定结构下,确定贝叶斯网络模型的参数,即每个结点上的条件概率分布表(CPT表)。
示例
图15.1中的Party和Brain Tumor两个结点是原因结点,没有连线以它们作为终点。首先给出这两个结点的无条件概率,如表15.2所示
表15.2中的第二列是关于Party(参加晚会)的概率:参加晚会的概率是0.2,不参加晚会的概率是0.8。第三列是关于患脑瘤的概率:患脑瘤的概率是0.001,不患脑
瘤的概率是0.999。
下面还将给出几组条件概率,分别是PT已知的情况下HO的条件概率,如表15.3所示;HO已知的情况下SA的条件概率,如表15.4所示;BT已知的情况下PX的概率,如表15.5所示。
上面三个表的结构相似,给出的都是条件概率。表15.3中第2列的意思是:当参加晚会后,宿醉的概率是0.7;不宿醉的概率是0.3。第3列的意思是:当不参加晚会后,不会发生宿醉的情况。
对表15.4和表15.5的解释类似。
最后给出的是一个联合条件概率:已知HO和BT时HA的概率,如表15.6所示
计算
懒惰学习和增量学习
在现实任务中朴素贝叶斯分类器有多种使用方式。例如,若任务对预测速度要求较高,则对给定训练集,可将朴素贝叶斯分类器涉及的所有概率估值事先计算好存储起来,这样在进行预测时只需"查表"即可进行判别;若任务数据更替频繁,则可采用"懒惰学习"(lazy learning)方式,先不进行任何训练,等收到预测请求时再根据当前数据集进行概率估值;若数据不断增加,则可在现有估值基础上,仅对新增样本的属性值所涉及的概率估值进行计数修正即可实现增量学习。
贝叶斯和神经网络对比
直观查看
问题
解答
学术答复
数据要求
贝叶斯网络分类器通常假设变量之间的依赖关系已知,并且需要明确的先验概率分布。因此,当变量之间的依赖关系未知或者先验概率分布无法确定时,贝叶斯网络分类器可能会面临困难。
神经网络分类器不需要明确的先验概率分布,但它需要大量的训练样本来学习适当的连接权重。在实践中,神经网络分类器通常需要比贝叶斯网络分类器更多的数据才能获得良好的分类性能。
可解释性
贝叶斯网络分类器提供了一种直观的方式来理解变量之间的依赖关系,并且可以通过网络结构和条件概率表来解释分类结果。这使得贝叶斯网络分类器在需要对分类结果进行解释的场景下具有优势。
神经网络分类器的结构非常复杂,很难解释其内部工作原理。而且,由于神经网络的学习过程通常是黑盒的,即我们无法直接观察到网络学习到的规则,因此很难解释神经网络分类器的决策过程。
鲁棒性
贝叶斯网络分类器具有很好的鲁棒性,即对于输入数据中的随机噪声和缺失值具有较强的容忍度。这是因为贝叶斯网络分类器基于概率模型进行分类,可以通过概率计算来处理不完整或嘈杂的数据。
神经网络分类器对于训练集中的噪声非常敏感,即使是少量的噪声也可能导致网络产生错误的分类结果。此外,如果测试数据与训练数据之间存在较大的差异,神经网络分类器的分类性能可能会受到很大的影响。
应用场景
贝叶斯网络分类器通常在小样本分类任务中表现良好,并
且由于其能够处理不完整或嘈杂的数据,因此在医学诊断、金融风险评估等领域中得到广泛应用。
神经网络分类器通常在大规模数据集上表现良好,并且在图像分类、语音识别等领域中具有出色的性能。此外,由于神经网络具有强大的拟合能力,因此在需要建模复杂非线性关系的任务中也得到广泛应用。
总结
贝叶斯网络分类器和神经网络分类器都是常见的机器学习算法,在不同的场景下具有各自的优缺点。贝叶斯网络分类器在小样本分类、数据可解释性和鲁棒性方面表现良好,适合于对分类结果进行解释的场景。而神经网络分类器在大规模数据集、复杂非线性关系建模和高精度分类等方面表现优异,适合于需要高精度分类的任务。因此,在实践中应根据具体任务的需求和数据特点选择适当的分类器算法。
在日常生活中,我们也常使用贝叶斯方法进行决策。比如在一个陌生的地方找餐馆吃饭,因为之前不了解哪家餐馆好,似乎只能随机选择,但实际上并非如此,我们会根据贝叶斯方法,利用以往积累的经验来提供判断的线索。经验告诉我们,通常那些坐满了客人的餐馆的食物要更美味些,而那些客人寥寥的餐馆,食物可能不怎么样而且可能会被宰。这样,我们就往往通过观察餐厅的上座率来选择餐馆就餐。这就是我们根据先验知识进行的主观判断。在吃过以后我们对这个餐馆有了更多实际的了解,以后再选择时就更加容易了。所以说,在我们认识事物不全面的情况下,贝叶斯方法是一种很好的利用经验帮助作出更合理判断的方法。
贝叶斯常用在自然语言处理等领域
参考文章:
机器学习之朴素贝叶斯分类器原理详解、公式推导(手推)、面试问题、简单实例(python实现,sklearn调包)-CSDN博客