龙岗建设网站,做网站用ui好还是ps,网站各个阶段推广,外贸公司访问国外网站贝叶斯分类器
1. 引言
贝叶斯分类器是一种基于贝叶斯定理的分类算法#xff0c;它利用特征之间的关系和类别的先验概率来进行分类。贝叶斯分类器在文本分类、垃圾邮件过滤、医学诊断等领域有着广泛的应用。
贝叶斯分类算法是统计学的一种分类方法#xff0c;是一类利用概率…贝叶斯分类器
1. 引言
贝叶斯分类器是一种基于贝叶斯定理的分类算法它利用特征之间的关系和类别的先验概率来进行分类。贝叶斯分类器在文本分类、垃圾邮件过滤、医学诊断等领域有着广泛的应用。
贝叶斯分类算法是统计学的一种分类方法是一类利用概率统计知识进行分类的方法。这类算法均以贝叶斯定理为基础统称为贝叶斯分类。贝叶斯的核心思想为可以概括为先验概率数据后验概率。一般而言先验概率就是对于数据所在领域的历史经验贝叶斯学派大胆假设先验分布的模型如正态分布、伯努利分布等
在所有的机器学习分类算法当中朴素贝叶斯和其他绝大多数的分类算法不同。对于大多数的分类算法比如决策树、逻辑回归、支持向量机等他们都是判别方法也就是直接学习出特征输出Y和特征X之间的关系要么是决策函数 Y f ( X ) Yf(X) Yf(X)要么是条件概率分布 P ( Y ∣ X ) P(Y|X) P(Y∣X)但是朴素贝叶斯是生成方法也就是直接找出特征输出Y和特征X之间的联合分布 P ( X , Y ) P(X, Y) P(X,Y)然后利用 P ( Y ∣ X ) P ( X , Y ) P ( X ) P(Y|X) \frac{P(X,Y)}{P(X)} P(Y∣X)P(X)P(X,Y)得到。
2. 预备知识
为了理解贝叶斯分类器我们需要了解一些基本的概念
贝叶斯定理用于计算在观测到数据后类别的后验概率。先验概率在观测到数据之前对类别的概率分布的估计。条件概率在给定某个条件下某个事件发生的概率。
2.1 贝叶斯定理
贝叶斯定理是一个关于条件概率的公式又称为“逆概率”或“后验概率”。它表述了当我们已知某个条件下的观察结果时我们可以利用这些信息来更新对一个假设的概率估计。其公式为 P ( H ∣ E ) P ( E ∣ H ) P ( H ) P ( E ) P(H|E) \frac{P(E|H)P(H)}{P(E)} P(H∣E)P(E)P(E∣H)P(H) 其中 P ( H ∣ E ) P(H|E) P(H∣E)表示在发生E的情况下 H H H发生的概率 P ( E ∣ H ) P(E|H) P(E∣H)表示在发生H的情况下E发生的概率 P ( H ) P(H) P(H)表示H发生的先验概率 P ( E ) P(E) P(E)表示E发生的概率。
2.2 最大似然估计
最大似然估计Maximum Likelihood Estimation, MLE也称为极大似然估计是用来估计概率模型参数的一种方法。它可以在已知随机变量属于某种概率分布的前提下利用随机变量的一些观测值估计出分布的参数值。
对于函数 p ( x ∣ θ ) p(x|\theta) p(x∣θ)输入有两个 x x x表示某个具体数据 θ \theta θ表示模型的参数。
如果 θ \theta θ已知 x x x是变量则该函数称为概率函数probability function描述对于不同的样本点 x x x其出现的概率是多少如果 x x x已知 θ \theta θ是变量该函数称为似然函数likelihood function描述对于不同的模型参数出现 x x x这个样本点的概率是多少。
极大似然估计假设样本集中的所有样本都是独立同分布的样本集合为 D D D以此来估计参数向量 θ \theta θ。记已知的样本集为 D x 1 , x 2 , . . . , x N D{x_1, x_2, ..., x_N} Dx1,x2,...,xN。 似然函数likelihood function联合概率密度函数 p ( D ∣ θ ) p(D|\theta) p(D∣θ)称为 D { x 1 , . . . , x N } D\{x_1, ..., x_N\} D{x1,...,xN}关于 θ \theta θ的似然函数。 L ( θ ) p ( D ∣ θ ) p ( x 1 , . . . , x N ∣ θ ) ∏ i 1 N p ( x i ∣ θ ) L(\theta) p(D|\theta)p(x_1,...,x_N|\theta)\prod_{i1}^N p(x_i|\theta) L(θ)p(D∣θ)p(x1,...,xN∣θ)i1∏Np(xi∣θ) 值得注意的是这里的 p ( x 1 , . . . , x N ∣ θ ) ∏ i 1 N p ( x i ∣ θ ) p(x_1,...,x_N|\theta)\prod_{i1}^N p(x_i|\theta) p(x1,...,xN∣θ)∏i1Np(xi∣θ)的前提是属性之间相互独立这是朴素贝叶斯所作出的假设。
3. 算法介绍
贝叶斯分类器模型表述为 P ( c ∣ x ) P ( x , c ) P ( x ) P(c|x)\frac{P(x,c)}{P(x)} P(c∣x)P(x)P(x,c)
基于贝叶斯定理 P ( c ∣ x ) P(c|x) P(c∣x)可写为 P ( c ∣ x ) P ( c ) P ( x ∣ c ) P ( x ) P(c|x)\frac{P(c)P(x|c)}{P(x)} P(c∣x)P(x)P(c)P(x∣c) 其中 P ( c ) P(c) P(c)是类“先验”概率 P ( x ∣ c ) P(x|c) P(x∣c)是样本 x x x相对于类标记c的类条件概率或者称之为“似然”对于每个类别来说分母都是相同的因而在求解时可以只比较分子部分。
朴素贝叶斯模型的关键在于计算给定样本时的每个类别的后验概率后验概率最大的类别即为输出类别。
令 D c D_c Dc表示训练集 D D D中第c个类别样本组成的集合假设这些样本是独立同分布的则参数 θ c \theta_c θc对于数据集 D c D_c Dc的似然是 P ( D c ∣ θ c ) ∏ x ∈ D c P ( x ∣ θ c ) P(D_c|\theta_c)\prod _{x\in D_c}P(x|\theta_c) P(Dc∣θc)x∈Dc∏P(x∣θc) 对 θ c \theta_c θc进行极大似然估计就是去寻找能够最大化似然 P ( D c ∣ θ c ) P(D_c|\theta_c) P(Dc∣θc)的参数值 θ c ^ \hat{\theta_c} θc^直观上看极大似然估计是试图在 θ c \theta_c θc的所有可能取值中找到一个能够使得数据出现的“可能性”最大的值也即 θ c ^ a r g m a x θ c P ( D c ∣ θ c ) \hat{\theta_c} argmax_{\theta_c}P(D_c|\theta_c) θc^argmaxθcP(Dc∣θc) 估计类条件概率的一种常用策略是先假定其具有某种确定的概率分布形式再根据训练样本对概率分布的参数进行估计。 在连续属性的情形下假设概率密度函数 p ( x ∣ c ) ∼ N ( μ c , σ c 2 ) p(x|_c)\sim N(\mu_c, \sigma_c^2) p(x∣c)∼N(μc,σc2)则参数 μ c \mu_c μc和 σ c 2 \sigma_c^2 σc2的极大似然估计为 μ c ^ 1 D c ∑ x ∈ D c x σ c 2 ^ 1 D c ∑ x ∈ D c ( x − μ c ^ ) ( x − μ c ^ ) T \hat{\mu_c} \frac{1}{D_c}\sum_{x\in D_c}x \\ \hat{\sigma_c^2} \frac{1}{D_c}\sum_{x\in D_c}(x-\hat{\mu_c})(x-\hat{\mu_c}) ^T μc^Dc1x∈Dc∑xσc2^Dc1x∈Dc∑(x−μc^)(x−μc^)T 也就是说通过极大似然法得到的正态分布均值就是样本均值方差就是 ( x − μ c ^ ) ( x − μ c ^ ) T (x-\hat{\mu_c})(x-\hat{\mu_c}) ^T (x−μc^)(x−μc^)T的均值。
归纳为步骤
计算每个类别的先验概率。对于每个特征计算在给定类别的条件下的类条件概率。根据贝叶斯定理计算后验概率。根据后验概率选择类别。
4. 代码调用
下面是一个简单的Python代码实现贝叶斯分类器的示例
from sklearn.naive_bayes import GaussianNB
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score# 加载数据集
data load_iris()
X data.data
y data.target# 划分训练集和测试集
X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2, random_state42)# 创建贝叶斯分类器模型
model GaussianNB()# 在训练集上训练模型
model.fit(X_train, y_train)# 在测试集上进行预测
y_pred model.predict(X_test)# 计算准确率
accuracy accuracy_score(y_test, y_pred)
print(Accuracy:, accuracy)
参考文献
https://mp.weixin.qq.com/s/AQnMNOJznAbnTy5QnALaCwhttps://blog.csdn.net/yinyu19950811/article/details/78060267周志华《机器学习》