IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 朴素贝叶斯算法(上) -> 正文阅读

[人工智能]朴素贝叶斯算法(上)

算法篇

朴素贝叶斯算法

朴素贝叶斯算法属于有监督学习中的分类算法,基于贝叶斯理论和特征相互独立的假设,因为假设特征相互独立让问题变得简单,因此称为朴素
要使用朴素贝叶斯算法,首先要了解的就是概率。
条件概率公式:
在这里插入图片描述
当A、B相互独立时, P ( A B ) = P ( A ) ? P ( B ) P(AB) = P(A) * P(B) P(AB)=P(A)?P(B)

全概率公式:
在这里插入图片描述
贝叶斯公式:
在这里插入图片描述
朴素贝叶斯计算步骤:

  1. 一个数据集中有两个样本(B1,B2, B3)、(C1,C2,C3)和一个标签的两组(A1,A2)
  2. 给定一个测试样本(D1,D2,D3),使用贝叶斯公式求出测试样本属于A1组还是A2组
    P ( A 1 ∣ 测 试 特 征 ) = P ( 测 试 特 征 , A 1 ) P ( 测 试 特 征 ) = P ( A 1 ) ? P ( 测 试 特 征 ∣ A 1 ) P ( 测 试 特 征 ) P(A1 | 测试特征) = \frac{P(测试特征, A1)}{P(测试特征)}=\frac{P(A1)*P(测试特征 | A1)}{P(测试特征)} P(A1)=P()P(,A1)?=P()P(A1)?P(A1)?
    P ( A 2 ∣ 测 试 特 征 ) = P ( 测 试 特 征 , A 2 ) P ( 测 试 特 征 ) = P ( A 2 ) ? P ( 测 试 特 征 ∣ A 2 ) P ( 测 试 特 征 ) P(A2 | 测试特征) = \frac{P(测试特征, A2)}{P(测试特征)}=\frac{P(A2)*P(测试特征 | A2)}{P(测试特征)} P(A2)=P()P(,A2)?=P()P(A2)?P(A2)?
  3. 由于两式分母都是相同的,所以只需要考虑分子就可以了
    P ( A 1 ∣ 测 试 特 征 ) = P ( 测 试 特 征 , A 1 ) = P ( A 1 ) ? P ( 测 试 特 征 ∣ A 1 ) P(A1 | 测试特征) = P(测试特征, A1)=P(A1)*P(测试特征 | A1) P(A1)=P(,A1)=P(A1)?P(A1)
    P ( A 2 ∣ 测 试 特 征 ) = P ( 测 试 特 征 , A 2 ) = P ( A 2 ) ? P ( 测 试 特 征 ∣ A 2 ) P(A2 | 测试特征) = P(测试特征, A2)=P(A2)*P(测试特征 | A2) P(A2)=P(,A2)=P(A2)?P(A2)
  4. 这时遇到一个问题,如果所选特征在训练集中不存在, P ( 测 试 特 征 ∣ A 1 ) P(测试特征 | A1) P(A1)将会等于0,最终的概率也会等于0,显然这样的结果不是我们想要的
  5. 这就需要我们引入特征相互独立的假设了
    P ( A B ) = P ( A ) ? P ( B ) P(AB) = P(A) * P(B) P(AB)=P(A)?P(B)
    P ( 测 试 特 征 ∣ A 1 ) = P ( D 1 , D 2 , D 3 ∣ A 3 ) = P ( D 1 ∣ A 1 ) ? P ( D 2 ∣ A 1 ) ? P ( D 3 ∣ A 1 ) P(测试特征 | A1) = P(D1, D2, D3 | A3)=P(D1 | A1)*P(D2 | A1)*P(D3 | A1) P(A1)=P(D1,D2,D3A3)=P(D1A1)?P(D2A1)?P(D3A1)
    P ( A 1 ∣ 测 试 特 征 ) = P ( 测 试 特 征 , A 1 ) = P ( A 1 ) ? P ( D 1 ∣ A 1 ) ? P ( D 2 ∣ A 1 ) ? P ( D 3 ∣ A 1 ) P(A1 | 测试特征) = P(测试特征, A1)=P(A1)*P(D1 | A1)*P(D2 | A1)*P(D3 | A1) P(A1)=P(,A1)=P(A1)?P(D1A1)?P(D2A1)?P(D3A1)
    P ( A 2 ∣ 测 试 特 征 ) = P ( 测 试 特 征 , A 2 ) = P ( A 2 ) ? P ( D 1 ∣ A 2 ) ? P ( D 2 ∣ A 2 ) ? P ( D 3 ∣ A 2 ) P(A2 | 测试特征) = P(测试特征, A2)=P(A2)*P(D1 | A2)*P(D2 | A2)*P(D3 | A2) P(A2)=P(,A2)=P(A2)?P(D1A2)?P(D2A2)?P(D3A2)
  6. 根据在训练集数据就可以计算出A1的概率以及A1的条件下D1、D2、D3发生的概率了
  7. 虽然是能计算出来,但是可能会出现D1这个特征没有出现在训练集特征的情况,比如D1=高,恰好A1组相应类型特征对应的数据低,它的概率也会变成0
  8. 这是就出现了一个拉普拉斯系数,当测试集特征不存在时,给它变成1,相应的分母也要加一。例如,测试集某个特征不存在,概率本应该是 0 n \frac{0}{n} n0?,使用拉普拉斯系数后就变成了 1 n + 1 \frac{1}{n+1} n+11?,一旦有一个是找不到的,所有测试集特征都要分子分母各加一

伯努利朴素贝叶斯

伯努利分布又称0-1分布,也叫二项分布,所以伯努利朴素贝叶斯只能对符合二分类数据的特征
伯努利分布公式:
在这里插入图片描述
和上面朴素贝叶斯计算步骤有所不同的是,拉普拉斯系数不同。伯努利中的拉普拉斯,分母计算方法是符合计算标签结果的特征条数加上标签类别数,分子还是加1。比如,标签是下雨和没雨,现在判断的是下雨的条件下特征发生的概率,符合条件的训练集特征有4条,分母就是4+2=6。

代码实现

from sklearn.naive_bayes import BernoulliNB
# 实例化
alg = BernoulliNB()
# 参数:alpha,默认是等于拉普拉斯,防止等于零的情况出现

# 拟合
alg.fit(X_train, y_train)

# 预测结果
y_pred = alg.predict(X_test)
print('预测结果:', y_pred)

# 预测概率
print('预测概率:', alg.predict_proba(X_test))

# 查看准确率
score = alg.score(X_test, y_test)
print('准确率:', score)

高斯朴素贝叶斯

高斯朴素贝叶斯主要是用来处理连续数据类型的特征
概率密度函数:
在这里插入图片描述
μ代表均值,σ代表标准差

代码实现
from sklearn.naive_bayes import GaussianNB
# 实例化
alg = GaussianNB()
# 参数:alpha,默认是等于拉普拉斯,防止等于零的情况出现

# 拟合
alg.fit(X_train, y_train)

# 预测结果
y_pred = alg.predict(X_test)
print('预测结果:', y_pred)

# 预测概率
print('预测概率:', alg.predict_proba(X_test))

# 查看准确率
score = alg.score(X_test, y_test)
print('准确率:', score)
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-08-16 11:44:45  更:2021-08-16 11:45:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 20:37:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码