在学习贝叶斯分类器的过程中
- 我逐渐理解了不同视角下的机器学习过程
我们的学习本质上是对于众多的属性,x1,x2,x3 到一个结果分类y,线性分类器什么的是训练集拟合一个函数从众多属性x到y,SVM是学习一个分界线划分不同的y对应的x,而贝叶斯分类器本质上是对数据集观测做统计结果从而对未知的属性进行预测
- 我逐渐理解了传统机器学习的手工提取特征的过程
传统机器学习果然就是手工提取特征,就是比如属性之间的依赖关系也得靠我们人工设计,甚至会有很多的假设。比如朴素贝叶斯公式假设了不同属性之间相互独立,贝叶斯网人工设计了属性之间的依赖关系,而半朴素贝叶斯则介于两者之间,假设每个属性只依赖于其他一个属性
文章目录
1 贝叶斯分类器基本原理
贝叶斯分类器是在概率的视角来看预测的
假设我们有一个样本X={晴天,小风,作业少,心情好}这个样本有四个属性,知道这样的一个样本的这些属性后,我们要求得是否出去玩,之前往往是进行拟合,但是我们这里不进行拟合,我们把他看成一个条件概率
P(c|x) 在知道x的情况下,c的可能性,在这里c即是出去玩或不出去玩
这个概率叫做后验概率,我们本质就要求这个概率
总结来看,后验概率P(c|x)的x是某一个样例的属性集合,知道这些属性后,是类别c的概率,如果我们知道了后验概率,本质上就知道了这个x是c的可能性有多大
后验概率是我们最终要求的,并不好直接求,需要转换
将后验概率转换为了什么呢?利用贝叶斯定理
P ( c ∣ x ) = P ( x ∣ c ) ⋅ P ( c ) P ( x ) P(c|x) = \frac{P(x|c) \cdot P(c)}{P(x)} P(c∣x)=P(x)P(x∣c)⋅P(c)
转换为求解类先验概率和P©和似然P(x|c)
P©比较好估计,相当于就是计算类别c的概率,当样本足够多的时候,比如我收集了一百次数据,其中出去玩有40次,没出去玩有60次,那么即可用频率来近似概率,P©=0.4
但是P(x|c)不好直接求出
他的含义就是,知道了类别c,求是某一种属性组合的可能性,也就是知道我最后出去玩了,反求我们每种属性的这种可能性,这其实是所有属性的联合分布
这里有4个属性,就有16种可能,当属性变多时,往往可能性会远大于数据集的数据,也就是很多情况下,样本取值没有被观测到,但没有被观测到并不代表出现概率为0
2 对于P(c|x)的估计策略一:假设具有某种确定概率分布
对于这个似然的估计
我们往往假定其具有某种确定的概率分布形式,进行参数估计
参数估计统计学界的两个学派
- 频率主义学派认为参数虽然未知,但却客观存在固定值,因此可以通过优化似然函数去进行
- 贝叶斯学派认为参数是未观测到的随机变量,因而也服从一个分布
我们介绍频率主义学派的极大似然估计
极大似然估计(Maximum Likelihood Estimation, MLE)是频率主义学派中用于估计参数的一种方法。其基本思想是,选择使得观察到的数据在给定模型下出现的概率最大的参数值作为估计值。换句话说,极大似然估计寻找使得观察数据出现的可能性最大的参数值,即寻找最大化似然函数的参数值。
具体来说,对于一个参数为 (\theta) 的模型,其似然函数 L ( θ ∣ x ) L(\theta | x) L(θ∣x) 可以表示为给定参数值 θ \theta θ 下观察到数据 x x x 的概率密度函数或概率质量函数。极大似然估计就是要找到使得 L ( θ ∣ x ) L(\theta | x) L(θ∣x) 最大化的参数值 θ ^ \hat{\theta} θ^,即:
θ ^ = arg max θ L ( θ ∣ x ) \hat{\theta} = \arg \max_{\theta} L(\theta | x) θ^=argmaxθL(θ∣x)
在实际计算中,通常对似然函数取对数,即对数似然函数,方便计算,阻止连乘溢出
3 对于P(c|x)的估计策略二:假设具有属性条件独立或部分独立
为了避免之前提到的求P(c|x)的过程中遇到的联合分布难求
贝叶斯分类器分三个层次对这种关系进行了消除
具体来说
朴素贝叶斯:假设各个属性完全独立
半朴素贝叶斯:假设各个属性最多依赖一个其他属性
贝叶斯网:假设属性之间有更复杂的依赖关系
3.1 朴素贝叶斯
朴素贝叶斯(Naive Bayes)是基于贝叶斯定理和特征条件独立假设的一种简单且高效的分类算法。它被广泛应用于文本分类、垃圾邮件过滤、情感分析等领域。
朴素贝叶斯算法的基本原理如下:
-
贝叶斯定理:朴素贝叶斯算法基于贝叶斯定理,根据观察到的特征预测样本所属的类别。贝叶斯定理表明,在给定类别 (C_k) 的情况下,特征 (x_1, x_2, …, x_n) 的联合概率分布可以表示为各个特征的条件概率的乘积:
P ( C k ∣ x 1 , x 2 , . . . , x n ) = P ( C k ) ⋅ P ( x 1 ∣ C k ) ⋅ P ( x 2 ∣ C k ) ⋅ . . . ⋅ P ( x n ∣ C k ) P ( x 1 ) ⋅ P ( x 2 ) ⋅ . . . ⋅ P ( x n ) P(C_k | x_1, x_2, ..., x_n) = \frac{P(C_k) \cdot P(x_1 | C_k) \cdot P(x_2 | C_k) \cdot ... \cdot P(x_n | C_k)}{P(x_1) \cdot P(x_2) \cdot ... \cdot P(x_n)} P(Ck∣x1,x2,...,xn)=P(x1)⋅P(x2)⋅...⋅P(xn)P(Ck)⋅P(x1∣Ck)⋅P(x2∣Ck)⋅...⋅P(xn∣Ck)
-
特征条件独立假设:朴素贝叶斯算法假设特征之间相互独立,即给定类别,特征之间的条件概率是相互独立的。这个假设虽然在现实中不总是成立,但在实际应用中,朴素贝叶斯算法通常表现出令人满意的性能。
基于特征条件独立假设,朴素贝叶斯算法可以简化为:
P ( C k ∣ x 1 , x 2 , . . . , x n ) ∝ P ( C k ) ⋅ ∏ i = 1 n P ( x i ∣ C k ) P(C_k | x_1, x_2, ..., x_n) \propto P(C_k) \cdot \prod_{i=1}^{n} P(x_i | C_k) P(Ck∣x1,x2,...,xn)∝P(Ck)⋅∏i=1nP(xi∣Ck)
-
分类决策:对于给定的样本,朴素贝叶斯算法计算每个类别的后验概率,并选择具有最大后验概率的类别作为预测结果。
朴素贝叶斯算法的优点包括简单、易于实现、对小规模数据集表现良好等。然而,它也有一些局限性,比如无法处理特征之间的相互作用、对输入数据的分布做了较强的假设等。
3.2 半朴素贝叶斯
半朴素贝叶斯(Semi-Naive Bayes)是朴素贝叶斯算法的一种改进版本,旨在解决朴素贝叶斯算法中的特征条件独立假设可能过于简化的问题。半朴素贝叶斯算法保留了部分特征之间的依赖关系,而不是像朴素贝叶斯那样完全假设特征之间相互独立。
半朴素贝叶斯算法的关键思想是利用特征选择方法(如信息增益、卡方检验等)来确定哪些特征可以被认为是条件独立的,哪些特征之间存在依赖关系。具体来说,对于一个数据集,可以通过特征选择方法选择出具有显著性关联的特征组合,然后将这些特征组合作为一个整体来考虑,而不是单独考虑每个特征。
相对于朴素贝叶斯算法,半朴素贝叶斯算法通常需要更复杂的模型和计算,因为它考虑了特征之间的一定程度的依赖关系。然而,半朴素贝叶斯算法在某些情况下可以比朴素贝叶斯算法更准确,特别是在特征之间存在一定关联性的情况下。
3.3 贝叶斯网
贝叶斯网(Bayesian Network),也称为信念网络(Belief Network)或概率有向无环图(Probabilistic Directed Acyclic Graph, PDAG),是一种表示变量之间依赖关系的图结构模型。它基于概率图模型,用于表示随机变量之间的条件独立性关系,并可以用于推断、预测和决策问题。
贝叶斯网由两部分组成:节点(Node)和边(Edge)。节点表示随机变量,边表示变量之间的依赖关系。贝叶斯网是一个有向无环图(DAG),这意味着图中的边方向表示了变量之间的因果关系,且不存在环路。
贝叶斯网的主要特点和优势包括:
-
概率表示:贝叶斯网可以表示随机变量之间的概率依赖关系,包括条件概率和联合概率。
-
推断:可以利用贝叶斯网进行推断,即根据已知信息推断未知变量的概率分布。
-
预测:可以用贝叶斯网进行预测,例如预测未来事件的发生概率。
-
决策:可以用贝叶斯网进行决策分析,帮助做出最优决策。
-
灵活性:贝叶斯网的结构可以根据具体问题灵活调整,使其适用于各种不同的领域和问题。
贝叶斯网在人工智能、机器学习、模式识别等领域有着广泛的应用,例如用于医学诊断、风险评估、金融建模等。
4 EM算法
之前我们假设所有的样本属性都是完整的,但实际上有些时候属性会有缺失,这是我们把这些称呼为隐变量
EM算法(Expectation Maximization Algorithm)是一种用于估计含有隐变量的概率模型参数的方法,它是由Arthur Dempster、Nan Laird和Donald Rubin在1977年提出的。EM算法通常用于处理缺失数据或者含有不可观测变量的数据的估计问题。
EM算法的基本思想是通过迭代的方式,交替进行两步:期望步(E步)和最大化步(M步)。在E步中,根据当前的参数估计值,计算隐变量的条件概率期望;在M步中,根据E步计算得到的隐变量的条件概率期望,最大化完全数据的对数似然函数,更新参数的估计值。通过不断迭代,直到参数收敛为止。
具体来说,EM算法的步骤如下:
-
初始化:初始化模型参数的估计值。
-
E步(Expectation Step):根据当前的模型参数估计值,计算隐变量的条件概率期望。
-
M步(Maximization Step):根据E步计算得到的隐变量的条件概率期望,最大化完全数据的对数似然函数,更新模型参数的估计值。
-
迭代:重复执行E步和M步,直到参数收敛或达到迭代次数上限为止。
EM算法的优点是可以在含有隐变量的情况下进行参数估计,并且在一定条件下能够收敛到局部最优解。然而,EM算法也有一些缺点,例如容易收敛到局部最优解、对初始值敏感等。
标签:似然,概率,贝叶斯,分类器,算法,朴素,属性 From: https://blog.csdn.net/Q52099999/article/details/136653337