解鎖機器學習核心算法 | 支持向量機:機器學習中的分類利刃

一、引言

在機器學習的龐大算法體系中,有十種算法被廣泛認為是最具代表性和實用性的,它們猶如機器學習領域的 “十大神器”,各自發揮著獨特的作用。這十大算法包括線性回歸、邏輯回歸、決策樹、隨機森林、K - 近鄰算法、K - 平均算法、支持向量機、樸素貝葉斯算法、主成分分析(PCA)、神經網絡。它們涵蓋了回歸、分類、聚類、降維等多個機器學習任務領域,是眾多機器學習應用的基礎和核心。

而在這十大算法中,支持向量機(Support Vector Machine,SVM)算法憑借其獨特的理論和卓越的性能,占據著舉足輕重的地位。SVM 是一種有監督的機器學習算法,可廣泛應用于分類和回歸問題。它的核心思想是找到一個超平面,將不同類別的數據點盡可能清晰地分隔開,并且使這個超平面到各類數據點的間隔最大化 ,以此來提高模型的泛化能力。這種獨特的思想使得 SVM 在處理高維數據和小樣本數據時表現出色,并且在非線性分類問題上也有著強大的處理能力,通過核函數技巧,能將低維空間中的非線性問題轉化為高維空間中的線性可分問題。在圖像識別、文本分類、生物信息學等眾多領域,SVM 都有著廣泛且成功的應用,為解決實際問題提供了高效的解決方案。接下來,就讓我們深入探究支持向量機算法的奧秘。
在這里插入圖片描述

二、SVM 的起源與發展

支持向量機(SVM)的發展歷經漫長探索與演進,眾多學者成果為其奠基。

  • 1936 年,羅納德?費希爾提出線性判別分析(LDA),成為 SVM 發展起點,啟發分類問題研究。1950 年,阿倫薩因的 “核再現理論” 為 SVM 核方法提供理論基礎,拓展其處理非線性問題的能力。1957 年,弗蘭克?羅森布拉特發明感知器,為 SVM 處理線性分類提供思路。
  • 1963 年,弗拉基米爾?瓦普尼克和雷納提出肖像算法,為 SVM 出現鋪墊。1964 年,艾澤曼等人對內核的幾何解釋推動 SVM 理論完善。1968 年,史密斯引入松弛變量,增強 SVM 處理復雜數據能力。1973 年,杜達和哈特的寬邊界超平面思想為 SVM 發展指明新方向。1974 年,瓦普尼克和切爾沃涅基催生 “統計學習理論”,SVM 成核心部分,1979 年相關著作推動其國際傳播。
  • 80 年代,哈松博士論文及統計力學與 SVM 的融合,豐富了 SVM 理論。隨著對模式識別相關問題研究深入及 VC 維概念提出,SVM 逐漸完善。1992 年 COLT 會議上,接近現代形式的 SVM 算法亮相,標志其走向成熟,隨后在多領域廣泛應用。

三、SVM 的核心原理

(一)基本概念

  • 超平面 在機器學習領域,超平面是一個極為重要的概念,它在不同維度空間有著獨特的定義和表示形式。
    • 二維空間中,超平面就是我們所熟知的直線,其方程可以表示為: a x + b y + c = 0 ax + by + c = 0 ax+by+c=0其中 a a a b b b 不同時為 0 0 0 ,通過這個方程可以將二維平面劃分為兩個區域。
    • 三維空間里,超平面則是一個平面,方程表示為: a x + b y + c z + d = 0 ax + by + cz + d = 0 ax+by+cz+d=0 其中 a a a b b b c c c 不全為 0 0 0 ,能夠把三維空間分割成兩個部分。
    • 而在更高維度的 n n n維空間 中,超平面同樣是一個維度比所在空間低一維的子空間,其方程的一般形式為: w T x + b = 0 w^T x + b = 0 wTx+b=0這里的 w w w 是一個 n n n 維的權重向量, x x x n n n 維空間中的向量, b b b 是偏置項 。

超平面在 SVM 中扮演著分類決策邊界的關鍵角色,它的位置和方向決定了如何將不同類別的數據點分隔開來。對于一個二分類問題,位于超平面一側的數據點被劃分為正類,另一側的數據點則被劃分為負類。例如,在一個簡單的二維數據集上,通過確定合適的超平面(直線),可以將紅色和藍色的數據點準確地分開,從而實現分類任務。

  • 支持向量支持向量是距離超平面最近的數據點,它們在 SVM 中對確定超平面的位置和方向起著至關重要的作用。當我們試圖找到一個超平面來分隔不同類別的數據時,并不是所有的數據點都對超平面的確定有同等的影響力,支持向量才是真正決定超平面的關鍵因素。因為超平面的位置和方向是由這些距離它最近的數據點來確定的,其他遠離超平面的數據點對超平面的影響較小。在實際應用中,通過調整支持向量與超平面的距離關系,能夠找到最優的超平面,使得分類效果最佳。例如,在一個線性可分的數據集里,那些最靠近超平面且分別屬于不同類別的數據點就是支持向量,它們如同超平面的 “支撐點”,超平面的確定就是圍繞著這些支持向量進行的,以確保能夠在最大程度上正確分類數據點的同時,使超平面具有最強的泛化能力。

  • 間隔與最大間隔間隔是超平面到最近支持向量的距離,它是衡量 SVM 分類性能的一個重要指標。在 SVM 中,我們追求的是找到使正類和負類數據點之間間隔最大化的超平面,這就是最大間隔的概念。為什么要最大化間隔呢?因為較大的間隔意味著超平面具有更強的魯棒性和泛化能力,能夠更好地對未知數據進行分類。直觀地說,間隔越大,超平面與各類數據點之間的 “緩沖帶” 就越寬,這樣即使在面對一些噪聲數據或者新的數據點時,超平面依然能夠較為準確地對其進行分類。從數學角度來看,通過最大化間隔,可以將 SVM 的分類問題轉化為一個凸優化問題進行求解。在求解過程中,我們通常會利用拉格朗日乘子法等數學工具,將原始的約束優化問題轉化為對偶問題,從而更方便地找到最優解,確定能夠使間隔最大化的超平面的參數。

(二)算法原理詳解

  • 線性可分 SVM對于線性可分的數據,即存在一個超平面能夠將不同類別的數據點完全正確地分開,SVM 的目標就是通過最大化間隔來尋找這個最優超平面。假設我們有一個二分類數據集 D = { ( x i , y i ) } i = 1 n D = \{(x_i, y_i)\}_{i = 1}^n D={(xi?,yi?)}i=1n? 其中 x i x_i xi? n n n 維特征向量, y i ∈ { + 1 , ? 1 } y_i \in \{ + 1, - 1\} yi?{+1,?1} 是類別標簽。
    超平面可以表示為: w T x + b = 0 w^T x + b = 0 wTx+b=0
    數據點 x i x_i xi? 到超平面的距離可以表示為: ∣ w T x i + b ∣ ∣ ∣ w ∣ ∣ \frac{|w^T x_i + b|}{||w||} ∣∣w∣∣wTxi?+b? 為了找到最優超平面,我們的目標是最大化這個距離,也就是最大化間隔。為了求解這個問題,我們可以利用拉格朗日乘子法將其轉化為對偶問題。

    • 首先,引入拉格朗日乘子 α i \alpha_i αi? ,構建拉格朗日函數 L ( w , b , α ) = 1 2 ∣ ∣ w ∣ ∣ 2 ? ∑ i = 1 n α i [ y i ( w T x i + b ) ? 1 ] L(w, b, \alpha) = \frac{1}{2}||w||^2 - \sum_{i = 1}^n \alpha_i [y_i (w^T x_i + b) - 1] L(w,b,α)=21?∣∣w2?i=1n?αi?[yi?(wTxi?+b)?1] 其中 α i ≥ 0 \alpha_i \geq 0 αi?0
    • 然后,對 w w w b b b 求偏導并令其為 0 0 0,得到一些等式關系,再將這些關系代入拉格朗日函數中,就可以得到對偶問題: max ? α ∑ i = 1 n α i ? 1 2 ∑ i = 1 n ∑ j = 1 n α i α j y i y j x i T x j \max_{\alpha} \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 x_i^T x_j αmax?i=1n?αi??21?i=1n?j=1n?αi?αj?yi?yj?xiT?xj? 約束條件為: ∑ i = 1 n α i y i = 0 \sum_{i = 1}^n \alpha_i y_i = 0 i=1n?αi?yi?=0 α i ≥ 0 \alpha_i \geq 0 αi?0 。通過求解這個對偶問題,我們可以得到拉格朗日乘子 α i \alpha_i αi? 的值,進而確定最優超平面的參數 w w w b b b

      在實際應用中,對于一些簡單的線性可分數據集,如經典的鳶尾花數據集的部分子集,我們可以通過這種方法準確地找到最優超平面,實現對不同類別鳶尾花的分類。
  • 線性支持向量機(近似線性可分情況)在現實世界中,數據往往存在噪聲或只是近似線性可分,完全線性可分的情況較為少見。為了處理這種情況,SVM 引入了松弛變量 ξ i \xi_i ξi?,這就產生了線性支持向量機,也稱為軟間隔 SVM。松弛變量 ξ i \xi_i ξi? 允許部分數據點被錯誤分類或者位于間隔區域內,從而使模型能夠更好地適應帶有噪聲或異常點的數據。此時,優化目標變為: min ? w , b , ξ 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 n ξ i \min_{w, b, \xi} \frac{1}{2}||w||^2 + C \sum_{i = 1}^n \xi_i w,b,ξmin?21?∣∣w2+Ci=1n?ξi? 約束條件為 y i ( w T x i + b ) ≥ 1 ? ξ i y_i (w^T x_i + b) \geq 1 - \xi_i yi?(wTxi?+b)1?ξi? ξ i ≥ 0 \xi_i \geq 0 ξi?0 ,其中 C C C 是懲罰系數,它起著權衡分類錯誤與間隔大小的重要作用。

    • 較大的 C C C意味著對分類錯誤的懲罰更嚴厲,模型會更傾向于擬合訓練數據,盡量減少錯誤分類的情況,但可能會導致過擬合;
    • 較小的 C C C則會使模型更加容忍錯誤分類,更加注重模型的簡單性和泛化能力,不過可能會增加一些分類錯誤。


    在求解這個優化問題時,同樣可以利用拉格朗日乘子法將其轉化為對偶問題進行求解。以手寫數字識別為例,由于手寫數字的圖像可能存在變形、噪聲等問題,數據并非完全線性可分,使用線性支持向量機可以通過調整 C C C 值和引入松弛變量,有效地對這些手寫數字進行分類,在保證一定分類準確率的同時,提高模型的泛化能力。

  • 非線性支持向量機當數據在原始低維空間中呈現非線性分布,無法用一個超平面將不同類別的數據點分開時,就需要使用非線性支持向量機。其核心思想是通過核函數將數據映射到高維空間,使得在高維空間中數據變得線性可分,從而可以使用線性 SVM 的方法進行處理。核函數是一種能夠在低維空間中計算高維空間內積的函數,它避免了直接在高維空間中進行復雜的計算,大大降低了計算復雜度。常見的核函數包括:

    • 線性核 K ( x , y ) = x T y K(x, y) = x^T y K(x,y)=xTy適用于數據本身接近線性可分的情況,計算速度快,但對于復雜的非線性數據效果有限;
    • 多項式核 K ( x , y ) = ( x T y + c ) d K(x, y) = (x^T y + c)^d K(x,y)=(xTy+c)d 可以捕捉數據中的非線性關系,通過調整參數 c c c d d d可以控制多項式的次數和復雜度,能夠處理一些具有多項式關系的數據;
    • 徑向基函數(RBF)核,也稱為高斯核: K ( x , y ) = exp ? ( ? γ ∣ x ? y ∣ 2 ) K(x, y) = \exp(-\gamma |x - y|^2) K(x,y)=exp(?γx?y2) 具有很強的非線性映射能力,對各種類型的數據都有較好的適應性,是最常用的核函數之一,在處理圖像、文本等復雜數據時表現出色;
    • sigmoid 核 K ( x , y ) = tanh ? ( α x T y + c ) K(x, y) = \tanh(\alpha x^T y + c) K(x,y)=tanh(αxTy+c) 與神經網絡中的激活函數類似,適用于某些特定類型的數據,如在一些與神經網絡相關的應用場景中可能會發揮作用。


    在實際應用中,選擇合適的核函數對于模型的性能至關重要。例如,在圖像識別任務中,由于圖像數據的復雜性和非線性特征,高斯核通常表現出色,通過將圖像數據映射到高維空間,SVM 可以有效地捕捉圖像的非線性特征,從而提高分類精度;在文本分類任務中,多項式核和線性核都是常見的選擇,多項式核可以捕捉文本數據的復雜關系,而線性核則適用于大規模數據集,計算效率更高 。

四、SVM 的應用領域

1. 圖像識別領域

  • 手寫數字識別應用于郵政系統對手寫郵政編碼的識別、銀行系統對手寫支票金額數字的識別等場景。
  • 車牌識別用于智能交通系統中的停車場管理、電子警察抓拍等,實現車輛自動識別和管理。

2. 文本分類領域

  • 垃圾郵件過濾許多電子郵件客戶端和郵件服務器采用該技術,為用戶提供純凈郵件環境。
  • 情感分析幫助企業了解消費者對產品或服務的評價以改進產品服務,也用于社交媒體分析公眾對事件或話題的情感態度,如電商平臺分析用戶評價提升滿意度。

3. 生物信息學領域

  • 基因分類在癌癥研究中,通過分析基因表達數據,將基因分為與癌癥相關和無關類別,助力了解癌癥發病機制與尋找治療靶點。
  • 蛋白質分類根據蛋白質功能將其分類,輔助了解蛋白質功能和作用機制,為藥物研發和生物技術應用提供支持。

4. 金融風險評估領域

  • 信貸違約預測銀行或金融機構利用該技術構建信貸違約預測模型,依據預測結果決定是否批準貸款及相關額度、利率,降低信貸風險。
  • 股票價格預測為投資者提供一定參考,輔助其做出更合理投資決策,但需結合其他方法綜合判斷。

六、SVM 的優缺點

(一)優點

  1. 高精度與高效性在中等規模數據集上,SVM 能提供高精度方案。處理高維數據時,它通過尋找最優超平面分隔數據,不依賴數據分布,有效應對維數災難。如在圖像識別,像 MNIST 手寫數字識別任務中,可借合適核函數將高維圖像數據映射,找到超平面實現準確分類。
  2. 靈活性與非線性處理能力核技巧讓 SVM 能借不同核函數處理各類數據關系,尤其擅長解決非線性問題。它把低維非線性問題轉化為高維線性可分問題。像文本分類,數據呈復雜非線性,多項式核或 RBF 核的 SVM 可有效提取特征分類。
  3. 泛化能力強SVM 最大化決策邊界邊緣,減少過擬合風險。最大化間隔使超平面與數據點“緩沖帶”更寬,對噪聲和新數據點分類準確。訓練只關注支持向量,對非支持向量噪聲和異常值魯棒。如手寫數字識別,在測試集面對噪聲或變形圖像仍能保持高準確率。
  4. 魯棒性好通過選擇正則化參數 C,SVM 可處理噪聲數據并忽略離群點。軟間隔 SVM 引入松弛變量,C 值權衡分類錯誤與間隔大小。C 小,模型容忍錯誤分類,注重泛化;C 大,模型傾向擬合訓練數據。在金融風險評估中,能合理調整 C 值避免異常數據干擾。

(二)缺點

  1. 訓練時間長與計算復雜度高數據集大時,SVM 訓練時間長。因其需解決優化問題確定支持向量,計算所有樣本點內積,使計算量和復雜度劇增。其優化問題是二次規劃問題,本身計算復雜。如處理 CIFAR - 10 大規模圖像數據集,比深度學習算法如卷積神經網絡耗時耗資源。
  2. 參數選擇復雜SVM 性能受核函數和正則化參數顯著影響,需交叉驗證確定,過程復雜。不同核函數適用于不同數據,無通用選擇方法,靠數據特點和經驗嘗試調整。正則化參數 C 也需交叉驗證找最優值平衡訓練和測試誤差,實際應用需大量實驗計算,增加成本。
  3. 模型結果難以解釋SVM 是黑盒模型,難直觀解釋決策過程和結果。不像決策樹以樹狀結構展示決策,SVM 決策邊界由支持向量決定,非專業人士難理解其分類決策依據,在醫療診斷等高可解釋性需求領域受限。

七、項目實戰

(一)Python 實現 SVM 分類

在 Python 中,借助 scikit-learn 庫能便捷實現 SVM 分類。以鳶尾花數據集分類為例,代碼如下:

from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score# 加載鳶尾花數據集
iris = datasets.load_iris()
X = iris.data
y = iris.target# 劃分訓練集和測試集,測試集占20%
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)# 數據標準化
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)# 創建 SVM 分類器,用RBF核函數,C設為1
# SVC 代表支持向量分類(Support Vector Classification)
clf = SVC(kernel='rbf', C=1)# 訓練模型
clf.fit(X_train, y_train)# 對測試集預測
y_pred = clf.predict(X_test)# 計算準確率
accuracy = accuracy_score(y_test, y_pred)
print("分類準確率:", accuracy)

代碼逐行解釋:先導入所需模塊,包括數據集、數據劃分、標準化、SVM分類器及準確率計算函數。加載鳶尾花數據集后,提取特征 X 和標簽 y,按比例劃分訓練集與測試集并設隨機種子保證結果可復現。創建標準化器對訓練集和測試集處理。接著創建SVM分類器,指定核函數與懲罰系數,訓練模型后預測并計算準確率。

(二)可視化優化

為直觀展示分類效果,可用 matplotlib 庫可視化,在上述代碼基礎上添加:

import numpy as np
import matplotlib.pyplot as plt# 可視化部分
# 設置網格步長,用于生成繪制決策邊界的網格。
h =.02  
# 確定繪制區域的邊界,分別根據訓練集數據中第一個特征(花萼長度)和第二個特征(花萼寬度)的最小值和最大值來確定,并且在邊界上各擴展 1 個單位,以確保所有數據點都在繪制區域內。
x_min, x_max = X_train[:, 0].min() - 1, X_train[:, 0].max() + 1
y_min, y_max = X_train[:, 1].min() - 1, X_train[:, 1].max() + 1
xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))
Z = clf.predict(np.c_[xx.ravel(), yy.ravel()])
# 將預測結果`Z`的形狀重塑為與網格`xx`相同的形狀,以便后續繪制等高線圖。
Z = Z.reshape(xx.shape)
plt.contourf(xx, yy, Z, cmap=plt.cm.coolwarm, alpha=0.8)
plt.scatter(X_train[:, 0], X_train[:, 1], c=y_train, cmap=plt.cm.coolwarm)
plt.title('SVM Classification on Iris Dataset')
plt.xlabel('Sepal length (standardized)')
plt.ylabel('Sepal width (standardized)')
plt.show()

可視化代碼通過設置網格步長、確定繪制區域邊界,生成網格點并預測,繪制填充等高線圖展示決策邊界,同時繪制訓練集數據點,添加標題與坐標軸標簽后顯示圖表,直觀呈現SVM在鳶尾花數據集上的分類效果。
在這里插入圖片描述

八、總結與展望

支持向量機算法作為機器學習領域的經典算法之一,憑借其獨特的核心原理,在眾多領域展現出了卓越的應用價值。它通過尋找最優超平面來實現數據分類,在處理高維數據和小樣本數據時表現出色,具有高精度、靈活性強、泛化能力好以及魯棒性強等優點。在圖像識別、文本分類、生物信息學和金融風險評估等多個領域,SVM 都發揮著重要作用,為解決實際問題提供了有效的解決方案。

然而,SVM 也并非完美無缺,其訓練時間長、計算復雜度高以及參數選擇復雜等缺點,在一定程度上限制了它在大規模數據和對模型可解釋性要求較高場景中的應用。但隨著科技的不斷發展,SVM 在未來機器學習領域仍有著廣闊的發展空間。在理論研究方面,學者們可能會繼續深入研究 SVM 的優化算法,以降低其計算復雜度,提高訓練效率;同時,對于參數選擇問題,可能會開發出更智能、更自動化的方法,減少人工調參的工作量和不確定性。在應用拓展方面,隨著物聯網、大數據和人工智能等技術的快速發展,SVM 有望在更多新興領域得到應用,如智能家居中的設備狀態監測與故障診斷、智能交通中的路況預測與車輛行為分析等。此外,SVM 與其他機器學習算法的融合也是一個重要的發展方向,通過結合不同算法的優勢,能夠構建出更強大、更高效的模型,以滿足日益復雜的實際應用需求。


機器學習項目代碼地址:【傳送門】


延伸閱讀

  • 機器學習核心算法系列文章

  • 解鎖機器學習核心算法 | 隨機森林算法:機器學習的超強武器
    解鎖機器學習核心算法 | K -近鄰算法:機器學習的神奇鑰匙
    解鎖機器學習核心算法 | K-平均:揭開K-平均算法的神秘面紗
    解鎖機器學習核心算法 | 決策樹:機器學習中高效分類的利器
    解鎖機器學習核心算法 | 邏輯回歸:不是回歸的“回歸”
    解鎖機器學習核心算法 | 線性回歸:機器學習的基石

  • 深度學習框架探系列文章
    深度學習框架探秘|TensorFlow:AI 世界的萬能鑰匙
    深度學習框架探秘|PyTorch:AI 開發的靈動畫筆
    深度學習框架探秘|TensorFlow vs PyTorch:AI 框架的巔峰對決
    深度學習框架探秘|Keras:深度學習的魔法鑰匙

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

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

相關文章

玩客云 IP查找

1.玩客云使用靜態IP在不同網段路由器下不能使用,動態不好找IP地址 1.1使用python3 實現自動獲取發送 import requests import os import socket# 從環境變量獲取 PushPlus 的 token 和群組編碼 PUSH_PLUS_TOKEN os.getenv("PUSH_PLUS_TOKEN") PUSH_PLU…

Linux(Centos 7.6)命令詳解:cat

1.命令作用 將文件或標準輸入連接到標準輸出(Concatenate FILE(s), or standard input, to standard output), 即將文件內容輸出到屏幕上,或者將多個文件合并成一個文件。 2.命令語法 Usage: cat [OPTION]... [FILE]... 3.參數詳解 OPTION: -A, -…

深入解析Qt事件循環

在Qt開發中,QApplication::exec()這行代碼是每個開發者都熟悉的“魔法咒語”。為什么GUI程序必須調用它才能響應操作?為何耗時操作會導致界面凍結?本文將以事件循環為核心,揭示Qt高效運轉的底層邏輯,探討其設計哲學與最…

Hive增量遷移方案與實操PB級

客戶一共1PB數據,每天新增10T,有些表只保留3天。 需要客戶提供: a.tbl_size(大小GB) a.last_mtime(最新更新時間) a.tbl_ttl(保留時間) b.last_part_dt(分區值) b.last_part_size(最新分區大小) t_day(表更新規律,t幾) 因為目前…

未來游戲:當人工智能重構虛擬世界的底層邏輯

未來游戲:當人工智能重構虛擬世界的底層邏輯 在《賽博朋克2077》夜之城的霓虹燈下,玩家或許已經注意到酒吧里NPC開始出現微表情變化;在《艾爾登法環》的開放世界中,敵人的戰術包抄逐漸顯露出類人智慧。這些細節預示著游戲產業正站…

React中如何處理高階組件中的錯誤

在 React 高階組件中處理錯誤是確保應用程序健壯性和穩定性的重要環節。以下是一些處理高階組件中錯誤的常見方法: 1. 捕獲渲染時的錯誤 在高階組件中,渲染過程可能會因為各種原因(如 props 數據格式錯誤、組件內部邏輯異常等)拋…

deepseek-v3在阿里云和騰訊云的使用中的差異

隨著deepseek在各大云商上線,試用了下阿里云和騰訊云的deepseek服務,在回答經典數學問題9.9和9.11誰大時,發現還是有差異的。將相關的問題記錄如下。 1、問題表現 筆者使用的openai的官方sdk go-openai。 因本文中測驗主要使用阿里云和騰訊…

寶塔面板開始ssl后,使用域名訪問不了后臺管理

寶塔面板后臺開啟ssl訪問后,用的證書是其他第三方頒發的證書 再使用 域名/xxx 的形式:https://域名:xxx/xxx 訪問后臺,結果出現如下,不管使用 http 還是 https 的路徑訪問都進不后臺管理 這個時候可以使用 https://ip/xxx 的方式來…

開發板部署|RK3588部署DeepSeek-1.5B

前言 在 RK3588 上部署大模型可以顯著提升計算效率、節能、加速推理過程,并實現本地化推理,適合各種邊緣計算應用,如智能設備、自動駕駛、工業機器人、健康監測等領域。此外,RK3588 配備了強大的 NPU(神經網絡處理單元…

UDP與TCP

用UDP一定比用TCP快嗎? 假設我們需要在a電腦的進程發一段數據到b電腦的進程我們可以選擇使用TCP或UDP協議進行通信。 對于TCP這樣的可靠性協議每次消息發出后都能明確知道對方有沒有收到,就像打電話一樣,只要“喂喂"兩下對方就能回你個…

【ELK】【Elasticsearch】數據查詢方式

1. 簡單查詢(URI Search) 通過 URL 參數直接進行查詢,適合簡單的搜索場景。 示例: bash 復制 GET /index_name/_search?qfield_name:search_value 說明: index_name:索引名稱。 field_name&#xf…

軟件測試:定義和實質

軟件缺陷的定義: 未實現說明書要求的功能出現了說明書指明不應出現的錯誤實現了說明書未提到的功能未實現說明書沒有明確提出但應該實現的目標軟件難以理解,不易使用,運行緩慢 或者從測試員客戶會認為不好的。 軟件缺陷的原因: …

【軟考】【2025年系統分析師拿證之路】【啃書】第十一章 軟件需求工程(十二)

目錄 需求的層次需求工程的主要活動需求的記錄技術需求分析需求定義 需求的層次 業務需求用戶需求系統需求 需求工程的主要活動 需求獲取需求分析形成需求規格需求確認和驗證需求管理 需求的記錄技術 任務卡片場景說明用戶故事 需求分析 方法: 結構化分析&a…

計算機網絡原理試題六

一、單項選擇 1.(單選題,5分)IP地址中網絡號的作用有 A.指定了設備能夠進行通信的網絡 B.指定了主機所屬的網絡 C.指定了被尋址的子網中的某個節點 D.標志了網絡中的主機 答案:B 2.(單選題,5分)關于IP主機地址,下列說法正確的是 A.網段部分不可以全1也不可以全0 B.主機部分可…

路由基礎 | 路由引入實驗 | 不同路由引入方式存在的問題

注:本文為 “路由基礎 | 路由表 | 路由引入” 相關文章合輯。 未整理去重。 路由基本概念 1—— 路由表信息、路由進表以及轉發流程、最長掩碼匹配原則 靜下心來敲木魚已于 2023-11-26 14:06:22 修改 什么是路由 路由就是指導報文轉發的路徑信息,可以…

更高效實用 vscode 的常用設置

VSCode 可以說是文本編輯神器, 不止程序員使用, 普通人用其作為文本編輯工具, 更是效率翻倍. 這里分享博主對于 VSCode 的好用設置, 讓 VSCode 如虎添翼 進入設置 首先進入設置界面, 后續都在這里進行配置修改 具體設置 每項配置通過搜索關鍵字, 來快速定位配置項 自動保存…

本地部署DeepSeek

1、下載ollama 瀏覽器輸入ollama,打開ollama網站,選擇版本下載 可以使用迅雷下載 打開迅雷,復制網址 2、安裝ollama ollama下載完成之后,安裝 3、查看ollama版本 Win R,cmd ollama -v 查看ollama版本 4、下載De…

大模型驅動的業務自動化

大模型輸出token的速度太低且為統計輸出,所以目前大模型主要應用在toP(人)的相關領域;但其智能方面的優勢又是如此的強大,自然就需要嘗試如何將其應用到更加廣泛的toM(物理系統、生產系統)領域中…

Leetcode1299:將每個元素替換為右側最大元素

題目描述: 給你一個數組 arr ,請你將每個元素用它右邊最大的元素替換,如果是最后一個元素,用 -1 替換。 完成所有替換操作后,請你返回這個數組。 代碼思路: 方法 replaceElements 輸入參數:…

Java 大視界 -- 人才需求與培養:Java 大數據領域的職業發展路徑(92)

💖親愛的朋友們,熱烈歡迎來到 青云交的博客!能與諸位在此相逢,我倍感榮幸。在這飛速更迭的時代,我們都渴望一方心靈凈土,而 我的博客 正是這樣溫暖的所在。這里為你呈上趣味與實用兼具的知識,也…