【机器学习300问】62、若想将逻辑回归用于多分类有哪些常见做法?

news2024/11/25 22:30:37

        逻辑回归算法在设计之初是用于二分类问题的,但若想把它用在多分类上也不是不行,这得看你具体面临的多分类问题是什么样的(问题的定义)。不同的问题就有不同的应对之策:

一、一对一

(1)方法的原理

        一对一即一个样本输入一个模型对应一个输出类别,在这种方法中,针对每一个类别,都会独立训练一个逻辑回归模型,该模型预测样本是否属于这个类别。如果有K个类别就会得到K个模型。例如,想要得知一个图像样本是否属于3个类别中的其中一种(猫、狗、鸟)就可以先为每一个类别训练一个模型,然后用来预测分类:

  • 模型1用来判断这个图像样本是否属于猫
  • 模型2用来判断这个图像样本是否属于狗
  • 模型3用来判断这个图像样本是否属于鸟

        因为逻辑回归算法中在经过sigmoid处理之后,会得到一个概率。所以这里三个模型输出的是三个概率

        当新的电影样本A输入进来后,每个模型都会给出自己的分类结果,所以会得到三个预测结果(即属于各个类别的概率),如果某个模型预测其属于该类别的概率最高,则认为该样本属于这一类别。

(2)类别互斥与否对方法的影响

        这里猫、狗、鸟是互斥的类别即一个样本不可能同时是猫又是鸟。但倘若一个样本可以同时拥有多个类别呢?比如在电影分类中,若要预测一部电影是否属于动作片、喜剧片、恐怖片等多个类别。一个电影样本是可能动作喜剧片,这个时候我们可以设定某个阈值(比如\geqslant 0.5)只要三个模型中的某个模型预测的概率超过了阈值,就可以将该电影标记为该类别。

二、一对多

(1)方法的原理 

        一对多即一个样本输入一个模型对应多个输出类别,这种方法将多分类问题转化为多个互斥类别的概率估计问题,通过构建一个模型并输出K个概率值,这些概率值总和为1,代表了样本属于某个类别的概率。该方法只适用于互斥的多分类问题,例如,手写数字识别输入一张手写数字,模型会给出0到9数字的预测概率,其中最高的概率就是分类结果。

  • 模型通过softmax函数将样本所有可能的类别统统计算出概率

        还拿之前的猫狗鸟的例子来说,使用softmax回归时,我们会构建一个模型,其输出层有三个神经元,分别对应猫、狗、鸟的概率[0.3, 0.5, 0.2]。这意味着模型预测样本为狗的概率最高(0.5),其次是猫(0.3),最后是鸟(0.2)。在这种情况下,因为类别通常是互斥的,所以我们会选择概率最高的类别作为最终预测结果(这里是狗)。

(2)类别互斥与否对方法的影响

        如上图,如果类别不是互斥的,那么也可设定一个较高的概率阈值,例如0.5,那么样本就被预测为既是类别1也是类别2

三、多输出逻辑回归

        每个输出节点对应一个类别,所有输出节点共享输入层特征,但拥有各自的权重和偏置参数。模型在训练时优化所有类别的损失函数之和。适用于多标签分类,特别是当类别间有一定相关性,希望通过模型结构捕捉这种相关性时。

        如果我们认为猫、狗、鸟这三个类别之间存在某种关联,比如某些特征可能同时影响着样本被划分为猫和狗的可能性,这时可以选择多输出逻辑回归。仍以动物分类为例,模型输入层接收关于动物特征的数据,然后通过共享权重的隐藏层提取特征,最后输出层有三个节点,分别对应三个类别的概率。模型在训练过程中,会同时考虑所有类别的损失函数,并试图找到一个既能区分各类别又能捕获类别间潜在关系的最优解。在预测阶段,根据输出节点的概率决定样本所属类别,处理多标签问题时同样可以设定阈值筛选出高概率标签。

四、三种方法之间的关系

        这几种方法的关系主要体现在都是通过扩展逻辑回归模型以适应多分类任务,其中一对一和一对多策略在形式上有区别,前者是通过多个独立模型解决,后者则通过一个联合模型;而多输出逻辑回归则是兼顾了两者的特点,既是一个整体模型,又能够单独处理每个类别的输出。

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

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

相关文章

【JavaEE】_Spring MVC项目获取Header

目录 1. 使用Servlet原生方法获取Header 2. 使用Spring注解获取Header 1. 使用Servlet原生方法获取Header .java文件内容如下: package com.example.demo.controller;import com.example.demo.Person; import org.springframework.web.bind.annotation.*; impor…

Linux-等待子进程

参考资料:《Linux环境编程:从应用到内核》 僵尸进程 进程退出时会进行内核清理,基本就是释放进程所有的资源,这些资源包括内存资源、文件资源、信号量资源、共享内存资源,或者引用计数减一,或者彻底释放。…

14届蓝桥杯 C/C++ B组 T5 接龙排序 (最长上升子序列DP+优化)

不难发现这是一个LIS问题&#xff0c;但是如果直接套用LIS的模版&#xff0c;在数据范围到达 1 e 5 1e5 1e5 的情况下&#xff0c;就只能够得到一半的分数&#xff0c;所以我们需要对其进行优化。 首先给出暴力的代码&#xff1a; #include<iostream> using namespace…

python+django教师业绩考评考核评分系统flask

在设计过程中&#xff0c;将参照一下国内外的一些同类网站&#xff0c;借鉴下他们的一些布局框架&#xff0c;将课题要求的基本功能合理地组织起来&#xff0c;形成友好、高效的交互过程。开发的具体步骤为&#xff1a;   第一步&#xff0c;进行系统的可行性分析&#xff0c…

Java 基于微信小程序的校园请教小程序的研究与实现,附源码

博主介绍&#xff1a;✌程序员徐师兄、10年大厂程序员经历。全网粉丝12W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447…

基于单片机手机屏蔽器系统仿真设计

**单片机设计介绍&#xff0c;基于单片机手机屏蔽器系统仿真设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机手机屏蔽器系统的仿真设计主要涉及到手机信号屏蔽的原理、单片机控制逻辑设计、仿真软件的选择与使用以…

2024北京安全生产展|劳保用品展|安全生产防护用品展会

​作为安全生产与防护用品领域的行业盛会&#xff0c;2024北京安全生产与防护用品展览会将于2024年6月26日至28日在北京.首钢国际会展中心隆重举行。展会紧跟安全生产与防护用品行业发展&#xff0c;充分调研行业需求&#xff0c;以前瞻性的技术研讨、产品展示、产学研对接、需…

VSCode输入花括号{}}会多一个解决方案

打开设置 搜索Closing Brackets 选择BeforeWhitespace 选完后重启下VSCode即可

rust学习(tokio中tcp_stream调用的问题)

问题&#xff1a; 我们涉及了一个socket连接的类&#xff0c;每次收到数据以后&#xff0c;我们都会把tokio::net::TcpStream对应的tcp_stream传递给其他线程。 起初设计如下&#xff1a; pub struct TarNetStream {stream:TcpStream, //1... }pub trait TarListener {fn on…

【C++】类和对象①(什么是面向对象 | 类的定义 | 类的访问限定符及封装 | 类的作用域和实例化 | 类对象的存储方式 | this指针)

目录 前言 什么是面向对象&#xff1f; 类的定义 类的访问限定符及封装 访问限定符 封装 类的作用域 类的实例化 类对象的存储方式 this指针 结语 前言 最早的C版本&#xff08;C with classes&#xff09;中&#xff0c;最先加上的就是类的机制&#xff0c;它构成…

【大数据】大数据概论与Hadoop

目录 1.大数据概述 1.1.大数据的概念 1.2.大数据的应用场景 1.3.大数据的关键技术 1.4.大数据的计算模式 1.5.大数据和云计算的关系 1.6.物联网 2.Hadoop 2.1.核心架构 2.2.版本演进 2.3.生态圈的全量结构 1.大数据概述 1.1.大数据的概念 大数据即字面意思&#x…

tensorflow.js 如何使用opencv.js通过面部特征点估算脸部姿态并绘制示意图

文章目录 前言一、实现步骤1. 获取所需特征点的索引2. 使用opencv.js 计算俯仰角、水平角和翻滚角cv.solvePnP介绍cv.solvePnP原理运行代码查看效果 3.绘制姿态示意直线添加canvas元素计算姿态直线坐标并绘制 总结 前言 在计算机视觉领域&#xff0c;估算脸部姿态是一项具有挑…

基于大数据的汽车信息可视化分析预测与推荐系统

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长 QQ 名片 :) 1. 项目简介 本项目通过集成网络爬虫技术&#xff0c;实时获取海量汽车数据&#xff1b;运用先进的ARIMA时序建模算法对数据进行深度挖掘和分析&#xff1b;结合flask web系统和echarts可视化工具&#xff0c;…

vue做游戏vue游戏引擎vue小游戏开发

Vue.js 是一个构建用户界面的渐进式JavaScript框架&#xff0c;它同样可以用于游戏开发。使用 Vue 开发游戏通常涉及以下几个关键步骤和概念&#xff1a; 1. 了解 Vue 的核心概念 1 在开始使用 Vue 进行游戏开发之前&#xff0c;你需要理解 Vue 的一些核心概念&#xff0c;如…

Python可视化之seaborn

文章目录 seaborn介绍1.解决坐标轴刻度负号乱码2. 解决中文乱码问题3. 忽略警告4.风格选择5.自定义坐标轴6.自定义绘图元素比例7.一元分布图8.二元分布图9.多元矩阵图10.其他常见图形散点图线图柱状图计数图 seaborn介绍 seaborn是在matplotlib基础上开发的一套API&#xff0c…

网络驱动器设备:ISCSI服务器

文章目录 使用ISCSI服务部署网络存储ISCSI技术介绍创建RAID磁盘整列配置ISCSI服务端配置Windows端配置Linux客户端iSCSI服务器CHAP单向认证配置Linux端具体步骤Windows端具体步骤 使用ISCSI服务部署网络存储 主机名IPISCSI服务端192.168.200.10ISCSI客户端192.168.200.20Windo…

Ubuntu22.04修改默认窗口系统为X11

Ubuntu22.04安装默认窗口系统为Wayland&#xff08;通过设置->关于可以看到&#xff09;。 一、用Ubuntu on Xorg会话登录 用户登录时&#xff0c;点“未列出”&#xff0c;输入用户名后&#xff0c;在登录界面底部的齿轮图标中&#xff0c;选择 "Ubuntu on Xorg&quo…

Stable Diffusion——SDXL Turbo让 AI 出图速度提高10倍

摘要 在本研究中&#xff0c;我们提出了一种名为对抗扩散蒸馏&#xff08;ADD&#xff09;的创新训练技术&#xff0c;它能够在1至4步的采样过程中&#xff0c;高效地对大规模基础图像扩散模型进行处理&#xff0c;同时保持图像的高质量。该方法巧妙地结合了分数蒸馏技术&…

用TensorBoard可视化PyTorch

一、TensorBoard与PyTorch配合使用的基本步骤 PyTorch可以直接与TensorBoard进行集成&#xff0c;因为TensorBoard是一个独立于TensorFlow之外的可视化工具。TensorBoard被设计为支持机器学习实验的可视化&#xff0c;如训练的进度和结果等。PyTorch中的torch.utils.tensorboa…

【数据结构】考研真题攻克与重点知识点剖析 - 第 6 篇:图

前言 本文基础知识部分来自于b站&#xff1a;分享笔记的好人儿的思维导图与王道考研课程&#xff0c;感谢大佬的开源精神&#xff0c;习题来自老师划的重点以及考研真题。此前我尝试了完全使用Python或是结合大语言模型对考研真题进行数据清洗与可视化分析&#xff0c;本人技术…