python學智能算法(二十五)|SVM-拉格朗日乘數法理解

引言

前序學習進程中,已經對最佳超平面的求解有了一定認識。
剛好在此梳理一下:

函數距離

首先有函數距離F,也可以稱為函數間隔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)

幾何距離

然后有幾何距離δ,也可以稱為幾何間隔δ:
δ=min?i=1...myi(w∥w∥?xi+b∥w∥)\delta=\min_{i=1...m}y_{i}(\frac{w}{\left\|w\right\|} \cdot x_{i}+\frac{b}{\left\|w\right\|}) δ=i=1...mmin?yi?(ww??xi?+wb?)
很顯然,幾何距離δ和函數距離F之間只相差一個量||w||:
δ=F∥w∥\delta=\frac{F}{\left\|w\right\|}δ=wF?然后我們再次回憶最佳超平面的尋找過程:

第一步,一個特定超平面的周圍會有很多點,通過計算后會獲得不同的幾何距離,取出這些距離中的最小值;
第二步,遍歷所有可能的超平面,重復步驟一;
第三步:在前兩步的基礎上,在取出的所有幾何距離中,選取最大值對應的超平面為最優超平面。

這是一個稍微有點繞的過程,首先是每個備選超平面都選取最小幾何距離,然后是在所有最小幾何距離中挑出最大值,取這個最大的幾何距離對應的超平面為最佳超平面。可以總結為:在最小值集合中挑選最大值。
為了尋找這個最大值,我們聯想到同比率變換權重矩陣w和偏置量b不會改變幾何距離,因此有一種巧妙的解法:
通過同比率調整權重矩陣w和偏置量b,使得函數距離F=1,這個時候最佳超平面對應的最大幾何距離δmax滿足:
δmax=max?i=1...m1∥w∥\delta_{max}=\max_{i=1...m}\frac{1}{\left\|w\right\|}δmax?=i=1...mmax?w1?
為求解這個最佳超平面對應的最大幾何距離,一種更好理解的思路被提出來,把尋找過程中的除法轉化為了乘法,定義距離函數f:
f=mini=1...m12∥w∥2f=min_{i=1...m}\frac{1}{2}{\left\|w\right\|}^2f=mini=1...m?21?w2這篇文章的學習任務,就是梳理距離函數f的最佳解法:拉格朗日乘數法。

拉格朗日乘數法

拉格朗日乘數法的構造需要兩個前提條件,一個是目標函數,比如此處的距離函數f,另一個是約束函數,可以定義為g。
關于f和g,展開如下討論:
f和g在任意位置的梯度都指向它們增長最快的方向,和它們本身的圖像垂直;
對于目標函數f,它取特定值的時候,結果可能繪制出一條閉合的等高線,也可能是孤立的點。對于孤立的點,法向量是(0,0);對于等高線,可以記錄任意一點的梯度為▽f\bigtriangledown ff
目標函數f和約束函數g可能有很多交點,但當目標函數取極值的時候,一定會滿足條件:▽f=λ▽g\bigtriangledown f=\lambda \bigtriangledown gf=λg
為解釋這個梯度平行的條件,我們這樣想:
將f的梯度▽f\bigtriangledown ff分解到互相垂直的▽g\bigtriangledown gg和g的切線方向vvv上,此時沿著vvv的方向只要還有f的梯度,就表明f的取值還可以繼續改變;
▽f\bigtriangledown ffvvv上沒有任何分量時,f只能在垂直g的方向上增長,也就是沿著約束函數g再也無法改變f。
當然,f的取值也無法脫離g的約束,所以▽f\bigtriangledown ffvvv上沒有任何分量時,f就取到了極值,此時f的法向量垂直于g,g的法向量自然也垂直于g,這兩個法向量平行,所以一定有:
▽f=λ▽g\bigtriangledown f=\lambda\bigtriangledown gf=λg

當f為孤立點時,λ=0,上式依然滿足。
為輔助理解,求助了deepseek,它提供了一張圖,放在這里和大家共享,也可復制鏈接直達原圖:https://upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Lagrange_multiplier.png/300px-Lagrange_multiplier.png等高線圖和約束

總結

學習了一下拉格朗日乘數法的基本概念。

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

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

相關文章

vscode 源碼編譯

windows 環境 下載安裝 build tools Visual Studio Build Tools 勾選 C 因為安裝詳細信息里是 v143,所以單個組件里也要追加兩個 143 的勾選 點擊安裝,安裝好重啟下電腦 Electron 安裝失敗:connect ETIMEDOUT 20.205.243.166:443 為防Ele…

讀取和寫入json,xml文件

一、JSON文件操作? 1. 核心類?? ??QJsonDocument??:表示整個JSON文檔,提供解析(fromJson())和序列化(toJson())功能。 ??QJsonObject??:存儲鍵值對集合,支持嵌套對象和數…

深度學習×第10卷:她用一塊小濾鏡,在圖像中找到你

🌈【第一節 她看到的是像素點,卻試圖拼出你整張臉】📸 圖像是什么?她從未見過你,但看見的是你的一片光斑圖像,在神經網絡的眼里,是一個個數字格子。這些格子,每個都有 0~255 的亮度…

計算機組成原理中的RAM:核心技術深度解析

摘要:本文深度剖析RAM在計算機體系中的核心地位,結合2025年最新技術標準與實測數據,涵蓋DRAM工作原理、主流技術對比、非易失性存儲革新及未來發展趨勢,為硬件開發者和系統架構師提供權威技術參考。一、RAM基礎原理與系統交互機制…

C語言—深入理解指針(詳)

深入理解指針(詳解)前言一、指針是什么1、指針的定義2、指針的大小二、指針類型1、類型2、不同類型的意義三、野指針1、野指針形成原因2、如何避免野指針四、指針的運算1、 指針整數2、指針-指針3、指針的關系運算五、const修飾指針1、consr修飾變量2、c…

小談相機的學習過程

前言博主本人并非專職相機開發,還涉及系統的其他幾個模塊,雖然都屬于owner,但是都還在學習探索的一個過程,自認為掌握還不夠細致,此篇文章僅梳理,總結,印證自己近五年相機模塊的一個學習過程&am…

CentOS7 內網服務器yum修改

1、首先確定的內網服務器是有yum源代理服務器的2、修改 /etc/yum.conf 配置文件,增加代理ip和端口號proxyhttp://ip.ip.ip.ip:port3、備份源是文件sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak4、修改配置文件 vi CentOS-Base…

基于單片機自行車自動防盜報警系統設計

摘 要 本文闡述了自行車防盜報警系統原理,介紹如何用stc89c52單片機實現防盜報警,分析各個部分的工作原理,并給出了原理圖和源程序。此設計電路由震動傳感器、單片機、無線超再生發射/接收電路、LED顯示器和蜂鳴器組成。由于超再生接收是一種…

【深度學習】神經網絡反向傳播算法-part4

七、反向傳播算法反向傳播Back Propagation 簡稱 BP 。 訓練神經網絡的核心算法之一,通過計算損失函數,相對于每個權重參數的梯度,來優化神經網絡的權重1. 前向傳播前向傳播是把數據經過各層神經元的運算并逐層向前傳輸,知道輸出層…

CTF之服務器端模板注入(SSTI)與賽題

概念定義服務器端模板注入(Server-Side Template Injection)服務端接受攻擊者的輸入,將其作為Web應用內容的一部分,在進行代碼編譯渲染的過程中,進行了語句的拼接,執行了所插入的惡意內容,從而導致信息泄露、代碼執行、…

除了某信,就是這款軟件來替代了!

引言 哈嘍,我是小索奇。有時候會有一個普遍的需求,想在幾個設備之間傳個文件或者發個消息,除了微信,想一想你還能用什么軟件? 今天就是為了解決這個問題,給大家介紹一款軟件 Localsend 來解決。 內容模塊…

Vue2.x封裝預覽PDF組件

一、為什么用PDFObject插件? PDFObject 是一個輕量級的 JavaScript 庫,主要用于在網頁中嵌入和預覽 PDF 文件。它通過簡單的 API 調用,可以在瀏覽器中實現 PDF 文件的顯示,而無需依賴任何插件。以下將詳細介紹 PDFObject 的特點、…

undefined reference to ‘end‘

相關問題: 一、undefined reference to _exit undefined reference to ‘end‘ warning: _close is not implemented and will always fail 一、環境: ubuntu24.04實體機、 arm-none-eabi-gcc gcc version 13.2.1 20231009 (15:13.2.rel1-2) 二…

nginx定制http頭信息

修改http響應頭信息,相關Nginx模塊:ngx_http_headers_moduleexpires語法:expires [modified] time;expires [modified] time;默認值:expires off;作用域:http, server, location, if in location用途:控制緩…

主機安全---開源wazuh安裝

Wazuh 簡介 Wazuh 是一款免費開源的終端安全監控平臺,支持威脅檢測、完整性監控、事件響應和合規性管理,適用于企業級安全運維場景。其核心組件包括: Wazuh Indexer:基于 OpenSearch 的日志存儲與檢索組件。Wazuh Server&#x…

GaussDB 數據庫架構師修煉(四) 備份容量估算

1 影響備份容量關鍵要素業務總數據量備份數據保留周期備份周期備份數據的壓縮比平均每天的新增數據量平均每天新增日志數據量2 備份容量的估算方法公式備份容量C = 自動全量備份容量C1 + 自動差量備份容量C2 + 自動日志歸檔 容量C3 &#xff…

《R for Data Science (2e)》免費中文翻譯 (第0章) --- Introduction

寫在前面 本系列推文為《R for Data Science (2e)》的中文翻譯版本。所有內容都通過開源免費的方式上傳至Github,歡迎大家參與貢獻,詳細信息見: Books-zh-cn 項目介紹: Books-zh-cn:開源免費的中文書籍社區 r4ds-zh-cn…

如何 ASP.NET Core 中使用 WebSocket

如何在 ASP.NET Core 中使用 WebSocket在現代 Web 應用程序中,WebSocket 連接非常流行且使用率極高。它可以幫助企業滿足數字環境需求,并處理來自最終用戶的實時數據。它還能提升生產力、輸出率和用戶體驗。如果您還沒有使用 WebSocket,那么您…

Python之--元組

定義是 Python 中內置的不可變序列。在 Python 中使用()定義元組,元素與元素之間使用英文的逗號分隔。元組中只有一個元素的時候,逗號也不能省略。元組的創建方式(1)使用()直接創建元…

工業相機GigE數據接口的優勢及應用

工業相機不同的數據接口適用的應用場景也不同,選擇合適的數據額接口,可大大提高效率。今天我們來看看常見的GigE接口的優勢及應用。基于GigE Vision標準的千兆以太網(GigE)相機通過提供快速、靈活且成本效益高的成像解決方案&…