机器学习之分类模型
机器学习之分类模型
- 概述
- 分类模型
- 逻辑回归
- 最近邻分类
- 朴素贝叶斯
- 支持向量机
- 决策树
- 随机森林
- 多层感知机
- 基于集成学习的分类模型
- Voting
- Bagging
- Stacking
- Blending
- Boosting
概述
机器学习分类模型通过训练集进行学习,建立一个从输入空间 X X X到输出空间 Y Y Y(离散值)的映射。按照输出类别(标签)的不同,可以分为二分类(Binary Classification)、多分类(Multi-Class Classification)、多标签分类(Multi-Label Classification)。常用的分类算法有逻辑回归、KNN、决策数、随机森林、朴素贝叶斯等。下面将分别对具体的分类模型进行介绍。
分类模型
逻辑回归
逻辑回归是在线性回归基础上衍生出来的用于分类的模型,由于线性回归的结果输出是一个连续值,而其范围是无法限定的,直接使用线性回归是无法作为分类的判别依据的。需要使用一个映射函数(例如Sigmoid函数)将连续的输出值映射到(0,1)之间,这个概率值就可以作为模型判断分类结果的依据。
最近邻分类
最近邻分类(KNN)是一种常用的数据聚类方法,其核心思想是在特征空间中寻找匹配的k个最近点,根据k个最近点的投票来判断当前样本应该属于哪一个类别。KNN算法中,所选择的邻居都是已经正确分类的对象,常用的距离函数由曼哈顿距离、欧式距离和闵可夫斯基距离。
朴素贝叶斯
朴素贝叶斯分类器是建立在贝叶斯定律和事件之间条件独立假设的基础上,贝叶斯定律如下所示:
P ( B i ∣ A ) = P ( B i ) P ( A ∣ B i ) ∑ j = 1 n P ( B j ) P ( A ∣ B j ) P(B_i|A) = \frac{P(B_i)P(A|B_i)}{\sum_{j=1}^{n}P(B_j)P(A|B_j)} P(Bi∣A)=∑j=1nP(Bj)P(A∣Bj)P(Bi)P(A∣Bi)
其中 P ( ⋅ ) P(\cdot) P(⋅)为事件发生的概率, P ( A ∣ B ) P(A|B) P(A∣B)则表示在B发生的情况下A发生的概率。
事件之间相互独立的假设认为即使这些事件相互依赖或者依赖于其他事件的存在,朴素贝叶斯算法都认为这些事件都是独立的。朴素贝叶斯通过已给定的训练集,学习从输入到输出的联合概率分布,再基于学习到的模型和输入求出使得后验概率最大的输出。
支持向量机
支持向量机(SVM)把分类问题转化为寻找分类平面的问题,把样本空间映射到一个高维特征空间中,并通过最大化分类边界点到分类平面的距离来实现分类。SVM学习的基本想法是求解能够正确划分训练数据集并且几何间隔最大的分离超平面。对于线性可分的数据集来说,划分出不同类别的超平面有无穷多个,但是使几何间隔最大的分离超平面是唯一的。
SVM利用核函数将数据从低维空间映射到高维空间,可以很好地减少计算量,并且将数据投影到高维空间后,数据就可能变得可分,在某种程度上避免了“维度灾难”。
决策树
决策树是用树状结构构建的一类分类模型。从跟节点开始,算法不断通过一定的条件来将数据集拆分成更小的子集来划分数据集,最终发展成具有决策节点(包括根节点和内部节点)和叶节点的树。随着树的深度不断增加,分支节点的子集越来越小,判断条件也逐渐简化。当分支节点的深度或者判断条件满足一定的停止规则时,该分支节点会停止分裂,此为自上而下的阈值终止(Cutoff Thresshold)法;此外还有自下而上的剪枝(Pruning)法。在分类预测时,输入数据经过决策树内部的各个决策节点,按照不同的属性值进入不同的分支,直到到达叶子节点完成分类。
随机森林
随机森林是指通过多棵决策树联合组成的模型,不同决策树之间没有关联。当执行分类任务时,新的输入样本进入,会输入到随机森林中不同的决策树内,按照所有决策树的判断条件得到多个分类结果,最后采用少数服从多数的投票方式决定最终的分类结果。
多层感知机
多层感知机(Multilayer Perception,MLP)是一种基于前向传播的人工神经网络,模仿人类的感受器神经元将信号逐层向下传播。多层感知机的基本结构一般由三层组成:输入层、隐藏层和输出层。训练时,使用反向传播算法(例如梯度下降法)来调整权重,减少训练过程中的偏差,即真值和预测值之间的误差。
基于集成学习的分类模型
集成学习(Ensemble Learning)是一种能在各种的机器学习任务上提高准确率的强有力技术,其通过组合多个基本分类器来完成学习任务。对于单个模型,很容易出现过拟合或欠拟合的情况,并且各个模型在设计的时候就有自己本身的优缺点,因此我们可以通过基于集成学习的方法进行模型融合达到取长补短的效果。常用的融合方案有Voting、Bagging、Stacking、Blending和Boosting。
Voting
Voting是指投票法,采取少数服从多数的原则,对于多个分类器的预测结果进行投票,具体可分为普通投票法和加权投票法。其中加权投票法的权重可以人工主观设置或者根据模型评估分数来设置。投票法通常需要3个及以上的模型,并且为了避免投票结果的偏差,需要保证模型的多样性。
Bagging
在Voting方法中,采用相同的全部样本训练每一个基分类器,而Bagging方法则是使用全部样本的一个随机抽样,每个分类器都是使用不同的样本进行训练,其他的地方二者完全一致。这样就避免了模型训练结果的同质化问题,提高了不稳定模型准确率的同时,降低了过拟合的程度。
Stacking
Stacking是一种分层模型集成框架。将若干个基分类器获得的预测结果,将预测结果作为新的训练集来训练一个学习器。以一个两层的Stacking集成框架为例,地一层由多个基学习器组成,输入为原始训练集,第二层的模型则是以第一层基学习其
Blending
Boosting
相关文章:
机器学习之分类模型
机器学习之分类模型 概述分类模型逻辑回归最近邻分类朴素贝叶斯支持向量机决策树随机森林多层感知机基于集成学习的分类模型VotingBaggingStackingBlendingBoosting 概述 机器学习分类模型通过训练集进行学习,建立一个从输入空间 X X X到输出空间 Y Y Y(…...
学习Vue:创建第一个Vue实例
当您开始探索 Vue.js,第一步就是创建一个 Vue 实例。Vue 实例是 Vue.js 应用程序的核心构建块,它使您能够将数据与用户界面连接起来,实现动态交互。在本文中,我们将详细介绍如何创建您的第一个 Vue 实例。 步骤1:引入 …...
JavaFx基础学习【二】:Stage
一、介绍 窗口Stage为图中标绿部分: 实际为如下部分: 不同的操作系统表现的样式不同,以下都是以Windows操作系统为例,为了使大家更清楚Stage是那部分,直接看以下图,可能更清楚: 有点潦草&…...
C语言——动态内存函数(malloc、calloc、realloc、free)
了解动态内存函数 前言:一、malloc函数二、calloc函数三、realloc函数四、free函数 前言: 在C语言中,动态内存函数是块重要的知识点。以往,我们开辟空间都是固定得,数组编译结束后就不能继续给它开辟空间了࿰…...
Redis数据结构——Redis简单动态字符串SDS
定义 众所周知,Redis是由C语言写的。 对于字符串类型的数据存储,Redis并没有直接使用C语言中的字符串。 而是自己构建了一个结构体,叫做“简单动态字符串”,简称SDS,比C语言中的字符串更加灵活。 SDS的结构体是这样的…...
【计算机网络】TCP协议超详细讲解
文章目录 1. TCP简介2. TCP和UDP的区别3. TCP的报文格式4. 确认应答机制5. 超时重传6. 三次握手7. 为什么两次握手不行?8. 四次挥手9. 滑动窗口10. 流量控制11. 拥塞控制12. 延时应答13. 捎带应答14. 面向字节流15. TCP的连接异常处理 1. TCP简介 TCP协议广泛应用于可靠性要求…...
Salesforce特别元数据部署技巧
标准的picklist字段部署 <?xml version"1.0" encoding"UTF-8" standalone"yes"?> <Package xmlns"http://soap.sforce.com/2006/04/metadata"><types><members>Opportunity.StageName</members><…...
[前端系列第2弹]CSS入门教程:从零开始学习Web页面的样式和布局
在这篇文章中,我将介绍CSS的基本概念、语法、选择器、属性和值,以及如何使用它们来定义Web页面的外观和布局。还将给一些简单而实用的例子,可以跟着我一步一步地编写自己的CSS样式表。 目录 一、什么是CSS 二、CSS的语法 三、CSS的选择器 …...
非计算机科班如何丝滑转码?
转码,也就转行为程序员,已成为当今数字化时代的一种重要技能。随着科技的发展,越来越多的人开始意识到掌握编程技能的重要性,而非计算机科班出身的朋友们,想要丝滑转码,也许可以从以下几个方面入手。 一、明…...
亿发创新中医药信息化解决方案,自动化煎煮+调剂,打造智能中药房
传统中医药行业逐步复兴,同时互联网科技和人工智能等信息科技助力中医药行业逐步实现数字化转型。利用互联网、物联网、大数据等科技,实现现代科学与传统中医药的结合,提供智能配方颗粒调配系统、中药自动化调剂系统、中药煎配智能管理系统、…...
Vulnhub: MoneyBox: 1靶机
kali:192.168.111.111 靶机:192.168.111.194 信息收集 端口扫描 nmap -A -sC -v -sV -T5 -p- --scripthttp-enum 192.168.111.194 ftp匿名登录发现trytofind.jpg 目录爆破发现blogs目录 gobuster dir -u http://192.168.111.194 -w /usr/share/word…...
[国产MCU]-BL602开发实例-LCD1602 I2C驱动
LCD1602 I2C驱动 文章目录 LCD1602 I2C驱动1、LCD1602/LCD2004介绍2、硬件准备3、驱动实现本文将详细介绍如何在K210中驱动LCD1602/LCD2004 I2C显示屏。 1、LCD1602/LCD2004介绍 LCD1602液晶显示器是广泛使用的一种字符型液晶显示模块。它是由字符型液晶显示屏(LCD)、控制驱…...
AI 绘画Stable Diffusion 研究(七) 一文读懂 Stable Diffusion 工作原理
大家好,我是风雨无阻。 本文适合人群: 想要了解AI绘图基本原理的朋友。 对Stable Diffusion AI绘图感兴趣的朋友。 本期内容: Stable Diffusion 能做什么 什么是扩散模型 扩散模型实现原理 Stable Diffusion 潜扩散模型 Stable Diffu…...
URLSearchParams:JavaScript中的URL查询参数处理工具
文章目录 导言:一、URLSearchParams的来历二、URLSearchParams的作用三、URLSearchParams的方法和属性四、使用示例五、注意事项六、结论参考资料 导言: 在Web开发中,处理URL查询参数是一项常见的任务。为了简化这一过程,JavaScr…...
1.4 数据库管理与优化
数据库管理与优化 文章目录 数据库管理与优化1. 数据库概述1.1 数据库的定义和作用1.2 数据库管理系统(DBMS) 2. 数据库模型2.1 关系型数据库**2.2 非关系型数据库 3. 数据库设计3.1 数据库设计原则3.2 数据库设计步骤 4. 数据库优化4.1 数据库性能优化4…...
T113-S3 Tina-Linux -- 2.开发板使用
1. 硬件环境 1.1 开发板 型号:100ASK_T113-PRO Base V1.1(韦东山)配置:CPU:T113-S3,RAM:128MB,ROM:128MB 2. 各模块使用 2.1 wifi wifi模组型号:XR829…...
Django-配置邮箱功能(一):使用django自带的发送邮件功能
一、获取邮箱授权码 以QQ邮箱为例子: 1、进入到设置,找到账户 2、开启POP3等服务,点击管理服务 3、进入管理服务,生成授权码 4、按照要求发送短信就可以了 5、将授权码复制保存,离开界面就看不到了 二、django项目中…...
JS实现树形结构、一维数组以及map之间的转换
const treeData[ {id:1, name:中国, children:[ {id:11,name:河南省,children:[{id:111,name:南阳市,children:[{id:1111,name:淅川县,children:null}]},{id:112,name:郑州市,children:[{id:1121,name:中牟县,children:null}]}] }, {id:22,name:广东省,children:[{id:221,name:…...
Vue中自定义.js变量
1、定义.js文件 order.js文件内容: // 订单是否报账 const EXPENESS_STATUS_NO0; const EXPENESS_STATUS_YES1; // 状态 0-未发货 1-发货 2-确认收获 const STATUS_NO0; const STATUS_SEND1; const STATUS_DELIVERY2; // 如何不加这个,vue中引…...
基于深度信念神经网络+长短期神经网络的降雨量预测,基于dbn-lstm的降雨量预测,dbn原理,lstm原理
目录 背影 DBN神经网络的原理 DBN神经网络的定义 受限玻尔兹曼机(RBM) LSTM原理 DBN-LSTM的降雨量预测 基本结构 主要参数 数据 MATALB代码 结果图 展望 背影 DBN是一种深度学习神经网络,拥有提取特征,非监督学习的能力,通过dbn进行无监督学习提取特征,然后长短期神经…...
Python open方法详解
编程中的 open() 方法:核心用法全解 open() 是操作文件的核心方法,几乎所有编程语言(Python、Java、JavaScript 等)都有这个方法,最常用、最适合新手的是 Python 的 open(),我直接给你最实用、能马上用的完整指南。 一、Python open() 基础语法 作用:打开文件,并返回…...
LLM强化学习从入门到精通:Composition-RL全解析,收藏这篇就够了!
🎯 为什么我们需要Composition-RL? 想象一下:你正在备考数学竞赛,一开始做的都是基础题。随着练习增多,你能轻松答对所有基础题,但这些简单题已经无法帮你进步了——你需要更难的题目来提升能力。 这正是…...
PipelineDB扩展开发指南:如何编写自定义聚合函数
PipelineDB扩展开发指南:如何编写自定义聚合函数 【免费下载链接】pipelinedb High-performance time-series aggregation for PostgreSQL 项目地址: https://gitcode.com/gh_mirrors/pi/pipelinedb PipelineDB作为PostgreSQL的高性能时序聚合扩展࿰…...
手把手教你用Multisim仿真二阶低通滤波器(附三种类型对比)
手把手教你用Multisim仿真二阶低通滤波器(附三种类型对比) 在电子电路设计中,滤波器扮演着至关重要的角色,它能有效分离信号中的特定频率成分。二阶低通滤波器作为基础电路拓扑,广泛应用于音频处理、传感器信号调理等领…...
2026年4月,天府新区,成都装修公司哪家好,北京我爱我家装饰(成都旗舰店)
引言在快速发展的天府新区,装修选择成为了许多家庭和业主的首要问题。无论是新房装修、老房翻新还是局部改造,如何选择一家既专业又可靠的装修公司,确保从设计到施工的每个环节都令人满意,是大家最为关心的问题。本文将通过实际案…...
modbus-esp8266库深度解析:工业级Modbus协议栈实现
1. modbus-esp8266 库深度技术解析:面向工业嵌入式场景的全协议栈实现1.1 库定位与工程价值modbus-esp8266是当前 Arduino 生态中功能最完备、架构最严谨的 Modbus 协议栈实现,专为 ESP8266/ESP32 等资源受限但网络能力突出的 Wi-Fi 微控制器平台深度优化…...
GHelper合盖模式终极指南:华硕笔记本外接显示器合盖不休眠完整教程
GHelper合盖模式终极指南:华硕笔记本外接显示器合盖不休眠完整教程 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TU…...
一文搞懂计算机网络基础!
对于想入门网络安全、IT 运维、云计算的同学来说,计算机网络是绕不开的核心基础。但一堆晦涩的概念、复杂的分类,常常让新手望而却步。今天我们就用一张思维导图,把计算机网络基础的核心知识点全部拆解,从定义、作用、类型、核心设…...
9. C++14新特性-std::tuple 的按类型寻址 (Type-based Tuple Addressing)
一、引言在现代 C 中,当我们想要在一个函数中返回多个不同类型的值,或者临时打包几个数据时,std::tuple(元组)是最标准的容器。然而,C11 提供的基于索引的元组访问方式,在工程实践中暴露出严重的…...
ParaView实战:5分钟搞定热流图单元格体积计算(附Python脚本)
ParaView热流分析实战:从单元格体积计算到三维可视化全流程指南 在计算流体力学和热传导分析中,准确获取网格单元的体积数据是后续量化分析的基础。许多工程师在处理复杂几何体的热流分布时,常常陷入繁琐的手动计算或复杂的编程工作中。实际上…...
