機器學習之分類模型

機器學習之分類模型

  • 概述
  • 分類模型
    • 邏輯回歸
    • 最近鄰分類
    • 樸素貝葉斯
    • 支持向量機
    • 決策樹
    • 隨機森林
    • 多層感知機
    • 基于集成學習的分類模型
      • 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=1n?P(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.pswp.cn/news/37096.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/37096.shtml
英文地址,請注明出處:http://en.pswp.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? 采用…