朴素贝叶斯分类算法

1.分类算法

分类算法是有监督学习的一个核心问题,他从数据中学习一个分类决策函数或分类模型,对新的输入进行预测,输出变量取有限个离散值。

🌍分类算法的内容是要求给定特征,让我们得出类别。

那么如何由指定特征,得到我们最终的类别呢,每一个不同的分类算法,对应着不同的核心思想。

以下是一些常见的分类算法:

  1. 逻辑回归 (Logistic Regression):

    用于二分类问题,通过逻辑函数将输入映射到0和1之间的概率。
  2. K近邻算法 (K-Nearest Neighbors, KNN):

    基于输入数据点在特征空间中的邻近程度,将其分为最接近的K个邻居的多数类别。
  3. 决策树 (Decision Trees):

    基于对输入数据进行递归分割,以最小化混淆或不确定性,从而创建树状结构来进行分类。
  4. 随机森林 (Random Forest):

    通过集成多个决策树,每个树的投票决定最终的分类结果,提高模型的鲁棒性和泛化能力。
  5. 支持向量机 (Support Vector Machines, SVM):

    构建一个超平面,最大化两个类别之间的间隔,用于二分类和多分类问题。
  6. 朴素贝叶斯 (Naive Bayes):

    基于贝叶斯定理,假设输入特征之间是相互独立的,通过计算后验概率进行分类。
  7. 神经网络 (Neural Networks):

    通过多个神经元和层的组合,学习非线性关系,适用于复杂的问题和大规模数据。
  8. 梯度提升机 (Gradient Boosting Machines):

    通过逐步构建多个弱分类器(通常是决策树),每个都纠正前一个的错误,从而提高整体模型性能。
  9. Adaboost (Adaptive Boosting):

    类似于梯度提升,但是每个弱分类器的权重是根据前一个分类器的性能来调整的。
  10. XGBoost (Extreme Gradient Boosting):

    是一种梯度提升算法的变种,通过更加高效的实现和正则化技术,提高了性能。

选择合适的分类算法通常取决于数据的性质、问题的复杂程度以及模型的性能要求。在实际应用中,往往需要尝试多种算法,并通过交叉验证等技术来评估它们的性能。


朴素贝叶斯

 1.数学基础

先验概率(Prior Probability)

  • 先验概率是在考虑任何新观测数据之前,基于先前的知识或信仰,对事件发生的概率的初始估计。这是对事件的主观先验信仰或经验的量化体现。

  • 记作 P(A),表示事件 A 在考虑新的观测数据之前的概率。先验概率可以基于领域专家的经验、历史数据或任何相关信息。

🌍先验概率,就是由以往的数据分析所得。

后验概率(Posterior Probability)

  • 在观测到新数据之后,通过贝叶斯定理计算得到的更新概率,即在考虑了先验概率的基础上,考虑新的观测数据后事件发生的概率。

  • 记作 P(A|B),表示在给定观测数据 B 的情况下,事件 A 发生的概率。这是基于新的数据调整过的概率。

🌍后验概率,在得到信息之后重新加以修正得到的概率。

2.叶斯决策论

2.1 贝叶斯定理

其中:

  • P(A∣B) 是后验概率,表示在给定观测到 B 的情况下,事件 A 发生的概率。
  • P(B∣A) 是似然度,表示在事件 A 发生的情况下观测到 B 的概率。
  • P(A) 是先验概率,表示在考虑观测数据 B 之前事件 A 发生的概率。
  • P(B) 是边缘似然度,表示观测到数据 B 的概率。
  1. 先验概率 P(A): 在考虑观测到任何新数据 B 之前,我们对事件 A 的初始信仰,即在没有新证据的情况下,事件 A 发生的概率。

  2. 似然度 P(B∣A): 在事件 A 发生的条件下,观测到数据 B 的概率。这描述了事件 A 对观测数据 B 的影响。

  3. 边缘似然度 P(B): 观测到数据 B 的概率,考虑所有可能的事件。它是一个归一化因子,确保后验概率 P(A∣B) 在所有可能的事件 A 下加和为1。

  4. 后验概率 P(A∣B): 在观测到数据 B 之后,事件 A 发生的概率。这是通过将先验概率与新的证据(似然度)结合起来得到的。

2.2 贝叶斯决策论

【贝叶斯决策论】:是一种基于贝叶斯统计学的决策方法,它通过考虑先验概率、似然度以及决策损失来做出最优决策。这种方法可以应用于各种决策问题,包括分类、回归和其他决策场景。

通俗理解:

【贝叶斯决策】 在贝叶斯决策理论中,我们希望选择那个最小化总体期望损失的决策。决策损失的期望值通过对所有可能状态的加权平均来计算,其中权重是先验概率。

🌍我们的任务是寻找一个判定标准,以最小化总体期望损失。 

决策过程:

  1. 计算后验概率: 使用贝叶斯定理计算在给定观测数据的情况下,每个可能状态的后验概率。

  2. 计算期望损失: 对于每种可能的决策,计算总体期望损失。

  3. 选择最小化期望损失的决策: 选择那个使期望损失最小的决策,即选择总体期望损失最小的决策。


专业解释:

贝叶斯决策论(Bayesian decision theory)是在概率框架下实施决策的基本方法。

在分类问题情况下,在所有相关概率都已知的理想情形下,贝叶斯决策考虑如何基于这些概率和误判损失来选择最优的类别标记。 

【解读】: 

N种可能的类别标记,分别为 c_1,c_2,...c_N

\lambda _{ij}是将一个样本分错类后产生的损失。

一个事件为将真实标记为c_j的样本误分类为c_i,它的总体期望损失是R(c_i|X)=【如上那堆式子】

(其实也就是这个事件发生的概率 x 这个事件的损失值)

🌍我们的任务是寻找一个判定准则 h 来使总体期望损失最小。

【解读】:

 对每个样本而言,如果判定准则h能够使这个样本的条件风险最小化,则总体风险也将被最小化。

然后就有了贝叶斯判定准则,也就是 在每个样本上选择使条件风险最小的类别样本 标记。

 【解读】:

首先是损失\lambda _{ij}的计算:如果i=j,则损失记为0,否则损失记为1。

然是条件风险的计算,

2.3 应用

贝叶斯公式:

扩展如下:

用下面这个例子来解释:

一对男女朋友,男生向女生求婚,男生的五个特点分别是不帅,不高,没有上进心,性格不好,家境贫寒,请你判断一下女生是嫁还是不嫁?

这是一个典型的分类问题,转为数学问题就是比较p(嫁|(不帅,不高,没有上进心,性格不好,家境贫寒))与p(不嫁|(不帅,不高,没有上进心,性格不好,家境贫寒))的概率,谁的概率大,我们就能给出嫁或者不嫁的答案!

这里我们联系朴素贝叶斯公式:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/246117.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Asp.Net Core 获取应用程序相关目录

在ASP.NET Core中,可以通过以下三种方式获取应用程序所在目录: 1、使用AppContext.BaseDirectory属性: string appDirectory AppContext.BaseDirectory; 例如:D:\后端项目\testCore\test.WebApi\bin\Debug\net6.0\ 2、使用…

Leetcode刷题笔记题解(C++):LCR 153. 二叉树中和为目标值的路径

思路:利用回溯的思想,回溯的退出条件为当前节点为空,是符合路径的判断条件为路径和为目标值且叶子节点包含了,代码如下: /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *…

【C++】入门基础

前言:C是在C的基础之上,容纳进去了面向对象编程思想,并增加了许多有用的库,以及编程范式等。熟悉C语言之后,对C学习有一定的帮助,因此从今天开始们将进入C的学习。 💖 博主CSDN主页:…

《动手学深度学习(PyTorch版)》笔记4.5

注:书中对代码的讲解并不详细,本文对很多细节做了详细注释。另外,书上的源代码是在Jupyter Notebook上运行的,较为分散,本文将代码集中起来,并加以完善,全部用vscode在python 3.9.18下测试通过。…

ES文档索引、查询、分片、文档评分和分析器技术原理

技术原理 索引文档 索引文档分为单个文档和多个文档。 单个文档 新建单个文档所需要的步骤顺序: 客户端向 Node 1 发送新建、索引或者删除请求。节点使用文档的 _id 确定文档属于分片 0 。请求会被转发到 Node 3,因为分片 0 的主分片目前被分配在 …

微信小程序(十七)自定义组件生命周期(根据状态栏自适配)

注释很详细,直接上代码 上一篇 新增内容: 1.获取手机状态栏的高度 2.验证attached可以修改数据 3.动态绑定样式数值 源码: myNav.js Component({lifetimes:{//相当于vue的created,因为无法更新数据被打入冷宫created(){},//相当于vue的mount…

【JS基础】事件对象event、环境对象this、事件的高级操作

文章目录 一、事件对象1.1 事件对象是什么?1.2 使用方法 二、环境对象this以及回调函数2.1 它是什么?2.2 演示示例 三、事件的高级操作3.1 事件流3.2 事件捕获3.3 事件冒泡以及阻止冒泡3.4 事件解绑3.5 mouseover和mouseenter事件的区别3.6 事件委托它是…

HTML新手教程

HTML入门 教程:【狂神说Java】HTML5完整教学通俗易懂_哔哩哔哩_bilibili 一.初识HTML HyperTextMarkupLanguage(超文本标记语言) 超文本包括:文字、图片、音频、视频、动画。 HTML5的优势 世界知名浏览器厂商对HTML5的支持市场的…

解决WinForms跨线程操作控件的问题

解决WinForms跨线程操作控件的问题 介绍 在构建Windows窗体应用程序时,我们通常会遇到需要从非UI线程更新UI元素的场景。由于WinForms控件并不是线程安全的,直接这样做会抛出一个异常:“控件’control name’是从其他线程创建的,…

每日OJ题_算法_二分查找⑦_力扣153. 寻找旋转排序数组中的最小值

目录 力扣153. 寻找旋转排序数组中的最小值 解析代码 力扣153. 寻找旋转排序数组中的最小值 153. 寻找旋转排序数组中的最小值 - 力扣(LeetCode) 难度 中等 已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后…

node学习过程中的终端命令

冷的哥们手真tm冷,打字都是僵的,屮 目录 一、在学习nodejs过程中用到的终端命令总结 一、在学习nodejs过程中用到的终端命令 node -v nvm install 20.11.0 nvm list nvm list available nvm on nvm -v nvm use 20.11.0 node加要运行的js文件路径 ps&a…

Keycloak - docker 运行 前端集成

Keycloak - docker 运行 & 前端集成 这里的记录主要是跟我们的项目相关的一些本地运行/测试,云端用的 keycloak 版本不一样,不过本地我能找到的最简单的配置是这样的 docker 配置 & 运行 keycloak keycloak 有官方(Red Hat Inc.)的镜像&#…

搭建Redis集群

一 应用场景 为什么需要redis集群? 当主备复制场景,无法满足主机的单点故障时,需要引入集群配置。 一般数据库要处理的读请求远大于写请求 ,针对这种情况,我们优化数据库可以采用读写分离的策略。我们可以部 署一台…

数据结构与算法——队列

概述 计算机科学中,queue 是以顺序的方式维护的一组数据集合,在一端添加数据,从另一端移除数据。添加的一端称为尾,移除的一端称为头。 功能 插入offer(value : E) : boolean  取值并移除poll() : E  取值peek() : E  判断…

项目中日历管理学习使用

一些项目中会有日历或日期设置,最基本的会显示工作日,休息日,节假日等等,下面就是基于项目中的日历管理功能,要显示工作日,休息日,节假日 效果图 获取国家法定节假日工具类 public class Holi…

「QT」QString类的详细说明

✨博客主页何曾参静谧的博客📌文章专栏「QT」QT5程序设计📚全部专栏「VS」Visual Studio「C/C++」C/C++程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「

Qt编写手机端视频播放器/推流工具/Onvif工具

一、视频播放器 同时支持多种解码内核,包括qmedia内核(Qt4/Qt5/Qt6)、ffmpeg内核(ffmpeg2/ffmpeg3/ffmpeg4/ffmpeg5/ffmpeg6)、vlc内核(vlc2/vlc3)、mpv内核(mpv1/mp2)、…

第十七讲_HarmonyOS应用开发Stage模型应用组件

HarmonyOS应用开发Stage模型应用组件 1. 应用级配置2. Module级配置3. Stage模型的组件3.1 AbilityStage3.1.1 AbilityStage的创建和配置3.1.2 AbilityStage的生命周期回调3.1.3 AbilityStage的事件回调: 3.2 UIAbility3.2.1 UIAbility生命周期3.2.3 UIAbility启动模…

修复idea,eclipse ,clion控制台中文乱码

控制台乱码问题主要原因并不在编译器IDE身上,还主要是Windows的控制台默认编码问题。。。 Powershell,cmd等默认编码可能不是UTF-8,无需改动IDE的settings或者properties(这治标不治本),直接让Windows系统…

初识MQRabbitMQ快速入门

一、同步和异步通讯 微服务间通讯有同步和异步两种方式: 同步通讯:就像打电话,需要实时响应。 异步通讯:就像发邮件,不需要马上回复。 两种方式各有优劣,打电话可以立即得到响应,但是你却不能…