三十九、【人工智能】【机器学习】【监督学习】- 多项式朴素贝叶斯分类器(Multinomial Naive Bayes)

news2024/11/15 1:26:10

 

系列文章目录

第一章 【机器学习】初识机器学习

第二章 【机器学习】【监督学习】- 逻辑回归算法 (Logistic Regression)

第三章 【机器学习】【监督学习】- 支持向量机 (SVM)

第四章【机器学习】【监督学习】- K-近邻算法 (K-NN)

第五章【机器学习】【监督学习】- 决策树 (Decision Trees)

第六章【机器学习】【监督学习】- 梯度提升机 (Gradient Boosting Machine, GBM)

第七章 【机器学习】【监督学习】-神经网络 (Neural Networks)

第八章【机器学习】【监督学习】-卷积神经网络 (CNN)

第九章【机器学习】【监督学习】-循环神经网络 (RNN)

第十章【机器学习】【监督学习】-线性回归

第十一章【机器学习】【监督学习】-局部加权线性回归 (Locally Weighted Linear Regression, LWLR)

第十二章【机器学习】【监督学习】- 岭回归 (Ridge Regression)

十三、【机器学习】【监督学习】- Lasso回归 (Least Absolute Shrinkage and Selection Operator)

十四、【机器学习】【监督学习】- 弹性网回归 (Elastic Net Regression)

十五、【机器学习】【监督学习】- 神经网络回归 

十六、【机器学习】【监督学习】- 支持向量回归 (SVR)

十七、【机器学习】【非监督学习】- K-均值 (K-Means) 

十八、【机器学习】【非监督学习】- DBSCAN (Density-Based Spatial Clustering of Applications with Noise)十九、【机器学习】【非监督学习】- 层次聚类 (Hierarchical Clustering)二十、【机器学习】【非监督学习】- 均值漂移 (Mean Shift)

二十一、【机器学习】【非监督学习】- 谱聚类 (Spectral Clustering)​​ 


目录

系列文章目录

一、基本定义

(一)、监督学习

(二)、监督学习的基本流程

(三)、监督学习分类算法(Classification)

二、 多项式朴素贝叶斯分类器(Multinomial Naive Bayes)

(一)、定义

(二)、基本概念

(三)、训练过程

1. 计算先验概率

2. 计算条件概率

3. 应用拉普拉斯平滑

4.整体流程概览

(四)、特点

(五)、适用场景

(六)、扩展

三、总结

四、相关书籍介绍


一、基本定义

(一)、监督学习

        监督学习(Supervised Learning)是机器学习中的一种主要方法,其核心思想是通过已知的输入-输出对(即带有标签的数据集)来训练模型,从而使模型能够泛化到未见的新数据上,做出正确的预测或分类。在监督学习过程中,算法“学习”的依据是这些已标记的例子,目标是找到输入特征与预期输出之间的映射关系。

(二)、监督学习的基本流程

        数据收集:获取包含输入特征和对应正确输出标签的训练数据集。
        数据预处理:清洗数据,处理缺失值,特征选择与转换,标准化或归一化数据等,以便于模型学习。
        模型选择:选择合适的算法,如决策树、支持向量机、神经网络等。
        训练:使用训练数据集调整模型参数,最小化预测输出与实际标签之间的差距(损失函数)。
        验证与调优:使用验证集评估模型性能,调整超参数以优化模型。
        测试:最后使用独立的测试集评估模型的泛化能力,确保模型不仅在训练数据上表现良好,也能在未见过的新数据上做出准确预测。

(三)、监督学习分类算法(Classification)

        定义:分类任务的目标是学习一个模型,该模型能够将输入数据分配到预定义的几个类别中的一个。这是一个监督学习问题,需要有一组已经标记好类别的训练数据,模型会根据这些数据学习如何区分不同类别。
        例子:垃圾邮件检测(垃圾邮件 vs. 非垃圾邮件)、图像识别(猫 vs. 狗)。


二、 多项式朴素贝叶斯分类器(Multinomial Naive Bayes)

(一)、定义

Multinomial Naive Bayes(多项式朴素贝叶斯分类器)是一种基于贝叶斯定理的分类方法,特别适合处理特征可以被看作是事件出现次数的情况,例如文档分类中词频的计数。在Multinomial Naive Bayes模型中,每个类别下的特征频率独立于其他特征,这是“朴素”假设的由来,尽管这种假设在现实世界中很少成立,但它在很多情况下依然能给出有效的分类结果。

(二)、基本概念

  1. 贝叶斯定理:Multinomial Naive Bayes的基础是贝叶斯定理,它描述了在给定某些证据的情况下,某个假设的概率。公式为:,其中P(A∣B)是在观测到B的情况下A发生的概率。

  2. 多项式分布:在Multinomial Naive Bayes中,特征(如单词出现的次数)遵循多项式分布。这意味着,对于给定的文档,每个单词的出现次数被建模为来自一个多项式分布。

  3. 朴素假设:假定特征之间相互独立,即使在现实中它们可能不是。这个假设简化了模型,使得计算变得可行。

(三)、训练过程

Multinomial Naive Bayes的训练过程主要包括两个关键步骤:计算先验概率和计算条件概率。下面是对这两个步骤的详细解析,以及如何应用拉普拉斯平滑来避免概率估计中的零值问题。

1. 计算先验概率

先验概率是指在看到任何特征之前,每个类别的基础概率。这通常基于训练数据集中各个类别的频率来计算。具体步骤如下:

  • 对于每个类别 c,计算该类别样本在训练集中的比例:

这个概率提供了对类别分布的基本了解,是朴素贝叶斯分类器分类决策的重要组成部分。

2. 计算条件概率

条件概率 P(fi​∣c) 指的是在给定类别 c 下特征 fi​ 出现的概率。对于Multinomial Naive Bayes,我们关心的是特征的计数,所以计算条件概率通常涉及以下几个步骤:

  • 对于每个类别 c,统计特征 fi​ 在该类别样本中出现的总次数
  • 同时,记录该类别下所有特征的总出现次数nc​。
  • 最后,计算条件概率:

其中,V 是词汇表大小(特征空间的维度),α 是拉普拉斯平滑系数,通常设置为1。

3. 应用拉普拉斯平滑

在计算条件概率时,拉普拉斯平滑(或称为加一平滑)是非常重要的,尤其是当训练数据集较小,某些特征在某些类别中未出现时。如果不使用平滑,那么 P(fi​∣c) 将会是0,这会导致在乘法过程中整个条件概率变为0,即使其他特征给出了非零的概率。

通过在分子和分母上添加一个小的正值 α,我们可以避免这种情况。这样即使某个特征在训练数据中未出现,我们也能得到一个非零的概率估计,从而不会使整个分类器失效。

4.整体流程概览
  • 初始化:设置每个类别的先验概率为0,初始化每个特征的条件概率。
  • 遍历训练集:对于每个样本,更新对应类别的先验概率和特征的条件概率计数。
  • 计算最终概率:使用上述公式计算先验概率和条件概率。
  • 应用平滑:在计算条件概率时应用拉普拉斯平滑,以避免零概率问题。
  • 保存模型:将计算得到的先验概率和条件概率存储下来,供后续的分类预测使用。

训练过程完成后,Multinomial Naive Bayes模型可以用于新的输入数据的分类,通过计算每个类别的后验概率,并选择具有最高后验概率的类别作为预测结果。由于其简单性和计算效率,Multinomial Naive Bayes在文本分类和其他特征可视为计数的场景中非常流行。

(四)、特点

  • 快速且简单:Multinomial Naive Bayes的训练和预测都非常快,因为它只需要简单的概率计算。
  • 对输入数据要求低:不需要特征缩放或归一化,因为它是基于频率的。
  • 处理高维特征:非常适合处理具有大量特征的数据,如文本数据,即使特征间可能存在依赖关系。

(五)、适用场景

  • 文本分类:如情感分析、垃圾邮件过滤、新闻分类等。
  • 推荐系统:基于用户的历史行为预测其可能感兴趣的内容。
  • 生物信息学:如基因表达数据的分类。

(六)、扩展

  1. Bernoulli Naive Bayes:与Multinomial Naive Bayes类似,但用于二进制特征,即特征要么存在要么不存在,而不是计算其频率。
  2. Gaussian Naive Bayes:用于连续特征,假设特征服从高斯分布。
  3. Kernel Naive Bayes:使用核函数来处理非线性关系,可以处理更复杂的特征分布。

三、总结

Multinomial Naive Bayes因其简单性和在文本分类等领域的有效性而广受欢迎,尽管它的“朴素”假设在实际中往往不成立,但在很多情况下,它仍然能提供令人满意的结果。

四、相关书籍介绍

《Python机器学习算法》这本书是由赵志勇编写,由电子工业出版社出版的一本关于机器学习的入门书籍,出版时间为2017年7月。该书的特点是结合理论与实践,旨在帮助读者不仅理解机器学习算法的理论基础,而且能够动手实践,最终熟练掌握算法的应用。以下是本书的主要内容和适用读者群体的总结:

内容概览

本书分为六个主要部分:

  1. 基本概念:介绍监督学习、无监督学习和深度学习的基本概念。
  2. 分类算法:包括Logistic回归、Softmax Regression、Factorization Machine、支持向量机(SVM)、随机森林和BP神经网络等。
  3. 回归算法:涵盖线性回归、岭回归和CART树回归。
  4. 聚类算法:如K-Means、Mean Shift、DBSCAN和Label Propagation算法。
  5. 推荐算法:基于协同过滤、矩阵分解和基于图的推荐算法。
  6. 深度学习:介绍AutoEncoder和卷积神经网络(CNN)。

此外,本书还特别安排了一章来讲解算法在具体项目中的实践案例,以及附录部分介绍了Python语言、numpy库和TensorFlow框架的使用方法。

适用读者

这本书适合以下几类读者:

  • 机器学习初学者:书中从算法原理出发,逐步深入,适合没有机器学习背景的读者入门。
  • 具有一定项目经验的读者:书中不仅有理论介绍,还有大量实践代码,可以帮助已有一定经验的读者深化理解,提升技能。
  • 对推荐系统、广告算法和深度学习感兴趣的读者:书中详细介绍了这些领域的实用算法,有助于读者在这些方向上进行深入研究。

总之,《Python机器学习算法》是一本全面介绍机器学习算法的书籍,它兼顾理论与实践,无论是对初学者还是有一定经验的读者,都能从中找到适合自己的内容。

书籍下载链接:

链接:https://pan.baidu.com/s/1ngX9yoC1HMZ2ORmHvSEtlA?pwd=0qbm 
提取码:0qbm 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

追踪团贷网第1968天:重磅!派生科技的股权准备拍卖!合计8.51亿

周五晚,聊聊团贷网最新消息。 继续关注团贷网涉案资产的拍卖。 这周又有重大进展,派生科技的股权与股票,终于要开始拍卖了。 (来自京东拍卖网) (来自京东拍卖网) 目前正在预热阶段,将会在9月18日集中拍卖,而且拆分成…

Visual C++ 2010 学习版

这个版本很好用。 在这里放一个链接,做个备份。 这个版本是承前启后的版本,非常的重要。 一、使用VC2010 这个版本创建的解决方案可以在VS2010~VS2022版本中打开,反之也行。 二、使用VC2010 可以编绎VC6.0 ~VC2008的项目。可以使用现成的…

让护眼旗舰体验全面普及!书客L2 PRO凭借医学养护眼爆火受追捧!

为了满足消费者日益增长的健康需求,书客宣布推出其最新款护眼台灯——[书客L2 PRO护眼台灯]。书客作为深耕照明领域多年的品牌,八年间始终坚持着医护级“护眼更养眼”的理念,这一款[养眼更护眼]的巅峰力作备受业界的瞩目与期待。书客L2 PRO护…

Visual Studio 2022 无法打开源文件atlimage.h

最近在搞tcp socket 通信demo,网上抄了一下源码(代码参考:C中的Socket编程使用协议发送图片_快速传输 照片 c-CSDN博客),还没开始编译就提示 无法打开源文件atlimage.h,全局搜了一下没有这个文件&#xff0…

(七)Activiti-modeler中文支持

1、修改app.js,51行 注意第3步,之前已经访问过,缓存到cookie了,这里要么注释该方法,要么去浏览器手动删除对应cookie才能使用下面的zh-CN.json 2、i18n\en.json中添加zh-CN.json (以下代码片断为网上获得…

进阶岛【闯关任务】探索 InternLM 模型能力边界

一、任务介绍 在 CompassArena 中选择双模型对话,与InternLM2.5及另外任意其他模型对话,收集 5 个 InternLM2.5 输出结果不如其他模型的对话案例,以及 InternLM2.5 的 5 个 Good Case。 任务地址:Docs 二、评测指标 可以从评测…

CSS小玩意儿:文字适配背景

一&#xff0c;效果 二&#xff0c;代码 1&#xff0c;搭个框架 添加一张背景图片&#xff0c;在图片中显示一行文字。 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" conte…

怎么等比例调整图片尺寸大小?调整图片尺寸的8个方法

在数字时代&#xff0c;图片已成为我们日常生活与工作中不可或缺的一部分。从社交媒体分享到专业设计项目&#xff0c;图片的质量和外观直接影响着信息的传达与接收。因此&#xff0c;在处理图片时&#xff0c;保持其原始的纵横比&#xff0c;即等比例调整图片尺寸&#xff0c;…

数字媒体产业发展现状剖析,洞悉数字产业园的创新之举

在当今数字化时代&#xff0c;数字媒体产业发展迅猛&#xff0c;呈现出一片繁荣景象。然而&#xff0c;在这繁荣的背后&#xff0c;数字媒体产业发展现状也存在着诸多挑战与机遇。 数字媒体产业发展现状的一个显著特点是技术的快速更新换代。从虚拟现实&#xff08;VR&#xf…

智能驾驶时代的中控屏UI设计创新

当前&#xff0c;汽车交互设计领域正蓬勃发展&#xff0c;其中以中控屏的交互设计尤为突出。这种设计现状显示了其在汽车行业中的广泛应用和重要性。中控屏的设计不仅提升了驾驶体验&#xff0c;还增强了车辆的功能性与安全性。利用通用的中控屏 UI 设计模板能够快速设计出一个…

【ubuntu】ROS(1)

1 ROS安装 基于 ubuntu 20.04 ubuntu 镜像下载地址&#xff1a;Index of / 1.1 设置安装源 设置ROS源 sudo sh -c echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list 设置密钥 sudo apt-key…

c语言---文件

这一节我准备分三个部分来带领大家了解文件 ——一、有关文件的基础知识 ————二、文件的简单操作 ————————三、文件结束的判定 ————————————四、文件缓冲区 一、文件的基础知识&#xff1a; 首先在了解文件之前&#xff0c;我们需要了解C/C程序内存…

17.session不共享问题

问题 多台Tomcat并不共享session存储空间&#xff0c;当请求切换到不同的tomcat服务时导致数据丢失问题。 考虑到以后微服务部署多个项目&#xff0c;也就是多个tomcat就会出现session不共享问题。 替代方案满足条件 1.数据共享 2.内存存储&#xff0c;因为session就是基于内…

NVDLA专题10:具体模块介绍——Planar Data Processor

概述 平面数据处理器(Planar Data Processor, PDP)沿宽x高的前两个维度平面执行操作&#xff0c;在NVDLA版中&#xff0c;PDPD旨在实现池化层&#xff0c;module定义在NV_NVDLA_pdp.v。支持最大、最小和平均池化方法。平面内的几个相邻输入元素将被发送到非线性函数来计算一个…

canvas的基础使用

canvas的基础使用 一、画一条直线二、线的属性设置三、防止多次绘制的样式污染四、闭合五、快捷绘制矩形六、绘制圆形七、绘制文字八、绘制图片js版dom版图片截取 一、画一条直线 画一条直线需要用到三个方法&#xff1a;cxt.moveTo、cxt.lineTo、cxt.stroke <canvas id&qu…

代码随想录训练营 Day32打卡 动态规划 part01 理论基础 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯

代码随想录训练营 Day32打卡 动态规划 part01 一、 理论基础 动态规划中每一个状态一定是由上一个状态推导出来的&#xff0c;这一点就区分于贪心&#xff0c;贪心没有状态推导&#xff0c;而是从局部直接选最优的。 例如&#xff1a;有N件物品和一个最多能背重量为W 的背包…

【leetcode】两数相加-25-4

方法&#xff1a;遍历 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr) {}* ListNode(int x, ListNode *next) : val(x), ne…

探讨MySQL中 “约束“ 下的查询

目录&#xff1a; 一. 数据库约束 二. 表的设计 三. 聚合查询 四.联合查询 一. 数据库约束&#xff1a; 1.约束类型汇总&#xff1a; 约束类型 说明 NULL约束使用NOT NULL指定列不为 空UNIQUE唯一约束指定列为唯一的、不重复的DEFAULT默认值约 …

Xchart 相关操作

using Newtonsoft.Json; using System.Collections; using System.Collections.Generic; using UnityEngine; using XCharts; /***************************************************************************** Copyright (C) 2013-2023 北京普源瑞新仿真科技有限公司 All Ri…

工作流(低代码)提升工作效率的秘密武器

如何看待“低代码”开发平台的兴起&#xff1f; 在当今快速变化的数字化时代&#xff0c;企业面临着前所未有的挑战和机遇。如何在激烈的市场竞争中脱颖而出&#xff0c;成为每个企业必须思考的问题。而低代码工具&#xff0c;正是帮助企业提升工作效率&#xff0c;实现快速响…