机器学习(二)——贝叶斯分类器

2023-05-16

文章目录

  • 1. 贝叶斯决策论
    • 1.1 贝叶斯判定准则
    • 1.2 极大似然估计
  • 2. 朴素贝叶斯分类器
    • 2.1 拉普拉斯平滑
    • 2.2 示例

1. 贝叶斯决策论

核心: 将最小化分类错误率转换为最大化先验概率和类条件概率(似然)的乘积。

1.1 贝叶斯判定准则

(1)期望损失 R ( c i ∣ x ) R(c_i|x) R(cix)
假设有N种可能的类别标记,即 γ = { c 1 , c 2 , ⋯   , c N } \gamma=\{c_1,c_2,\cdots,c_N \} γ={c1,c2,,cN} λ i j \lambda_{ij} λij是将真实标记为 c j c_j cj的样本误分类为 c i c_i ci所产生的损失。基于后验概率 P ( c i ∣ x ) P(c_i|x) P(cix)可获得将样本x分类为 c i c_i ci所产生的期望损失:
R ( c i ∣ x ) = ∑ j = 1 N λ i j P ( c j ∣ x ) R(c_i|x) = \sum_{j=1}^N \lambda_{ij}P(c_j|x) R(cix)=j=1NλijP(cjx)

(2)最小条件风险的类别标记 h ∗ ( x ) h^*(x) h(x)
根据贝叶斯判定准则:为最小化总体风险,需要每个样本选择使条件风险最小的类别标记。
h ∗ ( x ) = arg ⁡ min ⁡ c ∈ γ R ( c ∣ x ) h^*(x)=\arg \min_{c \in \gamma} R(c|x) h(x)=argcγminR(cx)

(3)最小化分类错误率的贝叶斯最优分类器
在这里插入图片描述
此时条件风险以及最优分类器为:
R ( c ∣ x ) = 1 − P ( c ∣ x ) h ∗ ( x ) = arg ⁡ max ⁡ c ∈ γ P ( c ∣ x ) R(c|x)=1-P(c|x) \\ h^*(x)=\arg \max_{c \in \gamma}P(c|x) R(cx)=1P(cx)h(x)=argcγmaxP(cx)

因此问题转换为了基于有限的训练样本集尽可能准确地估计后验概率 P ( c ∣ x ) P(c|x) P(cx)。求最小化条件风险即最大化后验概率。
因此可以采用生成式模型,考虑到贝叶斯定理:
p ( c ∣ x ) = p ( x ∣ c ) p ( c ) p ( x ) p(c|x) = \frac{p(x|c)p(c)}{p(x)} p(cx)=p(x)p(xc)p(c)

其中, P ( c ) P(c) P(c)是类先验概率; P ( x ∣ c ) P(x|c) P(xc)是样本相对于类标记c的类条件概率,也称似然(likelihood)。最大化后验概率即最大化先验概率和似然的乘积。

理解:
①利用 λ \lambda λ取值,将条件风险转化为了后验概率 P ( c ∣ x ) P(c|x) P(cx)
②基于贝叶斯准则,我们将后验概率转化为了如何利用训练数据集估计先验概率 P ( c ) P(c) P(c)和似然 P ( x ∣ c ) P(x|c) P(xc)
(条件风险 --> 后验概率 --> 先验概率和似然)

  • 根据大数定律,当训练集样本包含充足的独立同分布样本时, P ( c ) P(c) P(c)可通过各类样本出现的概率进行估计。
  • 直接使用概率估计 P ( x ∣ c ) P(x|c) P(xc)是不行的,因为现实应用中,很多样本取值在训练集中根本没有出现。因此“未被观察到”不能等效为“出现概率为0”.

1.2 极大似然估计

(1)常用策略
假设 P ( x ∣ c ) P(x|c) P(xc)具有确定的形式并且被参数向量 θ c \theta_c θc唯一确定,我们将 P ( x ∣ c ) P(x|c) P(xc)标记位 P ( x ∣ θ c ) P(x|\theta_c) P(xθc)

极大似然估计(MLE)采用频率主义学派的方法,通过优化似然函数确定参数值。

(2)公式
在这里插入图片描述
为了防止连乘操作造成下溢,使用对数似然(log-likelihood)
L L ( θ c ) = ∑ x ∈ D c log ⁡ P ( x ∣ θ c ) LL(\theta_c) = \sum_{x \in D_c}\log P(x|\theta_c) LL(θc)=xDclogP(xθc)

此时参数 θ c \theta_c θc的极大似然估计为:
θ c ^ = arg ⁡ max ⁡ θ c L L ( θ c ) \hat{\theta_c} = \arg \max_{\theta_c} LL(\theta_c) θc^=argθcmaxLL(θc)

(3)优缺点

  • 通过参数化的方法使类条件概率估计变得简单
  • 准确度严重依赖于假设分布形式是否符合潜在的真实数据分布。

2. 朴素贝叶斯分类器

  • 基于1.1的贝叶斯准则,将条件风险转化为了先验概率和似然。
  • 又基于1.2极大似然估计获得了通过优化似然函数得到极大似然估计的方法。
  • 采用“属性条件独立性假设”:假设每个属性独立地对分类结果发生影响。

(1)贝叶斯分类器
基于属性条件独立性假设和贝叶斯准则,可得:
P ( c ∣ x ) = P ( c ) P ( x ∣ c ) P ( x ) = P ( c ) P ( x ) ∏ i = 1 d P ( x i ∣ c ) P(c|x) = \frac{P(c)P(x|c)}{P(x)}=\frac{P(c)}{P(x)} \prod_{i=1}^d P(x_i|c) P(cx)=P(x)P(c)P(xc)=P(x)P(c)i=1dP(xic)

为了获得最大化后验概率,根据极大似然估计可得:
h n b ( x ) = arg ⁡ max ⁡ c ∈ γ P ( c ) ∏ i = 1 d P ( x i ∣ c ) h_{nb}(x) = \arg \max_{c \in \gamma} P(c)\prod_{i=1}^d P(x_i|c) hnb(x)=argcγmaxP(c)i=1dP(xic)

其中 ∏ i = 1 d P ( x i ∣ c ) \prod_{i=1}^d P(x_i|c) i=1dP(xic)可以通过训练集样本分布获得,先验概率 P ( c ) P(c) P(c)

  • 离散属性:
    在这里插入图片描述
  • 连续属性:
    在这里插入图片描述

2.1 拉普拉斯平滑

目的
为了避免其他属性携带的信息被训练集中未出现的属性抹去,在估计概率是通常进行平滑。

举例: 假设可以通过8个属性判断西瓜好坏。假设对于一个样本,其中7个属性都指向该西瓜为好瓜。但最后一个属性不在训练集中出现,统计概率为0.这很可能不符合实际预期。

公式:
令N表示训练集可能类别数(标签数), N i N_i Ni表示第i个属性可能的取指数,则拉普拉斯修正为:
P ^ ( c ) = ∣ D c ∣ + 1 ∣ D ∣ + N P ^ ( x i ∣ c ) = ∣ D c , x i + 1 ∣ ∣ D c ∣ + N i \hat{P}(c) = \frac{|D_c|+1}{|D|+N} \\ \hat{P}(x_i|c) = \frac{|D_{c,x_i}+1|}{|D_c|+N_i} P^(c)=D+NDc+1P^(xic)=Dc+NiDc,xi+1

2.2 示例

Step1:训练样本在这里插入图片描述
Step2:计算 P ( x i ∣ c ) P(x_i|c) P(xic)的概率(未发生平滑)在这里插入图片描述
Step2:考虑拉普拉斯修正后,计算 P ( x i ∣ c ) P(x_i|c) P(xic)的概率
在这里插入图片描述
Step3:利用极大似然估计求解,并获得属性划分在这里插入图片描述
由于P(好瓜)>P(坏瓜),因此将样本判定为好瓜。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

机器学习(二)——贝叶斯分类器 的相关文章

  • h264和h265的区别

    相关索引 xff1a https blog csdn net knowledgebao article details 84776869 目录 1 H 264与H 265的主要差异 2 xff0c 压缩性能比较 3 各模块技术差异汇总 4
  • StreamEye使用说明

    编译相关索引 xff1a https blog csdn net knowledgebao article details 84973055 官网 xff1a https www elecard com products video ana
  • libc.so库简介

    相关链接 xff1a https blog csdn net knowledgebao article details 84315842 问题一 xff1a 比如不小心把软连接libc so 6删除了 xff0c 只要执行ldconfig
  • CentOS 7.6安装OpenStack Stein版本

    文章目录 一 前提1 1设置四节点1 2网络平台架构1 3准备环境 所有节点 1 3 1设置hosts1 3 2设置主机名1 3 3关闭 firewalld1 3 4关闭SELinux1 3 5设置静态IP1 3 6自定义yum源1 3 7

随机推荐

  • SQLite使用

    1 创建表 xff0c 以及更新表结构 public class MySQLiteOpenHelper extends SQLiteOpenHelper public MySQLiteOpenHelper Context context s
  • 数据结构实验之栈与队列八:栈的基本操作

    Problem Description 堆栈是一种基本的数据结构 堆栈具有两种基本操作方式 xff0c push 和 pop push一个值会将其压入栈顶 xff0c 而 pop 则会将栈顶的值弹出 现在我们就来验证一下堆栈的使用 Inpu
  • 解决SpringSecurity阻止ajax的POST和PUT请求,导致403Forbidden的问题

    解决SpringSecurity阻止ajax的POST和PUT请求 xff0c 导致403Forbidden的问题 参考文章 xff1a xff08 1 xff09 解决SpringSecurity阻止ajax的POST和PUT请求 xff
  • Input.GetTouch 获取触摸

    Input GetTouch 获取触摸 static function GetTouch index int Touch Description 描述 Returns object representing status of a spec
  • Python-Pandas(1)数据读取与显示,数据样本行列选取

    span class hljs keyword import span pandas food info 61 pandas read csv span class hljs string 34 food info csv 34 span
  • 回归模型-线性回归算法

    线性回归算法 问题分为有监督问题和无监督问题两类 当用到标签来划分的时候就是有监督问题 xff0c 当没有用标签值的时候就是无监督问题 线性回归求解的结果是值 比如 xff1a 根据工资和年龄来预测出一个具体的值 xff0c 根据工资和年龄
  • 时间序列(三)滑动窗口

    滑动窗口就是能够根据指定的单位长度来框住时间序列 xff0c 从而计算框内的统计指标 相当于一个长度指定的滑块在刻度尺上面滑动 xff0c 每滑动一个单位即可反馈滑块内的数据 span class hljs import span clas
  • 时间序列(四)ARIMA模型与差分

    ARIMA模型 平稳性 xff1a 平稳性就是要求经由样本时间序列所得到的拟合曲线 在未来的一段期间内仍能顺着现有的形态 惯性 地延续下去 平稳性要求序列的均值和方差不发生明显变化 严平稳与弱平稳 xff1a 严平稳 xff1a 严平稳表示
  • 时间序列(五)股票分析

    首先导入相关模块 span class hljs keyword import span pandas span class hljs keyword as span pd span class hljs keyword import sp
  • Windows下Node多版本管理

    Windows下Node多版本管理 相关指令背景介绍GNVM 相关指令 查看node版本 node v 查看npm版本 span class token function npm span v 查看gnvm版本 gnvm version g
  • Notepad++与NodeJS

    文章目录 背景介绍理论分析实践操作结果展示 背景介绍 前段时间 xff0c 弄了张流量卡 xff0c 感觉线上查询太费劲了 不妙 xff0c 干脆通过NodeJS写个小软件来 xff0c 实时查询 程序员 xff0c 就是要方便自己嘛 哎
  • 傻瓜式Linpack安装(Mpich+Openblas+Hpl)

    Linpack安装 安装信息安装Mpich安装Openblas安装Hpl 参考资料 Linpack安装 安装信息 安装平台是Ubuntu16 04使用的是Mpich 43 Openblas 43 HplCPU架构为 Intel Nehale
  • [洛谷]P1591 阶乘数码 (#高精度 -1.2)

    题目描述 求n 中某个数码出现的次数 输入输出格式 输入格式 xff1a 第一行为t 10 xff0c 表示数据组数 接下来t行 xff0c 每行一个正整数n 1000 和数码a 输出格式 xff1a 对于每组数据 xff0c 输出一个整数
  • Ubuntu下Java安装(傻瓜式)

    准备安装Java xff0c 简单记录一下 xff1a 分为三步 Java安装Java环境配置测试Hello World xff01 小问题 Java安装 Ubuntu下很简单 xff0c 只需要 JAVA SE下载地址 选择自己的安装平台
  • 简单实现图片转彩色字符画

    在上次的教程中 xff0c 我们只是将图像转换为txt文本文件 xff0c 而txt文本文件是没有颜色的 在显示某些图片的时候 xff0c 我们往往希望可以包含颜色信息 这样图像便显得更加生动 接下来我便教大家如何将图像转换字符画的时候 x
  • 简单实现将GIF图片转换为字符画

    单单只是将静态图转换为字符画 xff0c 功能貌似太过单一 于是 xff0c 小编便想着 xff0c 既然静态图可以转换为字符画 xff0c 那么动态图是否也可以呢 毕竟 xff0c 动态图不也就是许多静态图拼凑在一起生成的吗 xff1f
  • win7/10 使用脱壳插件时 显示bad dos signature

    上次脱壳时使用插件进行脱壳时 xff0c 出现了以下问题 xff1a 出现的原因分析 xff1a 无法读取 xff08 00400000 0045CFFF xff09 内存 xff1a 由于这段内存为只读 权限不够 那么为何会出现上述错误
  • -bash: /usr/bin/cmake: No such file or directory错误

    成功安装cmake后 xff0c 如果出现 bash usr bin cmake No such file or directory xff0c 则可以手动添加 xff0c 找到安装的cmake文件 xff0c 进入cmake3 x文件夹中
  • poj 1716 Integer Intervals 差分约束

    Integer Intervals Time Limit 1000MS Memory Limit 10000K Total Submissions 9285 Accepted 3898 Description An integer inte
  • 机器学习(二)——贝叶斯分类器

    文章目录 1 贝叶斯决策论1 1 贝叶斯判定准则1 2 极大似然估计 2 朴素贝叶斯分类器2 1 拉普拉斯平滑2 2 示例 1 贝叶斯决策论 核心 xff1a 将最小化分类错误率转换为最大化先验概率和类条件概率 xff08 似然 xff09