机器学习之分类模型

机器学习之分类模型

  • 概述
  • 分类模型
    • 逻辑回归
    • 最近邻分类
    • 朴素贝叶斯
    • 支持向量机
    • 决策树
    • 随机森林
    • 多层感知机
    • 基于集成学习的分类模型
      • 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(BiA)=j=1nP(Bj)P(ABj)P(Bi)P(ABi)
其中 P ( ⋅ ) P(\cdot) P()为事件发生的概率, P ( A ∣ B ) P(A|B) P(AB)则表示在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

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

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

相关文章

推断统计(独立样本t检验)

这里我们是采用假设检验中的独立样本t 检验来比较两个独立正态总体均值之间是否存在显著性差异,以比较城市与农村孩子的心理素质是否有显著差异为例 。 这里我们首先是假设城市孩子与农村孩子心理素质无显著差异,但是此时方差是否齐性是未知的&#xff0…

题目:2566.替换一个数字后的最大差值

​​题目来源: leetcode题目,网址:2566. 替换一个数字后的最大差值 - 力扣(LeetCode) 解题思路: 将从左到右第一个非 9 数字全部修改为 9 以得到最大值。将从左到右第一个数字全部修改为 0 以得到最小值&a…

c#实现命令模式

下面是一个使用C#实现命令模式的示例代码: using System; using System.Collections.Generic;// 命令接口 public interface ICommand {void Execute();void Undo(); }// 具体命令:打开文件 public class OpenFileCommand : ICommand {private FileMana…

【MySQL】MySQL不走索引的情况分析

未建立索引 当数据表没有设计相关索引时,查询会扫描全表。 create table test_temp (test_id int auto_incrementprimary key,field_1 varchar(20) null,field_2 varchar(20) null,field_3 bigint null,create_date date null );expl…

ffmpeg命令行是如何打开vf_scale滤镜的

前言 在ffmpeg命令行中,ffmpeg -i test -pix_fmt rgb24 test.rgb,会自动打开ff_vf_scale滤镜,本章主要追踪这个流程。 通过gdb可以发现其基本调用栈如下: 可以看到,query_formats()中创建的v…

Unity框架学习--2

接上文 IOC 容器是一个很方便的模块管理工具。 除了可以用来注册和获取模块,IOC 容器一般还会有一个隐藏的功能,即: 注册接口模块 抽象-实现 这种形式注册和获取对象的方式是符合依赖倒置原则的。 依赖倒置原则(Dependence I…

maven install

maven install maven 的 install 命令,当我们的一个 maven 模块想要依赖其他目录下的模块时,直接添加会找不到对应的模块,只需要找到需要引入的模块,执行 install 命令,就会将该模块放入本地仓库,就可以进…

Linux tar包安装 Prometheus 和 Grafana(知识点:systemd Unit/重定向)

0. 介绍 用tar包的方式安装 Prometheus 和 Grafana Prometheus:开源的监控方案Grafana:将Prometheus的数据可视化平台 Prometheus已经有了查询功能为什么还需要grafana呢?Prometheus基于promQL这一SQL方言,有一定门槛!Grafana基于浏览器的操作与可视化图表大大降低了理解难…

Vue3 setup tsx 子组件向父组件传值 emit

需求:Vue3 setup 父组件向子组件传值,子组件接收父组件传入的值;子组件向父组件传值,父组件接收的子组件传递的值。 父组件:parent.tsx: import { defineComponent, ref, reactive } from vue; import To…

【Android】okhttp爆java.lang.IllegalStateException: closed的解决方法

解决 java.lang.IllegalStateException: closed异常通常是由于OkHttp中的Response对象在调用response.body().string()后被关闭而导致的。 在代码中,在onResponse()方法中如果两次调用了response.body().string(),每次调用都会消耗掉响应体并关闭Respo…

如何优化PHP Smarty模板的性能?

Smarty模板是一种非常强大的模板引擎,但是如果不正确地使用,可能会导致你的网站慢得像一只树懒! 那么,如何优化Smarty模板的性能呢? 减少Smarty对象的创建 你可能会在代码中多次创建Smarty对象。但是,每次…

Server - 文字转语音 (Text to Speech) 的在线服务 TTSMaker

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/132287193 TTSMaker 是一款免费的文本转语音工具,提供语音合成服务,支持多种语言,包括英语、法语、德语、西班…

什么是冒烟测试?

冒烟测试,刚进公司就接触到了。只是刚开始一直没有体会到冒烟的含义和精髓,一直以为是冒烟测试就是把待测产品的主要功能测试一下就行了。后面回想一下,不是那么回事的。 冒烟测试源自硬件行业,对一个硬件或者硬件组件改动后&…

Exams/ece241 2013 q4

蓄水池问题 S3 S2 S1 例如:000 代表 无水 ,需要使FR3, FR2, FR1 都打开(111) S3 S2 S1 FR3 FR2 FR1 000 111 001 011 011 001 111 000 fr代表水变深为…

快手商品详情数据API 抓取快手商品价格、销量、库存、sku信息

快手商品详情数据API是用来获取快手商品详情页数据的接口,请求参数为商品ID,这是每个商品唯一性的标识。返回参数有商品标题、商品标题、商品简介、价格、掌柜昵称、库存、宝贝链接、宝贝图片、商品SKU等。 接口名称:item_get 公共参数 名…

【PostgreSQL的CLOG解析】

同样还是这张图,之前发过shared_buffer和os cache、wal buffer和work mem的文章,今天的主题是图中的clog,即 commit log,PostgreSQL10之前放在数据库目录的pg_clog下面。PostgreSQL10之后修更名为xact,数据目录变更为pg_xact下面&…

WPF 本地化的最佳做法

WPF 本地化的最佳做法 资源文件英文资源文件 en-US.xaml中文资源文件 zh-CN.xaml 资源使用App.xaml主界面布局cs代码 App.config辅助类语言切换操作类资源 binding 解析类 实现效果 应用程序本地化有很多种方式,选择合适的才是最好的。这里只讨论一种方式&#xff0…

pytorch单机多卡后台运行

nohup sh ./train_chat.sh > train_chat20230814.log 2>1&参考资料 Pytorch单机多卡后台运行的解决办法

kafka-2.12使用记录

kafka-2.12使用记录 安装kafka 2.12版本 下载安装包 根据你的系统下载rpm /deb /zip包等等, 这里我使用的是rpm包 安装命令 rpm -ivh kafka-2.12-1.nfs.x86_64.rpm启动内置Zookeeper 以下命令要写在同一行上 /opt/kafka-2.12/bin/zookeeper-server-start.sh /opt/kafka-2…

实验二十八、三角波发生电路参数的确认

一、题目 利用 Multisim 确定图1所示电路中各元件的参数,使输出电压的频率为 500 Hz 500\,\textrm{Hz} 500Hz、幅值为 6 V 6\,\textrm{V} 6V 的三角波。 图 1 三角波发生电路 图1\,\,三角波发生电路 图1三角波发生电路 2、仿真电路 A 1 \textrm A_1 A1​ 采用…