支持向量機的原理和案例解析

支持向量機的原理和案例解析

      • 一、支持向量機的核心目標:間隔最大化
        • 步驟1:定義分離超平面
        • 步驟2:定義樣本到超平面的距離(間隔)
        • 步驟3:間隔最大化的目標
        • 步驟4:簡化目標函數
      • 二、通過拉格朗日乘子法求解優化問題
        • 步驟5:構建拉格朗日函數
        • 步驟6:求解對偶問題(KKT條件)
        • 步驟7:求導化簡(核心推導)
        • 步驟8:對偶問題的目標函數
        • 步驟9:求解超平面參數
        • 步驟10:分類決策函數
      • 三、數學案例:線性可分數據的SVM求解
      • 總結

一、支持向量機的核心目標:間隔最大化

支持向量機的核心思想是在兩類數據中找到一個最優分離超平面,使得兩類數據到超平面的“間隔”最大。我們從線性可分情況開始推導(非線性情況可通過核函數擴展)。

步驟1:定義分離超平面

在n維空間中,線性分離超平面的方程為:
w?x+b=0(1)\boldsymbol{w} \cdot \boldsymbol{x} + b = 0 \tag{1}w?x+b=0(1)

  • w=(w1,w2,...,wn)T\boldsymbol{w} = (w_1, w_2, ..., w_n)^Tw=(w1?,w2?,...,wn?)T 是超平面的法向量(決定超平面方向);
  • bbb偏置項(決定超平面位置);
  • x=(x1,x2,...,xn)T\boldsymbol{x} = (x_1, x_2, ..., x_n)^Tx=(x1?,x2?,...,xn?)T 是樣本點的特征向量。

對于二分類問題,假設樣本標簽為 y∈{+1,?1}y \in \{+1, -1\}y{+1,?1}(分別代表正、負類),則超平面需滿足:

  • 正類樣本:w?x+b>0\boldsymbol{w} \cdot \boldsymbol{x} + b > 0w?x+b>0(即 y=+1y=+1y=+1);
  • 負類樣本:w?x+b<0\boldsymbol{w} \cdot \boldsymbol{x} + b < 0w?x+b<0(即 y=?1y=-1y=?1)。
步驟2:定義樣本到超平面的距離(間隔)

為衡量超平面的“分離能力”,需定義樣本到超平面的距離。

  • 函數間隔:對于樣本 (xi,yi)(\boldsymbol{x}_i, y_i)(xi?,yi?),函數間隔為 yi(w?xi+b)y_i(\boldsymbol{w} \cdot \boldsymbol{x}_i + b)yi?(w?xi?+b)

    • 意義:若值為正,說明分類正確(yiy_iyi?w?xi+b\boldsymbol{w} \cdot \boldsymbol{x}_i + bw?xi?+b 同號);絕對值越大,分類可信度越高。
  • 幾何間隔:函數間隔受 w\boldsymbol{w}wbbb 縮放影響(例如 w→2w,b→2b\boldsymbol{w} \to 2\boldsymbol{w}, b \to 2bw2w,b2b 時超平面不變,但函數間隔翻倍),因此需歸一化:
    γi=yi(w?xi+b)∥w∥(2)\gamma_i = \frac{y_i(\boldsymbol{w} \cdot \boldsymbol{x}_i + b)}{\|\boldsymbol{w}\|} \tag{2}γi?=wyi?(w?xi?+b)?(2)
    其中 ∥w∥=w?w\|\boldsymbol{w}\| = \sqrt{\boldsymbol{w} \cdot \boldsymbol{w}}w=w?w?w\boldsymbol{w}w 的L2范數,幾何間隔即樣本到超平面的實際歐氏距離

步驟3:間隔最大化的目標

最優超平面需滿足:所有樣本的幾何間隔中最小的那個(即“最小間隔”)盡可能大

設數據集的最小幾何間隔為 γ=min?iγi\gamma = \min_i \gamma_iγ=mini?γi?,目標是最大化 γ\gammaγ
max?w,bγs.t.yi(w?xi+b)∥w∥≥γ(?i)(3)\max_{\boldsymbol{w}, b} \gamma \quad \text{s.t.} \quad \frac{y_i(\boldsymbol{w} \cdot \boldsymbol{x}_i + b)}{\|\boldsymbol{w}\|} \geq \gamma \quad (\forall i) \tag{3}w,bmax?γs.t.wyi?(w?xi?+b)?γ(?i)(3)

步驟4:簡化目標函數

由于超平面 (w,b)(\boldsymbol{w}, b)(w,b)(kw,kb)(k\boldsymbol{w}, kb)(kw,kb)k>0k>0k>0)表示同一平面,可通過縮放將最小函數間隔歸一化為1(即 yi(w?xi+b)≥1y_i(\boldsymbol{w} \cdot \boldsymbol{x}_i + b) \geq 1yi?(w?xi?+b)1),此時最小幾何間隔 γ=1∥w∥\gamma = \frac{1}{\|\boldsymbol{w}\|}γ=w1?

因此,最大化 γ\gammaγ 等價于最小化 ∥w∥\|\boldsymbol{w}\|w(或 12∥w∥2\frac{1}{2}\|\boldsymbol{w}\|^221?w2,便于求導),目標函數簡化為:
min?w,b12∥w∥2s.t.yi(w?xi+b)≥1(?i)(4)\min_{\boldsymbol{w}, b} \frac{1}{2}\|\boldsymbol{w}\|^2 \quad \text{s.t.} \quad y_i(\boldsymbol{w} \cdot \boldsymbol{x}_i + b) \geq 1 \quad (\forall i) \tag{4}w,bmin?21?w2s.t.yi?(w?xi?+b)1(?i)(4)

二、通過拉格朗日乘子法求解優化問題

式(4)是帶不等式約束的凸優化問題,可通過拉格朗日乘子法轉化為對偶問題求解。

步驟5:構建拉格朗日函數

引入拉格朗日乘子 αi≥0\alpha_i \geq 0αi?0(對應每個約束條件),拉格朗日函數為:
L(w,b,α)=12∥w∥2?∑i=1Nαi[yi(w?xi+b)?1](5)\mathcal{L}(\boldsymbol{w}, b, \boldsymbol{\alpha}) = \frac{1}{2}\|\boldsymbol{w}\|^2 - \sum_{i=1}^N \alpha_i \left[ y_i(\boldsymbol{w} \cdot \boldsymbol{x}_i + b) - 1 \right] \ (5)L(w,b,α)=21?w2?i=1N?αi?[yi?(w?xi?+b)?1]?(5)

  • 第一項是原目標函數;
  • 第二項是約束條件的懲罰項(αi≥0\alpha_i \geq 0αi?0 確保約束被滿足)。
步驟6:求解對偶問題(KKT條件)

凸優化的對偶問題需滿足KKT(Karush-Kuhn-Tucker)條件,即:

  1. 原始可行性:yi(w?xi+b)≥1y_i(\boldsymbol{w} \cdot \boldsymbol{x}_i + b) \geq 1yi?(w?xi?+b)1
  2. 對偶可行性:αi≥0\alpha_i \geq 0αi?0
  3. 互補松弛:αi[yi(w?xi+b)?1]=0\alpha_i \left[ y_i(\boldsymbol{w} \cdot \boldsymbol{x}_i + b) - 1 \right] = 0αi?[yi?(w?xi?+b)?1]=0(若 αi>0\alpha_i > 0αi?>0,則約束取等號,即 yi(w?xi+b)=1y_i(\boldsymbol{w} \cdot \boldsymbol{x}_i + b) = 1yi?(w?xi?+b)=1);
  4. 梯度為零:?wL=0\nabla_{\boldsymbol{w}} \mathcal{L} = 0?w?L=0?bL=0\nabla_b \mathcal{L} = 0?b?L=0
步驟7:求導化簡(核心推導)

w\boldsymbol{w}wbbb 求偏導并令其為0:

  • w\boldsymbol{w}w 求導:
    ?wL=w?∑i=1Nαiyixi=0?w=∑i=1Nαiyixi(6)\nabla_{\boldsymbol{w}} \mathcal{L} = \boldsymbol{w} - \sum_{i=1}^N \alpha_i y_i \boldsymbol{x}_i = 0 \implies \boldsymbol{w} = \sum_{i=1}^N \alpha_i y_i \boldsymbol{x}_i \ (6)?w?L=w?i=1N?αi?yi?xi?=0?w=i=1N?αi?yi?xi??(6)
    w\boldsymbol{w}w 可由樣本的線性組合表示,系數為 αiyi\alpha_i y_iαi?yi?

  • bbb 求導:
    ?bL=?∑i=1Nαiyi=0?∑i=1Nαiyi=0(7)\nabla_b \mathcal{L} = -\sum_{i=1}^N \alpha_i y_i = 0 \implies \sum_{i=1}^N \alpha_i y_i = 0 \ (7)?b?L=?i=1N?αi?yi?=0?i=1N?αi?yi?=0?(7)

步驟8:對偶問題的目標函數

將式(6)代入拉格朗日函數(5),化簡對偶問題:

  1. 展開 12∥w∥2\frac{1}{2}\|\boldsymbol{w}\|^221?w2
    12∥w∥2=12(∑i=1Nαiyixi)?(∑j=1Nαjyjxj)=12∑i=1N∑j=1Nαiαjyiyj(xi?xj)\frac{1}{2}\|\boldsymbol{w}\|^2 = \frac{1}{2} \left( \sum_{i=1}^N \alpha_i y_i \boldsymbol{x}_i \right) \cdot \left( \sum_{j=1}^N \alpha_j y_j \boldsymbol{x}_j \right) = \frac{1}{2} \sum_{i=1}^N \sum_{j=1}^N \alpha_i \alpha_j y_i y_j (\boldsymbol{x}_i \cdot \boldsymbol{x}_j)21?w2=21?(i=1N?αi?yi?xi?)?(j=1N?αj?yj?xj?)=21?i=1N?j=1N?αi?αj?yi?yj?(xi??xj?)

  2. 展開懲罰項:
    ∑i=1Nαi[yi(w?xi+b)?1]=∑i=1Nαiyi(w?xi)+∑i=1Nαiyib?∑i=1Nαi\sum_{i=1}^N \alpha_i \left[ y_i(\boldsymbol{w} \cdot \boldsymbol{x}_i + b) - 1 \right] = \sum_{i=1}^N \alpha_i y_i (\boldsymbol{w} \cdot \boldsymbol{x}_i) + \sum_{i=1}^N \alpha_i y_i b - \sum_{i=1}^N \alpha_ii=1N?αi?[yi?(w?xi?+b)?1]=i=1N?αi?yi?(w?xi?)+i=1N?αi?yi?b?i=1N?αi?
    由式(6)和(7),第二項 ∑αiyib=b?0=0\sum \alpha_i y_i b = b \cdot 0 = 0αi?yi?b=b?0=0,第一項:
    ∑i=1Nαiyi(w?xi)=∑i=1Nαiyi(∑j=1Nαjyjxj?xi)=∑i=1N∑j=1Nαiαjyiyj(xi?xj)\sum_{i=1}^N \alpha_i y_i (\boldsymbol{w} \cdot \boldsymbol{x}_i) = \sum_{i=1}^N \alpha_i y_i \left( \sum_{j=1}^N \alpha_j y_j \boldsymbol{x}_j \cdot \boldsymbol{x}_i \right) = \sum_{i=1}^N \sum_{j=1}^N \alpha_i \alpha_j y_i y_j (\boldsymbol{x}_i \cdot \boldsymbol{x}_j)i=1N?αi?yi?(w?xi?)=i=1N?αi?yi?(j=1N?αj?yj?xj??xi?)=i=1N?j=1N?αi?αj?yi?yj?(xi??xj?)

  3. 合并化簡拉格朗日函數:
    L=12∑i,jαiαjyiyj(xi?xj)?[∑i,jαiαjyiyj(xi?xj)?∑iαi]\mathcal{L} = \frac{1}{2} \sum_{i,j} \alpha_i \alpha_j y_i y_j (\boldsymbol{x}_i \cdot \boldsymbol{x}_j) - \left[ \sum_{i,j} \alpha_i \alpha_j y_i y_j (\boldsymbol{x}_i \cdot \boldsymbol{x}_j) - \sum_i \alpha_i \right]L=21?i,j?αi?αj?yi?yj?(xi??xj?)?[i,j?αi?αj?yi?yj?(xi??xj?)?i?αi?]
    =?12∑i,jαiαjyiyj(xi?xj)+∑iαi= -\frac{1}{2} \sum_{i,j} \alpha_i \alpha_j y_i y_j (\boldsymbol{x}_i \cdot \boldsymbol{x}_j) + \sum_i \alpha_i=?21?i,j?αi?αj?yi?yj?(xi??xj?)+i?αi?

因此,對偶問題轉化為最大化以下函數( subject to 約束 αi≥0\alpha_i \geq 0αi?0∑αiyi=0\sum \alpha_i y_i = 0αi?yi?=0):
max?α(∑i=1Nαi?12∑i=1N∑j=1Nαiαjyiyj(xi?xj))(8)\max_{\boldsymbol{\alpha}} \left( \sum_{i=1}^N \alpha_i - \frac{1}{2} \sum_{i=1}^N \sum_{j=1}^N \alpha_i \alpha_j y_i y_j (\boldsymbol{x}_i \cdot \boldsymbol{x}_j) \right) \tag{8}αmax?(i=1N?αi??21?i=1N?j=1N?αi?αj?yi?yj?(xi??xj?))(8)

步驟9:求解超平面參數

通過對偶問題求出 α\boldsymbol{\alpha}α 后,可計算:

  • w\boldsymbol{w}w:由式(6),w=∑αiyixi\boldsymbol{w} = \sum \alpha_i y_i \boldsymbol{x}_iw=αi?yi?xi?
  • bbb:由互補松弛條件,對 αi>0\alpha_i > 0αi?>0 的樣本(即支持向量),yi(w?xi+b)=1y_i(\boldsymbol{w} \cdot \boldsymbol{x}_i + b) = 1yi?(w?xi?+b)=1,解得:
    b=yi?w?xi=yi?∑j=1Nαjyj(xj?xi)(9)b = y_i - \boldsymbol{w} \cdot \boldsymbol{x}_i = y_i - \sum_{j=1}^N \alpha_j y_j (\boldsymbol{x}_j \cdot \boldsymbol{x}_i) \tag{9}b=yi??w?xi?=yi??j=1N?αj?yj?(xj??xi?)(9)
步驟10:分類決策函數

對新樣本 x\boldsymbol{x}x,分類結果由超平面的符號決定:
f(x)=sign(w?x+b)=sign(∑i=1Nαiyi(xi?x)+b)(10)f(\boldsymbol{x}) = \text{sign}(\boldsymbol{w} \cdot \boldsymbol{x} + b) = \text{sign}\left( \sum_{i=1}^N \alpha_i y_i (\boldsymbol{x}_i \cdot \boldsymbol{x}) + b \right) \ (10)f(x)=sign(w?x+b)=sign(i=1N?αi?yi?(xi??x)+b)?(10)

三、數學案例:線性可分數據的SVM求解

設二維數據集如下(線性可分):

  • 正類(y=+1y=+1y=+1):x1=(3,3)T\boldsymbol{x}_1 = (3, 3)^Tx1?=(3,3)Tx2=(4,3)T\boldsymbol{x}_2 = (4, 3)^Tx2?=(4,3)T
  • 負類(y=?1y=-1y=?1):x3=(1,1)T\boldsymbol{x}_3 = (1, 1)^Tx3?=(1,1)Tx4=(2,1)T\boldsymbol{x}_4 = (2, 1)^Tx4?=(2,1)T
步驟1:直觀分析

最優超平面應位于兩類數據中間,假設支持向量為 x1\boldsymbol{x}_1x1?(正類)和 x3\boldsymbol{x}_3x3?(負類),即 α1>0,α3>0\alpha_1 > 0, \alpha_3 > 0α1?>0,α3?>0α2=α4=0\alpha_2 = \alpha_4 = 0α2?=α4?=0(非支持向量)。

步驟2:代入對偶問題約束

∑αiyi=0\sum \alpha_i y_i = 0αi?yi?=0
α1?1+α3?(?1)=0?α1=α3(11)\alpha_1 \cdot 1 + \alpha_3 \cdot (-1) = 0 \implies \alpha_1 = \alpha_3 \tag{11}α1??1+α3??(?1)=0?α1?=α3?(11)

步驟3:計算對偶目標函數

目標函數式(8)簡化為(僅保留 α1,α3\alpha_1, \alpha_3α1?,α3?):
W(α)=α1+α3?12[α12(x1?x1)+α32(x3?x3)+2α1α3y1y3(x1?x3)]W(\alpha) = \alpha_1 + \alpha_3 - \frac{1}{2} \left[ \alpha_1^2 (x_1 \cdot x_1) + \alpha_3^2 (x_3 \cdot x_3) + 2\alpha_1 \alpha_3 y_1 y_3 (x_1 \cdot x_3) \right]W(α)=α1?+α3??21?[α12?(x1??x1?)+α32?(x3??x3?)+2α1?α3?y1?y3?(x1??x3?)]

代入數據:

  • x1?x1=32+32=18x_1 \cdot x_1 = 3^2 + 3^2 = 18x1??x1?=32+32=18x3?x3=12+12=2x_3 \cdot x_3 = 1^2 + 1^2 = 2x3??x3?=12+12=2
  • x1?x3=3?1+3?1=6x_1 \cdot x_3 = 3 \cdot 1 + 3 \cdot 1 = 6x1??x3?=3?1+3?1=6y1y3=1?(?1)=?1y_1 y_3 = 1 \cdot (-1) = -1y1?y3?=1?(?1)=?1
  • α1=α3=α\alpha_1 = \alpha_3 = \alphaα1?=α3?=α,得:
    W(α)=2α?12[α2?18+α2?2+2α2?(?1)?6]W(\alpha) = 2\alpha - \frac{1}{2} \left[ \alpha^2 \cdot 18 + \alpha^2 \cdot 2 + 2\alpha^2 \cdot (-1) \cdot 6 \right]W(α)=2α?21?[α2?18+α2?2+2α2?(?1)?6]
    =2α?12[20α2?12α2]=2α?4α2= 2\alpha - \frac{1}{2} \left[ 20\alpha^2 - 12\alpha^2 \right] = 2\alpha - 4\alpha^2=2α?21?[20α2?12α2]=2α?4α2
步驟4:最大化對偶函數

W(α)W(\alpha)W(α) 求導并令其為0:
dWdα=2?8α=0?α=14\frac{dW}{d\alpha} = 2 - 8\alpha = 0 \implies \alpha = \frac{1}{4}dαdW?=2?8α=0?α=41?
因此,α1=α3=14\alpha_1 = \alpha_3 = \frac{1}{4}α1?=α3?=41?α2=α4=0\alpha_2 = \alpha_4 = 0α2?=α4?=0

步驟5:計算 w\boldsymbol{w}wbbb
  • w=α1y1x1+α3y3x3=14?1?(3,3)+14?(?1)?(1,1)=(3?14,3?14)=(0.5,0.5)\boldsymbol{w} = \alpha_1 y_1 \boldsymbol{x}_1 + \alpha_3 y_3 \boldsymbol{x}_3 = \frac{1}{4} \cdot 1 \cdot (3,3) + \frac{1}{4} \cdot (-1) \cdot (1,1) = \left( \frac{3-1}{4}, \frac{3-1}{4} \right) = (0.5, 0.5)w=α1?y1?x1?+α3?y3?x3?=41??1?(3,3)+41??(?1)?(1,1)=(43?1?,43?1?)=(0.5,0.5)
  • 由支持向量 x1\boldsymbol{x}_1x1?bbby1(w?x1+b)=1y_1(\boldsymbol{w} \cdot \boldsymbol{x}_1 + b) = 1y1?(w?x1?+b)=1
    1?(0.5?3+0.5?3+b)=1?3+b=1?b=?21 \cdot (0.5 \cdot 3 + 0.5 \cdot 3 + b) = 1 \implies 3 + b = 1 \implies b = -21?(0.5?3+0.5?3+b)=1?3+b=1?b=?2
步驟6:驗證超平面

超平面方程:0.5x1+0.5x2?2=00.5x_1 + 0.5x_2 - 2 = 00.5x1?+0.5x2??2=0(即 x1+x2=4x_1 + x_2 = 4x1?+x2?=4)。

  • 正類樣本 x1\boldsymbol{x}_1x1? 到超平面的距離:∣3+3?4∣0.52+0.52=2\frac{|3+3-4|}{\sqrt{0.5^2 + 0.5^2}} = \sqrt{2}0.52+0.52?∣3+3?4∣?=2?
  • 負類樣本 x3\boldsymbol{x}_3x3? 到超平面的距離:∣1+1?4∣0.52+0.52=2\frac{|1+1-4|}{\sqrt{0.5^2 + 0.5^2}} = \sqrt{2}0.52+0.52?∣1+1?4∣?=2?,滿足間隔最大化。

總結

SVM通過間隔最大化確定最優超平面,利用拉格朗日乘子法將原始問題轉化為對偶問題,最終僅通過支持向量(αi>0\alpha_i > 0αi?>0 的樣本)即可求解超平面參數。這一特性使其在高維空間中仍具高效性,且可通過核函數擴展到非線性分類場景。以下將對支持向量機(SVM)的核心公式原理進行逐步驟詳細推導,并結合數學案例說明,確保每一步的邏輯和計算過程清晰可追溯。

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

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

相關文章

【教程】Nginx 源碼安裝

開發環境&#xff1a;VMWare 操作系統&#xff1a;紅帽 Linux 8 ? 前言 以離線環境安裝為前提&#xff0c;需準備以下 rmp 包內容&#xff1a; gccmakepcre-develzlib-developenssl-devel 如何準備可參考【教程】準備離線可用的 RPM 包 ? 流程 準備離線包 # 安裝 rpm yu…

俄羅斯信封套娃問題-二維最長遞增子序列

354. 俄羅斯套娃信封問題 - 力扣&#xff08;LeetCode&#xff09; Solution 對一個維度從小到大排序&#xff0c;然后對另外一個維度求最長上升子序列即可。 class Solution { public:struct node {int w, h;node(int w, int h) {this->w w;this->h h;}};static bool…

區塊鏈:用數學重構信任的數字文明基石

在數字經濟浪潮席卷全球的今天&#xff0c;虛擬與現實的融合正面臨一個根本性挑戰——如何讓數字世界的"承諾"擁有與現實世界同等的可信度&#xff1f; 當我們在電商平臺下單時&#xff0c;如何確保商品質量與描述一致&#xff1f;當企業簽署電子合同時&#xff0c;如…

Go語言defer機制詳解與應用

一、defer作用Go語言的defer關鍵字提供了一種延遲執行機制&#xff0c;它能確保指定的函數調用在當前函數返回前被執行。這一特性常用于資源釋放和異常處理場景。二、defer基本特性&#xff08;1&#xff09;執行時機&#xff1a;defer 語句會在外層函數返回前執行&#xff0c;…

服務器安全防護詳細介紹

一、方案概述隨著信息技術的飛速發展&#xff0c;服務器作為企業數據存儲、業務運行的核心載體&#xff0c;其安全性至關重要。本服務器安全防護方案旨在通過多層次、全方位的安全防護策略&#xff0c;構建一個完整的服務器安全防護體系&#xff0c;有效抵御各類安全威脅&#…

網站與政務新媒體自查情況的報告工具功能

要高效地完成網站與政務新媒體的自查&#xff0c;并生成報告&#xff0c;通常需要借助專業的自動化巡檢工具。這些工具能夠模擬人工檢查&#xff0c;但速度更快、覆蓋面更廣&#xff0c;并且能將發現的問題匯總成結構化的報告。一、網站與政務新媒體自查報告的工具實現功能這類…

JVM核心原理與實戰優化指南

一、成為卓越的Java開發者 無論你是大學生還是資深工程師&#xff0c;學習JVM都至關重要。你可能是為了&#xff1a; 征服技術面試進行系統調優深入理解Java生態 學習路徑建議&#xff1a; 從Java語言本質切入&#xff0c;逐步深入JVM核心機制&#xff0c;兼顧不同背景學習者…

TCP/IP、socket、http

區分與聯系 TCP/IP 是底層規則,規定數據如何傳輸; Socket 是操作 TCP/IP 的工具,讓程序能實現通信; HTTPS 是上層應用,用 Socket 調用 TCP/IP 協議,實現安全的數據傳輸。 應用層:HTTPS(基于 HTTP + SSL/TLS)| | socket連接了應用層和傳輸層↓ 傳輸層:TCP(可靠…

Go語言中的指針接收者

Go語言中的指針接收者&#xff08;Pointer Receiver&#xff09;與Java類中的方法在設計思想上確實有相似之處&#xff0c;尤其在對象狀態修改和性能優化上&#xff0c;但兩者在實現機制和語言哲學上存在顯著差異。以下從核心特性、設計對比和應用場景展開分析&#xff1a;一、…

計算機視覺(opencv)實戰三——圖像運算、cv2.add()、cv2.addWeighted()

圖像運算詳解&#xff1a;加法運算與加權運算在數字圖像處理中&#xff0c;圖像運算是基礎且常用的操作之一。它能夠對兩幅圖像或圖像與常數進行加減乘除&#xff0c;從而實現亮度調整、融合疊加、特效制作等功能。本文將重點介紹 OpenCV 中的圖像加法運算與加權運算&#xff0…

Redis核心架構

一、核心模塊如圖 Client 客戶端&#xff0c;官方提供了 C 語言開發的客戶端&#xff0c;可以發送命令&#xff0c;性能分析和測試等。網絡層事件驅動模型&#xff0c;基于 I/O 多路復用&#xff0c;封裝了一個短小精悍的高性能 ae 庫&#xff0c;全稱是 a simple event-driven…

Python爬蟲大師課:HTTP協議深度解析與工業級請求封裝

Python爬蟲大師課&#xff1a;HTTP協議深度解析與工業級請求封裝 從零構建企業級爬蟲框架&#xff08;附完整源碼&#xff09; 一、爬蟲基礎&#xff1a;網絡世界的通行證 ??HTTP協議核心數據??&#xff1a; 全球網站數量&#xff1a;20億 HTTP請求占比&#xff1a;83% …

機器學習——PCA(主成分分析)降維

PCA&#xff08;主成分分析&#xff09;降維詳解一、什么是 PCAPCA&#xff08;Principal Component Analysis&#xff0c;主成分分析&#xff09;是一種常用的數據降維方法。它通過線性變換將原始的高維數據映射到低維空間&#xff0c;同時盡可能保留原數據的主要信息&#xf…

把 AI 裝進“冰箱貼”——基于超低功耗語音合成的小屏電子價簽

標簽&#xff1a;電子價簽、語音合成、TTS、超低功耗、電子墨水、BLE、離線語音 ---- 1. 背景&#xff1a;價簽也要開口說話&#xff1f; 超市做促銷&#xff0c;顧客拿價簽一掃&#xff0c;“今日番茄 2.99 元/斤&#xff0c;會員再享 9 折” 直接語音播放。 硬件限制&#xf…

挖漏洞是什么意思?挖漏洞賺錢入門到精通,收藏這篇就夠了!

挖漏洞是什么意思&#xff1f;挖漏洞賺錢入門到精通&#xff0c;收藏這篇就夠了&#xff01; 什么是漏洞挖掘 漏洞挖掘是指通過分析軟件、系統或網絡中存在的安全漏洞來發現并利用這些漏洞。漏洞挖掘是信息安全領域的一項重要工作&#xff0c;可以幫助企業和組織提高系統的安…

如何理解AP中SM中宿主進程?

在AUTOSAR Adaptive Platform&#xff08;AP&#xff09;中&#xff0c;狀態管理&#xff08;State Management, SM&#xff09;的宿主進程&#xff08;Host Process&#xff09; 是實現狀態機運行的核心載體&#xff0c;其本質與運作機制可通過以下結構化解析深入理解&#xf…

無人機光電探測模塊技術分析

一、技術要點1. 多光譜成像技術 可見光與紅外融合&#xff1a;白天依賴可見光高分辨率成像&#xff08;識別外形、顏色&#xff09;&#xff0c;夜間或低光照條件下切換至紅外熱成像&#xff08;捕捉0.5℃級溫差&#xff09;&#xff0c;通過雙波段互補提升全天候能力。 激光…

第40周——GAN入門

目錄 目錄 目錄 前言 一、定義超參數 二、下載數據 三、配置數據 四、定義鑒別器 五、訓練模型并保存 總結 前言 &#x1f368; 本文為&#x1f517;365天深度學習訓練營中的學習記錄博客&#x1f356; 原作者&#xff1a;K同學啊 一、定義超參數 import argparse import os i…

Nginx性能優化與安全配置:打造高性能Web服務器

系列文章索引&#xff1a; 第一篇&#xff1a;《Nginx入門與安裝詳解&#xff1a;從零開始搭建高性能Web服務器》第二篇&#xff1a;《Nginx基礎配置詳解&#xff1a;nginx.conf核心配置與虛擬主機實戰》第三篇&#xff1a;《Nginx代理配置詳解&#xff1a;正向代理與反向代理…

二分算法(模板)

例題1&#xff1a; 704. 二分查找 - 力扣&#xff08;LeetCode&#xff09; 算法原理&#xff1a;&#xff08;二分&#xff09; 通過遍歷也可以通過&#xff0c;但是二分更優且數據量越大越能體現。 二分思路&#xff1a; 1.mid1 (left right)/2 與 mid2 right (right …