python學智能算法(三十二)|SVM-軟邊界理解

【1】引言

前序學習進程中,已經對SVM的KKT條件,Slater條件等進行了探究,但這些都是完美情況,數據線性可分。
實際生活中需要處理的數據往往因為各式各樣的原因會不可分,所以必須學會容忍一些小錯誤,完美的很難永恒存在。
為描述這種小錯誤的存在,軟邊界被定義出來。

【2】軟邊界定義

在早期的拉格朗日函數構造中,我們很熟悉函數距離F的定義公式:F=min?i=1,...,myi(w?xi+b)F=\min_{i=1,...,m}y_{i}(w \cdot x_{i}+b)F=i=1,...,mmin?yi?(w?xi?+b)
這個時候先把最小的函數間隔調整為1,就會有F≥1F\geq 1F1
此時最好換一種寫法,把F改為g:g=yi(w?xi+b)≥1g=y_{i}(w\cdot x_{i}+b)\geq 1g=yi?(w?xi?+b)1
但因為有一些淘氣的點存在,所以給上述公式配一個變量項ξi\xi_{i}ξi?,這個時候再把g改為h,有:
h=yi(w?xi+b)≥1?ξih=y_{i}(w\cdot x_{i}+b)\geq 1-\xi_{i}h=yi?(w?xi?+b)1?ξi?
之前我們已經推算過,幾何距離和最優化幾何距離是不斷變化數學表達式的效果。

幾何距離:δ=F∣∣w∣∣\delta=\frac{F}{||w||}δ=wF?
最佳幾何距離:通過同比率調整w和b,使得F=1,從而有δmax=1∣∣w∣∣\delta_{max}=\frac{1}{||w||}δmax?=w1?
在此基礎上進而轉化為距離函數ffff=min?12∣∣w∣∣2f=\min \frac{1}{2}||w||^2f=min21?w2

現在匹配帶有變量項ξ\xiξ的情況,改寫上述定義:
幾何距離:δξ=h∣∣w∣∣\delta_{\xi}=\frac{h}{||w||}δξ?=wh?
最佳幾何距離:通過同比率調整w和b,使得F=1,變量項這個時候就出現了,從而有δmax,ξi=1?ξi∣∣w∣∣\delta_{max,\xi_{i}}=\frac{1-\xi_{i}}{||w||}δmaxξi??=w1?ξi??
此時的距離函數fff包括兩部分,第一部分是單純和∣∣w∣∣||w||w相關,另一部分的影響則來自在∣∣w∣∣||w||w確認時,ξi\xi_{i}ξi?的存在。為了避免麻煩,定義最優化幾何距離為:
f=min?12∣∣w∣∣2+C∑i=1nξif=\min \frac{1}{2}||w||^2+C\sum_{i=1}^{n}\xi_{i}f=min21?w2+Ci=1n?ξi?
這就是SVM的軟邊界公式。
此處的新增項C∑i=1nξiC\sum_{i=1}^{n}\xi_{i}Ci=1n?ξi?是錯誤懲罰項。

定義一個常數C有很多好處:
首先實際上每個ξ\xiξ的大小都不一樣,如果定義CiξiC_{i}\xi_{i}Ci?ξi?會讓公式變得異常復雜,所以C放在求和符號之前,可以簡化公式;
然后C放在求和符號之前,實際上對變量項進行線性化處理,待求解問題的結構變得簡單,在之后構造拉格朗日函數也會變得相對容易。
從更大的層面,我們也更希望從整體的角度控制模型對錯誤的容忍度,所以定義一個常數C可以實現快速調整,非常符合調參數的期待。

【3】總結

初步學習了支持向量機的軟邊界公式。

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

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

相關文章

實名認證 —— 騰訊云駕駛證識別接口

官方地址: API Explorer - 云 API - 控制臺https://console.cloud.tencent.com/api/explorer?Productocr&Version2018-11-19&ActionDriverLicenseOCR前置操作與下面博客前置操作一致:實名認證 —— 騰訊云身份證認證接口-CSDN博客 首先編寫Con…

科技云報到:Agent應用爆發,誰成為向上托舉的力量?

科技云報道原創。經過兩年多的發展后,AI開始加速進入Agent時代。當AI從“被動響應”邁向“主動決策”,AI Agent正成為連接數字世界與物理世界的核心樞紐。從自動處理客戶服務工單的企業Agent,到協調多步驟科研實驗的學術Agent,再到…

Python字典高階操作:高效提取子集的技術與工程實踐

引言:字典子集提取在現代數據處理中的關鍵作用在Python數據工程領域,字典結構作為核心數據載體占比高達68%(2025年Python生態調查報告)。字典子集提取作為高頻操作,在以下場景中至關重要:??API響應處理?…

Java學習進階--集合體系結構

Java 集合框架 (java.util 包) 是 Java 中用于存儲和操作數據集合的核心組件,其設計精良、功能強大且高度靈活。理解其體系結構是 Java 進階的關鍵一步。一.集合的核心思想接口與實現分離集合框架的核心在于接口定義了行為規范,而具體實現類提供了不同的…

【Unity】Unity中的StreamingAssets文件夾

目錄前言核心特性1. 文件保留原始格式2. 只讀訪問3. 平臺兼容性不同平臺下的路徑一、使用1、讀寫2、使用UnityWebRequest讀取二、AB讀取的特例三、注意事項前言 StreamingAssets 文件夾是Unity項目中的一個特殊目錄,用于存放需要在運行時訪問的資源文件。這個文件夾…

[windows]torchsig 1.1.0 gr-spectrumdetect模塊安裝

問題 按照提供的readme git clone https://github.com/TorchDSP/torchsig.git cd torchsig pip install . cd gr-spectrumdetect mkdir build cd build cmake ../ make install cd ../examples/ bash trained_model_download.sh gnuradio-companion example.grc &安裝總是出…

網絡安全要了解的知識

基于2025年網絡安全態勢整理的十大高危漏洞類型,結合攻擊影響范圍、技術嚴重性及實際案例分析綜合排序:---1. 訪問控制失效- 核心問題:權限校驗缺失導致越權操作(如修改URL參數獲取他人數據)。 - 案例:202…

xml 格式化

運行效果:免費在線XML格式化工具 - XML代碼美化/壓縮/驗證 代碼實現: using Microsoft.AspNetCore.Mvc; using System.Xml; using System.Xml.Linq;namespace SaaS.OfficialWebSite.Web.Controllers {public class XmlController : Controller{public I…

Pygame音頻播放的最簡框架代碼示例

一、示例代碼:import pygame pygame.init() pygame.mixer.init() pygame.mixer.music.load(/home/lijiang/Music/Lynyrd Skynyrd - Sweet Home Alabama.mp3) pygame.mixer.music.play()while pygame.mixer.music.get_busy():pygame.time.Clock().tick(10)二、代碼詳…

在Ubuntu環境中安裝Docker和Minikube的完整指南

目錄 前言 準備工作 第一部分:安裝Docker 步驟1:卸載舊版本(如果有) 步驟2:安裝依賴包 步驟3:添加Docker官方GPG密鑰 步驟4:設置Docker倉庫 步驟5:安裝Docker引擎 步驟6&am…

幾個概率分布在機器學習應用示例

一、說明 在這份快速指南中,我們將介紹最重要的分布——從始終公平的均勻分布,到鐘形的正態分布,計數點擊的泊松分布,以及二元選擇的二項分布。 沒有復雜的數學,只有清晰的概念、真實的例子,以及為什么它們…

2025年測繪程序設計模擬賽一--地形圖圖幅編號及圖廓點經緯度計算

想要在2026年參加這個比賽的,可以加入小編和其它大佬所建的群242845175一起來備賽,為2026年的比賽打基礎,也可以私信小編,為你答疑解惑一、讀取文件 這里有兩種文件需要讀取,所以要額外處理 internal class Read {publ…

【C++基礎】名字空間與 inline 命名空間:面試高頻考點與真題解析

想象一下,你正在開發一個大型項目,團隊中有10名程序員同時工作。當你們分別定義了calculate()函數時,編譯器會陷入混亂:它不知道應該調用哪個版本的calculate。這就是C++引入名字空間(Namespace)的根本原因! 一、名字空間(Namespace)基礎概念 1.1 為什么需要名字空間…

Pytest項目_day08(setup、teardown前置后置操作)

setup模塊級setup_module:運行于模塊開始之前,生效一次 一個py文件(測試文件)就是一個模塊函數級setup_function:對于每條(不在類中的)函數用例生效,如果函數在類中,那么…

trae開發c#

安裝插件C# Dev Kit,使用的版本是1.41.11 .NET Install Tool一般會自動安裝,安裝C# dev kit的時候,版本2.3.7 C# 插件,版本2.87.31 https://marketplace.visualstudio.com/items?itemNamems-dotnettools.vscode-dotnet-runtim…

Modstart 請求出現 Access to XMLHttpRequest at ‘xx‘

在 uniapp 前端頁面請求時出現類似如下錯誤Access to XMLHttpRequest at https://example.com/api/mtiku/config from origin http://localhost:20000 has been blocked by CORS policy: Response to preflight request doesnt pass access control check: No Access-Control…

計算機視覺CS231n學習(5)

循環神經網絡 RNN recurrent neural networksRNN序列處理能力(RNN核心作用) RNN處理序列數據,相比“Vanilla”神經網絡(僅支持一對一映射),RNN支持多種序列映射模式: 一對一:傳統分類…

Spring Boot Redis 緩存完全指南

Spring Boot Redis 緩存完全指南 1. 項目依賴配置 1.1 Maven依賴 <dependencies><!-- Spring Boot Redis --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId><…

八股——WebSocket

文章目錄1、 什么是 WebSocket&#xff1f;與 Http 協議的區別是什么&#xff1f;2、 Http 是如何升級為 WebSocket 的&#xff1f;3、 為什么 WebSocket 可以進行全雙工模式的消息傳輸&#xff0c;而 Http 不可以&#xff1f;4、 什么是 TCP 的沾包和拆包&#xff1f;5、 WebS…

Mysql 如何使用 binlog 日志回滾操作失誤的數據

文章目錄一、背景二、準備測試數據1. 創建測試表2. 創建測試數據三、模擬誤操作四、數據回滾&#xff08;一&#xff09;方案一&#xff1a;云數據庫恢復&#xff08;二&#xff09;方案二&#xff1a;手動恢復1. 查詢 binlog 日志2. 找到刪除語句&#xff0c;手動還原為插入語…