機器學習05——多分類學習與類別不平衡(一對一、一對其余、多對多)

上一章:機器學習04——決策樹
下一章:機器學習06——支持向量機
機器學習實戰項目:【從 0 到 1 落地】機器學習實操項目目錄:覆蓋入門到進階,大學生就業 / 競賽必備

文章目錄

      • 一、多分類學習
        • (一)一對一(One vs. One, OvO)
        • (二)一對其余(One vs. Rest, OvR)
        • (三)兩種策略的比較
        • (四)多對多(Many vs. Many, MvM)
      • 二、類別不平衡問題
        • (一)再縮放(Rescaling)
        • (二)采樣方法
        • (三)閾值移動(Threshold-moving)
        • (四)方法選擇

一、多分類學習

多分類學習旨在解決類別數大于2的分類問題,核心思路是通過任務拆分將多分類問題轉化為多個二分類問題,再集成二分類器的結果得到最終分類。常見的拆分策略包括一對一、一對其余和多對多。
在這里插入圖片描述

(一)一對一(One vs. One, OvO)
  • 任務拆分:將N個類別兩兩配對,生成N(N?1)/2N(N-1)/2N(N?1)/2個二分類任務(如類別C1C_1C1?C2C_2C2?C1C_1C1?C3C_3C3?等),每個任務僅使用對應兩個類別的樣本訓練分類器,最終得到N(N?1)/2N(N-1)/2N(N?1)/2個分類器。
  • 測試階段:將新樣本輸入所有分類器,每個分類器會判定樣本屬于兩個類別中的一個,通過“投票”機制確定最終類別——被預測次數最多的類別即為結果。
  • 特點:每個分類器的訓練僅使用兩個類的樣本,訓練時間較短,但需訓練和存儲的分類器數量多(如10個類別需45個分類器),存儲和測試開銷較大。
(二)一對其余(One vs. Rest, OvR)
  • 任務拆分:為每個類別構建一個二分類任務,將該類別視為“正例”,其余所有類別視為“反例”,共生成N個二分類任務,訓練得到N個分類器。
  • 測試階段:將新樣本輸入所有分類器,每個分類器會輸出樣本屬于其對應“正例”類別的置信度,選擇置信度最大的類別作為最終結果。
  • 特點:分類器數量少(N個),存儲和測試開銷小,但每個分類器的訓練需使用全部樣本(正例少、反例多),訓練時間較長,且可能因類別不平衡影響單個分類器性能。
(三)兩種策略的比較
  • 性能:在多數情況下,OvO和OvR的預測性能相近,具體取決于數據分布。
  • 效率:OvO的訓練時間更短(單個分類器樣本少),但存儲和測試開銷更大;OvR則相反,適合類別數較多的場景。
(四)多對多(Many vs. Many, MvM)
  • 核心思想:通過預設的“類別子集”劃分任務,每個任務將一部分類別作為正例,另一部分作為反例(如利用糾錯輸出碼機制,為每個類別分配唯一的二進制編碼,通過多個二分類器學習編碼的每一位)。
  • 特點:能更好地利用類別間的關聯信息,抗噪聲能力較強,但任務設計較復雜,實際應用中不如OvO和OvR廣泛。

二、類別不平衡問題

類別不平衡指訓練集中不同類別的樣本數量相差懸殊(如正例僅占10%,反例占90%),可能導致分類器偏向多數類,忽視少數類。常見解決方法包括再縮放、采樣和閾值移動。

(一)再縮放(Rescaling)
  • 原理:基于貝葉斯決策理論,調整分類閾值。對于二分類問題,若正例先驗概率為p+p_+p+?、反例為p?p_-p??,最優決策應滿足y1?y>p?p+\frac{y}{1-y} > \frac{p_-}{p_+}1?yy?>p+?p???(其中yyy為樣本屬于正例的預測概率)。當訓練集類別不平衡時(如正例樣本數m+m^+m+、反例m?m^-m?),可用m?m+\frac{m^-}{m^+}m+m??近似p?p+\frac{p_-}{p_+}p+?p???,調整決策閾值。
(二)采樣方法
  1. 欠采樣(Undersampling):通過移除部分多數類(反例)樣本,使正反例數量接近。例如EasyEnsemble算法,多次隨機采樣多數類樣本與少數類組成訓練集,訓練多個分類器后集成,避免因單次采樣丟失重要信息。
  2. 過采樣(Oversampling):通過增加少數類(正例)樣本,平衡類別比例。例如SMOTE算法,基于少數類樣本的近鄰生成“虛擬樣本”,避免簡單復制樣本導致的過擬合。
(三)閾值移動(Threshold-moving)
  • 原理:不改變訓練數據,直接調整分類器的決策閾值。例如,當正例樣本少而反例多時,降低正例的判定閾值(如將默認的0.5調整為0.3),使分類器更“容易”將樣本判定為正例,從而平衡對少數類的識別率。
(四)方法選擇
  • 小規模數據集優先考慮過采樣(避免信息丟失);
  • 大規模數據集可采用欠采樣(減少計算開銷);
  • 閾值移動常與采樣結合使用,進一步優化分類器對少數類的敏感性。

上一章:機器學習04——決策樹
下一章:機器學習06——支持向量機
機器學習實戰項目:【從 0 到 1 落地】機器學習實操項目目錄:覆蓋入門到進階,大學生就業 / 競賽必備

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/98903.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/98903.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/98903.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2025.9.11總結

閱讀《拿鐵因素》有感昨天看完《拿鐵因素》,這本書讓我明白,如果不去主動去管理自己的財務,解決自己從前的財務問題,我很難過上自己想要的生活。今天就所讀的內容,探究如何將這本書的內容運用到自己的一個日常生活中。…

Android,Jetpack Compose,坦克大戰游戲案例Demo

代碼如下(這只是個簡單案例而已): package com.example.myapplicationimport android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.Canvas impo…

zookeeper是啥

ZooKeeper是一個開源的分布式協調服務,主要用于解決分布式系統中的數據一致性、狀態同步和協作問題?。它通過提供高可用、強一致性的服務,成為分布式系統的“指揮中心”?。以下是其核心功能和應用場景:核心功能 分布式同步? 通過原子廣播協…

【開題答辯全過程】以 基于Android的智慧旅游APP開發為例,包含答辯的問題和答案

個人簡介一名14年經驗的資深畢設內行人,語言擅長Java、php、微信小程序、Python、Golang、安卓Android等開發項目包括大數據、深度學習、網站、小程序、安卓、算法。平常會做一些項目定制化開發、代碼講解、答辯教學、文檔編寫、也懂一些降重方面的技巧。感謝大家的…

如何選擇?SEO 與 GEO 的 5 個核心分野

在 30 秒內,以下是您需要了解的有關 SEO 和 GEO 之間差異的信息: SEO(搜索引擎優化):讓您的網站出現在 Google 搜索中。目標:吸引用戶點擊您的鏈接。GEO(生成引擎優化):…

基于MATLAB的光學CCD全息成像仿真程序實現

基于MATLAB的光學CCD全息成像仿真程序實現一、流程 #mermaid-svg-g3dkhZSC3Go4a2kH {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-g3dkhZSC3Go4a2kH .error-icon{fill:#552222;}#mermaid-svg-g3dkhZSC3Go4a2kH .er…

Java大廠面試實錄:產業互聯網大數據與AI服務場景下的微服務與智能搜索(含詳細解讀)

Java大廠面試實錄:產業互聯網大數據與AI服務場景下的微服務與智能搜索(含詳細解讀) 場景開場 🏭🦄 午后陽光正好,王老登背著“Java一把梭”的背包,精神抖擻地走進了產業互聯網大數據與AI服務大廠…

Win_Server遠程桌面(RDP)服務調用GPU并提上傳輸幀率和USB設備重定向

說明:Windows遠程桌面服務( RDP ),RDP服務是可以無顯卡運行的,顯示遠程桌面的時候并不調用顯卡,可以做一些基本的管理操作,為提升RDP的性能,可以開啟顯卡加速( OpenGL&am…

Docker(⑤Kali Linux-HexStrike AI安裝)

卸載 WSL 里的 Ubuntuwsl --unregister Ubuntu查看當前已安裝的發行版wsl --list --verbose下載kali-linuxwsl --install -d kali-linuxKali 服務端安裝sudo apt update && sudo apt upgrade -y sudo apt install python3 python3-venv python3-pip git -y克隆源碼 &am…

查找算法和遞推算法

查找算法題目 1:找班級里的 “小明星”題目描述:班級有 10 個同學的編號(1 - 10),輸入一個編號,判斷是否是 “小明星”(假設編號為 5 的是小明星),是就輸出 “找到小明星…

2025 年PT展前瞻:人工智能+如何走進普通人的生活?

導讀:2025年,人工智能正在加速融入日常生活,提升著每一個普通人的幸福感與獲得感。清晨,智能手環在你最淺的睡眠階段輕柔震動,用最科學的方式將你喚醒;通勤路上,智能網聯汽車早已規劃好躲避擁堵…

1-機器學習與大模型開發數學教程-第0章 預備知識-0-1 集合與邏輯基礎(集合運算、命題邏輯、量詞)

在正式進入機器學習與大模型的數學核心之前,我們需要先打好“語言”和“邏輯”的基礎。 這一章會從 集合與邏輯 入手,它們就像是編程中的語法規則: 集合告訴我們“對象屬于不屬于某個范圍”;邏輯告訴我們“命題對不對、能不能推出…

字節 Trae vs 騰訊 CodeBuddy vs 阿里 Qoder:三大 AI-IDE 集成 OneCode 深度對比與體驗測評

一、對比背景:AI-IDE 與低代碼融合的行業必然性 在低代碼開發進入 “AI 賦能期” 的 2025 年,AI 驅動的集成開發環境(AI-IDE)已成為低代碼平臺效率提升的核心載體。全球 AI-IDE 市場規模突破 50 億美元,年增長率超 70…

DeerFlow 與 MCP 區別深度解析

目錄 引言 一、DeerFlow 與 MCP 的詳細概念說明 1. DeerFlow:面向研究自動化的多智能體應用框架 2. MCP:連接 AI 模型與外部系統的標準化通信協議 二、核心定位:應用框架與通信協議的本質 1. 角色不同 2. 技術架構 三、功能特性&…

視覺對象類型

矩形類型 對于最基本的視覺效果,Qt Quick 提供了一種繪制矩形的類型。這些矩形可以用顏色或垂直漸變著色。該類型還可以在矩形上繪制邊框。 若要繪制矩形以外的自定義形狀,請參閱類型或使用該類型顯示預渲染圖像。 import QtQuickItem {width: 320h

排序---選擇排序(Selection Sort)

一、選擇排序的基本概念 選擇排序(Selection Sort)是一種簡單直觀的排序算法,其核心思想是每次從待排序元素中找到最值(最小值或最大值),將其放到已排序序列的末尾,重復此過程直到所有元素完成排…

前端菜單權限方案

方案一:前端全量配置路由表 后端返回權限碼思路所有可能的路由都在前端 router 中靜態配置好(就像你現在這樣)。登錄后,后端返回當前用戶的菜單權限(通常是一個權限 code 列表)。前端根據權限碼過濾掉無權…

spring項目部署后為什么會生成 logback-spring.xml文件

以下內容為豆包生成,此處僅做記錄在 Spring 項目(尤其是 Spring Boot 項目)部署后生成 logback-spring.xml 文件,通常有以下幾種原因:1. 項目打包時主動包含了該文件logback-spring.xml 是 Logback 日志框架在 Spring …

如何解決pip安裝報錯ModuleNotFoundError: No module named ‘vaex’問題

【Python系列Bug修復PyCharm控制臺pip install報錯】如何解決pip安裝報錯ModuleNotFoundError: No module named ‘vaex’問題 摘要 在Python開發過程中,使用pip install時遇到錯誤是非常常見的情況。特別是在使用PyCharm等集成開發環境(IDE&#xff0…

實習總結——關于聯調解決的因CRC校驗導致協議交互失敗的調試經驗總結

1.場景還原:在我開發USB PD測試模塊時,發現待測主板始終不回復Request消息,導致我的測試失敗;此時我的任務就是快速定位這個協議交互失敗的原因,無論是軟件、硬件還是協同。2.大致的調試步驟:1.首先使用了邏…