米利唐_后腰_乌克兰足球超级联赛_中国竞彩欧赔 - 足球竞彩分析

集團官網
  • 國家級全民數字素養與技能培訓基地
  • 河南省第一批產教融合型企業建設培育單位
  • 鄭州市數字技能人才(碼農)培養評價聯盟

SVM算法:硬間隔和軟間隔的分類

編輯:云和數據 日期:2023-03-11 17:36

SVM全稱是supported vector machine(支持向量機),即尋找到一個超平面使樣本分成兩類,并且間隔最大。

SVM能夠執行線性或非線性分類、回歸,甚至是異常值檢測任務。它是機器學習領域最受歡迎的模型之一。SVM特別適用于中小型復雜數據集的分類。

1662543937323_6.png

?

超平面最大間隔

超平面最大間隔

?

上左圖顯示了三種可能的線性分類器的決策邊界:虛線所代表的模型表現非常糟糕,甚至都無法正確實現分類。其余兩個模型在這個訓練集上表現堪稱完美,但是它們的決策邊界與實例過于接近,導致在面對新實例時,表現可能不會太好。

右圖中的實線代表SVM分類器的決策邊界,不僅分離了兩個類別,且盡可能遠離最近的訓練實例。

?

硬間隔分類

?

在上面我們使用超平面進行分割數據的過程中,如果我們嚴格地讓所有實例都不在最大=大間隔之間,并且位于正確的一邊,這就是硬間隔分類。

硬間隔分類有兩個問題,首先,它只在數據是線性可分離的時候才有效;其次,它對異常值非常敏感

當有一個額外異常值的鳶尾花數據:左圖的數據根本找不出硬間隔,而右圖最終顯示的決策邊界與我們之前所看到的無異常值時的決策邊界也大不相同,可能無法很好地泛化。

1662544014623_8.png

?

軟間隔分類

?

要避免這些問題,最好使用更靈活的模型。目標是盡可能在保持最大間隔寬闊和限制間隔違例(即位于最大間隔之上,甚至在錯誤的一邊的實例)之間找到良好的平衡,這就是軟間隔分類。

要避免這些問題,最好使用更靈活的模型。目標是盡可能在保持間隔寬闊和限制間隔違例之間找到良好的平衡,這就是軟間隔分類。

軟間隔分類

在Scikit-Learn的SVM類中,可以通過超參數C來控制這個平衡:C值越小,則間隔越寬,但是間隔違例也會越多。上圖 顯示了在一個非線性可分離數據集上,兩個軟間隔SVM分類器各自的決策邊界和間隔。

左邊使用了高C值,分類器的錯誤樣本(間隔違例)較少,但是間隔也較小。

右邊使用了低C值,間隔大了很多,但是位于間隔上的實例也更多。看起來第二個分類器的泛化效果更好,因為大多數間隔違例實際上都位于決策邊界正確的一邊,所以即便是在該訓練集上,它做出的錯誤預測也會更少。

相關內容

搶先一步 鴻蒙(HarmonyOS)應用開發者高級認證 免費考! 適合人群計算機相關專業在校生(技師、中職、高職、本科、研究生)對鴻蒙(HarmonyOS)有興趣的非計算機相關專業在校生目前正在從事移動應用的開發者目前正在從事計算機行業相關的人計算機專業高校老師所有對鴻蒙(HarmonyOS)有興趣的人 培訓方案掌握鴻蒙的核心概念和端云一體化開發、... 什么是Java的多態性(polymorphism)?它有哪些不同的形式? 多態性是Java面向對象編程的一個重要概念,它允許不同的對象以一致的方式響應同一個方法調用,具體表現為對象在運行時可以表現出多個不同的形態。多態性主要有兩種不同的形式:編譯時多態性(靜態多態性)和運行時多態性(動態多態性)。1. 編譯時多態性(靜態多態性):   ... 如何學習和搭建Hadoop開發環境? Hadoop是大數據處理領域的重要平臺,能夠處理和分析大量數據。為了有效地利用Hadoop,我們需要學習其基礎知識,并正確搭建開發環境。下面是詳細的學習和搭建指南。一、學習Hadoop基礎掌握基礎概念和原理Hadoop主要由HDFS和MapReduce兩部分組成。HDFS是分布式文件系統,Ma... UI 設計學習如何進階成為高手 我總結了六種方法,幫助你走出舒適區,提高技能,成長為自信且經驗豐富的UI設計高手一位經驗豐富的 UI 設計師,往往十分看中應用程序界面的吸引力和視覺刺激,確保滿足用戶期望和需求。但是,如果你已經在 UI 設計圈摸爬滾打多年,仍然沒有出色的作品,那你極有可能是因為陷入了一個舒適圈,UI技能一直原... 在Java中Executor和Executors的區別? 在Java中,Executor和Executors都與線程池和并發執行有關,但它們是不同的概念和類。1.ExecutorExecutor是一個接口,位于java.util.concurrent包中,用于表示一個執行任務的執行器。它只定義了一個方法:void execute(Runnable c... String類型的常見命令有哪些? String類型,也就是字符串類型,是Redis中最簡單的存儲類型。其value是字符串,不過根據字符串的格式不同,又可以分為3類:string是普通字符串,int整數類型,可以做自增、自減操作,float浮點類型,可以做自增、自減操作。String的常見命令有:SET:添加或者修改已經存在的...