SVM支持向量机原理与Python实战指南

支持向量机(SVM)原理与Python实战指南 支持向量机(SVM)是机器学习中经典的监督学习算法,通过寻找最优超平面实现分类任务,其核心思想是最大化分类间隔。该算法特别适合处理中小规模数据集,在文本分类、图像识别等领域表现优异。SVM的实现涉及核技巧、凸优化等关键技术,Python中可通过scikit-learn快速部署。本文从机器学习基础概念出发,详解SVM数学原理,并结合Python环境配置、手写实现、scikit-learn应用等实战环节,帮助读者掌握这一重要算法工具。特别针对模型调参、性能优化等工程实践问题提供解决方案,并包含MNIST手写数字 阅读详情

1. SVM支持向量机:从几何直观到数学本质

第一次接触SVM时,我被它优雅的数学形式和强大的分类能力所震撼。与常见的逻辑回归不同,SVM不满足于简单划分数据,而是追求"完美"——找到那个让所有样本都尽可能远离的超平面。这种思想在机器学习中独树一帜。

1.1 最大间隔的几何意义

想象你在布置一条走廊,两侧站满了人(数据点)。SVM的任务是让这条走廊尽可能宽,同时确保所有人都在走廊外侧。那些恰好站在走廊边缘的人,就是"支持向量"——它们决定了走廊的宽度和方向。

数学上,这个"走廊宽度"就是间隔(margin),计算公式为2/||w||。因此,最大化间隔等价于最小化||w||²(即w的L2范数平方)。这就是SVM优化目标的核心来源。

注意:这里假设数据是线性可分的。现实中数据往往有噪声,所以需要引入"软间隔"概念,允许部分点进入走廊内部,这就是C参数的作用。

1.2 拉格朗日对偶:化繁为简的数学魔法

原问题要求解w和b,涉及高维空间计算(特别是使用核函数时)。通过拉格朗日对偶转换,我们将问题转化为仅关于拉格朗日乘子α的优化:

max Σαᵢ - 1/2 ΣΣαᵢαⱼyᵢyⱼxᵢᵀxⱼ
s.t. Σαᵢyᵢ = 0, αᵢ ≥ 0

这种形式有三大优势:

  1. 只需计算样本间的内积xᵢᵀxⱼ,为核技巧铺路
  2. 大多数αᵢ会变为0,非零αᵢ对应的就是支持向量
  3. 最终决策函数仅依赖支持向量:f(x) = Σαᵢyᵢxᵢᵀx + b

1.3 核函数:低维到高维的桥梁

当数据线性不可分时,SVM通过核函数将数据映射到高维空间。常见的核函数包括:

  • 线性核:K(x,z)=xᵀz
  • 多项式核:K(x,z)=(γxᵀz + r)^d
  • RBF核:K(x,z)=exp(-γ||x-z||²)
  • Sigmoid核:K(x,z)=tanh(γxᵀz + r)

其中RBF核最常用,它对应无限维空间的映射,具有强大的非线性表达能力。γ参数控制高斯函数的宽度:γ越大,模型越复杂,容易过拟合;γ越小,决策边界越平滑。

2. Python实战:鸢尾花分类全流程

2.1 数据准备与预处理

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler

# 加载数据(仅使用前两个特征方便可视化)
iris = load_iris()
X = iris.data[:, :2]
y = iris.target

# 标准化(SVM对特征尺度敏感)
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

# 分层抽样划分训练/测试集
X_train, X_test, y_train, y_test = train_test_split(
    X_scaled, y, test_size=0.2, random_state=42, stratify=y
)

避坑指南:一定要做特征标准化!SVM基于距离计算,不同特征量纲会导致距离计算偏差。比如一个特征范围是0-1,另一个是0-10000,后者会主导模型。

2.2 模型训练与评估

from sklearn.svm import SVC
from sklearn.metrics import classification_report

# 默认RBF核SVM
svm = SVC(kernel='rbf', C=1.0, gamma='scale', random_state=42)
svm.fit(X_train, y_train)

# 评估
print("训练集准确率:", svm.score(X_train, y_train))
print("测试集准确率:", svm.score(X_test, y_test))
print(classification_report(y_test, svm.predict(X_test)))

典型输出:

训练集准确率: 0.975
测试集准确率: 0.9667
              precision    recall  f1-score   support
           0       1.00      1.00      1.00        10
           1       0.90      1.00      0.95        10
           2       1.00      0.90      0.95        10
    accuracy                           0.97        30
   macro avg       0.97      0.97      0.97        30
weighted avg       0.97      0.97      0.97        30

2.3 参数调优实战

from sklearn.model_selection import GridSearchCV

# 参数网格
param_grid = {
    'C': [0.1, 1, 10, 100],
    'gamma': [0.001, 0.01, 0.1, 1]
}

# 5折交叉验证
grid = GridSearchCV(SVC(kernel='rbf'), param_grid, cv=5, scoring='accuracy')
grid.fit(X_train, y_train)

# 最佳参数
print("最佳参数:", grid.best_params_)
best_svm = grid.best_estimator_

调优结果通常显示:

  • C在1-10之间效果较好
  • gamma在0.01-0.1之间较优

2.4 决策边界可视化

import numpy as np
import matplotlib.pyplot as plt

def plot_decision_boundary(model, X, y):
    # 创建网格
    x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1
    y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1
    xx, yy = np.meshgrid(np.arange(x_min, x_max, 0.02),
                         np.arange(y_min, y_max, 0.02))
    
    # 预测
    Z = model.predict(np.c_[xx.ravel(), yy.ravel()])
    Z = Z.reshape(xx.shape)
    
    # 绘图
    plt.figure(figsize=(10, 8))
    plt.contourf(xx, yy, Z, alpha=0.3, cmap=plt.cm.coolwarm)
    plt.scatter(X[:, 0], X[:, 1], c=y, s=50, cmap=plt.cm.coolwarm, edgecolor='k')
    plt.xlabel('标准化特征1')
    plt.ylabel('标准化特征2')
    plt.title('SVM决策边界(RBF核)')
    
    # 标记支持向量
    plt.scatter(model.support_vectors_[:, 0], model.support_vectors_[:, 1], 
                s=200, facecolors='none', edgecolors='k', label='支持向量')
    plt.legend()
    plt.show()

plot_decision_boundary(best_svm, X_test, y_test)

可视化结果清晰展示:

  • 不同类别的决策区域
  • 支持向量的位置(决策边界上的关键点)
  • 决策边界的非线性形状

3. 参数深度解析与调优策略

3.1 C参数:正则化强度的艺术

C参数控制模型对误分类的容忍度:

  • C值小:允许更多误分类,间隔大,模型简单(高偏差,低方差)
  • C值大:追求更少误分类,间隔小,模型复杂(低偏差,高方差)

建议调优策略:

  1. 从默认值C=1开始
  2. 如果欠拟合(训练/测试准确率都低),增大C(如10,100)
  3. 如果过拟合(训练高测试低),减小C(如0.1,0.01)

3.2 gamma参数:RBF核的灵敏度

gamma决定单个样本的影响范围:

  • gamma小:影响范围大,决策边界平滑(模型简单)
  • gamma大:影响范围小,决策边界曲折(模型复杂)

经验法则:

  • 特征维度高时,gamma通常需要更小
  • 样本量大时,gamma可以适当增大
  • 常用范围:0.001到1之间

3.3 网格搜索与交叉验证技巧

from sklearn.model_selection import RandomizedSearchCV
from scipy.stats import loguniform

# 对数均匀分布采样
param_dist = {
    'C': loguniform(1e-2, 1e2),
    'gamma': loguniform(1e-3, 1e1)
}

random_search = RandomizedSearchCV(
    SVC(kernel='rbf'), 
    param_distributions=param_dist,
    n_iter=50,
    cv=5,
    random_state=42
)
random_search.fit(X_train, y_train)

专业建议:对于大数据集,使用RandomizedSearchCV比GridSearchCV更高效。对数均匀分布(loguniform)适合参数范围跨度大的情况。

4. 工程实践中的五大陷阱与解决方案

4.1 特征标准化缺失

症状:模型性能远低于预期,不同特征的重要性与直觉不符
解法:务必使用StandardScaler或MinMaxScaler

4.2 类别不平衡问题

症状:少数类识别率极低
解法:

# 使用class_weight参数
svm = SVC(class_weight='balanced') 

# 或手动指定权重
class_weight = {0:1, 1:10, 2:1}  # 第二类权重提高

4.3 核函数选择不当

症状:线性核表现与RBF核相当,但训练慢很多
解法:

  1. 先用线性核测试
  2. 如果准确率不足,再尝试RBF核
  3. 对于文本数据,线性核通常足够

4.4 忽略支持向量数量

症状:预测速度慢
诊断:

print("支持向量数量:", len(svm.support_vectors_))
print("支持向量占比:", len(svm.support_vectors_)/len(X_train))

健康比例通常在10%-50%之间。如果过高,可能是过拟合或C值太大。

4.5 大数据集训练技巧

SVM的训练复杂度约为O(n²)到O(n³),对于超过1万样本的数据集:

  • 使用LinearSVC替代SVC(kernel='linear')
  • 采样数据或使用更高效算法(如SGDClassifier)
  • 考虑核近似技巧(Nystroem方法)

5. SVM与其他算法的对比选型

5.1 不同场景下的算法选择

场景 推荐算法 原因
小样本(<10k)高维数据 SVM(RBF核) 泛化能力强,抗过拟合
大规模数据 随机森林 SVM训练慢,随机森林并行效率高
需要概率输出 逻辑回归 SVM原生不支持概率估计
特征重要性分析 决策树系 SVM的特征重要性解释性较差

5.2 SVM与神经网络的对比

维度 SVM 神经网络
数据需求 小样本表现好 需要大数据
特征工程 依赖核函数选择 自动特征提取
训练速度 中小数据快 大数据需GPU加速
可解释性 支持向量可解释 黑箱模型
超参数敏感性 C和gamma敏感 网络结构参数敏感

经验法则:当数据量小于1万时先尝试SVM,大于10万时考虑神经网络。中间地带根据计算资源和可解释性需求选择。

6. 高级话题与扩展方向

6.1 多类分类策略

SVM本质是二分类器,多类分类有三种策略:

  1. 一对一(One-vs-One):构建k(k-1)/2个分类器
  2. 一对多(One-vs-Rest):构建k个分类器
  3. 有向无环图(DAG):减少推理时的计算量

sklearn默认使用一对一,通常效果最好但计算成本高。

6.2 概率输出校准

SVM原生不输出概率,sklearn通过 Platt scaling 提供概率估计:

svm = SVC(probability=True)  # 启用概率估计
svm.fit(X_train, y_train)
probs = svm.predict_proba(X_test)  # 获取类别概率

注意:这会增加计算成本,且在小数据集上可能不稳定。

6.3 自定义核函数

对于特殊领域,可以定义自己的核函数:

from sklearn.metrics.pairwise import check_pairwise_arrays

def my_kernel(X, Y):
    X, Y = check_pairwise_arrays(X, Y)
    return np.dot(X, Y.T) ** 2  # 多项式核的变种

svm = SVC(kernel=my_kernel)

6.4 在线学习与增量学习

对于流式数据,可以使用:

from sklearn.linear_model import SGDClassifier

svm_online = SGDClassifier(loss='hinge')  # 线性SVM的在线版本
for batch in data_stream:
    svm_online.partial_fit(batch)

7. 性能优化与生产部署

7.1 模型压缩技巧

减少支持向量数量的方法:

  1. 使用较小的C值
  2. 增大gamma值(RBF核)
  3. 后处理剪枝(如移除αᵢ接近0的向量)

7.2 预测加速技术

  1. 使用libsvm的预计算核
  2. 对线性SVM,采用权向量w的显式表示
  3. 对RBF核,使用近似方法如Nystroem

7.3 部署注意事项

  1. 保存标准化参数:
import joblib
joblib.dump(scaler, 'scaler.pkl')  # 保存标准化器
  1. 生产环境推荐使用C++实现的libsvm/liblinear
  2. 监控支持向量数量的变化,防止性能下降

8. 经典论文与学习资源

8.1 必读论文

  1. Cortes & Vapnik (1995) - SVM原始论文
  2. Platt (1999) - 序列最小优化(SMO)算法
  3. Keerthi & Lin (2003) - SVM收敛性分析

8.2 实用工具库

  1. scikit-learn - 通用机器学习实现
  2. LIBSVM - 高效的C++实现
  3. ThunderSVM - GPU加速版本

8.3 学习路径建议

  1. 先掌握线性SVM和硬间隔概念
  2. 理解软间隔和C参数
  3. 学习核技巧和常见核函数
  4. 实践调参和模型选择
  5. 深入对偶问题和优化算法

在实际项目中,我通常会先用默认参数的RBF核SVM建立基线,然后根据数据特点逐步优化。记住,没有放之四海而皆准的参数设置,理解原理才能灵活应对各种场景。

使用Python可视化支持向量机(SVM) 定义了一个名为gamma_values的列表,包含γ超参数的不同值,控制单个训练示例的影响。 阅读详情

相关推荐

白话机器学习算法理论+实战之支持向量机(SVM)

1. 写在前面 如果想从事数据挖掘和数据分析的工作,掌握常用的机器学习算法是非常有必要的,比如我之前写过的一篇十大机器学习算法的小总结,在这简单的先捋一捋, 常见的机器学习算法: 监督学习算法:逻辑回归,线性回归,决策树,朴素贝叶斯,K近邻,支持向量机,集成算法Adaboost等 无监督算法:聚类,降维,关联规则, PageRank等 为了详细的理解这些,曾经看过西瓜书,统计学习方法,机器学习...

Miracle8070 5939

HTTP_REFERER的用法及伪造

引言在php中,可以使用$_SERVER[‘HTTP_REFERER’]来获取HTTP_REFERER信息,关于HTTP_REFERER,php文档中的描述如下: “引导用户代理到当前页的前一页的地址(如果存在)。由 user agent 设置决定。并不是所有的用户代理都会设置该项,有的还提供了修改 HTTP_REFERER 的功能。简言之,该值并不可信。 ” 在百度百科中,对于该参数的描

且行且吟 10万+

SVM的Python实现完全指南:原理、代码与调参实战

在机器学习分类任务中,数据量不大时,深度学习未必是最优选择。支持向量机(SVM)作为一种经典算法,依靠间隔最大化与核函数技巧,在小样本、高维特征和可解释性要求高的场景下依然表现稳健。理解SVM的核心原理,如几何间隔、拉格朗日对偶和支持向量的产生,是掌握算法本质的关键。通过手写简化版SMO可以直观看到训练过程,而使用sklearn的SVC能够快速落地鸢尾花分类、手写数字识别等实际任务。合理调整C和gamma参数,并配合特征缩放,能有效提升模型性能。本文围绕SVM的Python实现,从原理拆解到代码实践,帮助初

weixin_29031161的博客 286

php修改来源地址_php 伪造HTTP_REFERER页面URL来源的三种方法

php获取当前页面的前一个页面URL地址,即当前页面是从哪个页面链接过来的,可以使用$_SERVER['HTTP_REFERER'],但是这个来源页面的URL地址是可以被伪造和欺骗的,本文章向大家介绍伪造HTTP_REFERER页面URL的三种方法,需要的朋友可以参考一下。$_SERVER['HTTP_REFERER']是php用来判断页面上级来源页面的一个超级变局变量了,我们可以使用$_SERV...

weixin_39895862的博客 670

PHP伪造来源HTTP_REFERER的方法实例详解

主要介绍了PHP伪造来源HTTP_REFERER的方法,以实例形式较为详细的分析了php伪造来源HTTP_REFERER的技巧与相关注意事项,非常具有实用价值,需要的朋友可以参考下

php 伪造HTTP_REFERER页面URL来源的三种方法

php获取当前页面的前一个页面URL地址,即当前页面是从哪个页面链接过来的,可以使用$_SERVER[‘HTTP_REFERER’],但是这个来源页面的URL地址是可以被伪造和欺骗的,本文章向大家介绍伪造HTTP_REFERER页面URL的三种方法,需要的朋友可以参考一下。 $_SERVER[‘HTTP_REFERER’]是php用来判断页面上级来源页面的一个超级变局变量了,我们可以使用$_SERVER[‘HTTP_REFERER’]来判断是从哪个页面进入到此页面了,这样我们可以进行更好的跟踪了。 但是$_SERVER[‘HTTP_REFERER’]也是可以被伪造欺骗的,有三种方法可以伪造和

支持向量机SVM核心原理与Python调参实战指南

在机器学习分类任务中,支持向量机(SVM)凭借间隔最大化思想与核技巧,成为小样本高维场景下的经典选择。其核心原理是通过寻找最优超平面并引入软间隔平衡误分类风险,核函数则让线性不可分数据在高维空间得以区分。实际应用中,SVM泛化能力强、抗噪性高,尤其适合文本分类、图像识别等中小规模数据集。掌握C与gamma等参数的含义及联合调参方法,配合标准化预处理与网格搜索,能显著提升模型效果。本文从原理出发,结合Python代码演示完整建模流程,并分享常见问题与排查经验,助你快速掌握这一实用工具。

weixin_42534103的博客 187

水文模型新手必看:用SWAT-CUP做参数率定,如何正确设置预热期、率定期和验证期?(附数据准备避坑指南)

本文详细介绍了使用SWAT-CUP进行水文模型参数率定的完整流程,重点解析了预热期、率定期和验证期的正确设置方法,并提供了数据准备的避坑指南。通过实操步骤和常见问题解决方案,帮助新手快速掌握SWAT-CUP参数率定的核心技巧,提升水文模型模拟精度。

weixin_26875109的博客 367

Python支持向量机实战指南:从原理到应用

上可以快速验证SVM效果,平台内置的Jupyter环境支持实时调整参数并可视化决策边界,无需配置复杂环境即可体验不同核函数的分类表现。实际测试发现,平台的高斯核SVM对月亮数据集的分类准确率可达92%以上,且部署过程仅需点击按钮即可完成。支持向量机(SVM)作为机器学习中的重要算法,其核心思想是通过寻找最优超平面来实现分类任务的最大间隔。与传统分类器不同,SVM不仅关注分类准确性,更注重决策边界的鲁棒性。

BloodstoneHawk77的博客 285

GPU运维工程师入门指南 (第九篇): 高性能网络 - InfiniBand与RDMA技术

本文介绍了支撑AI分布式训练的高性能网络技术InfiniBand和RDMA。传统TCP/IP网络因内核开销和内存拷贝成为性能瓶颈,而InfiniBand提供高带宽、低延迟的专用网络,RDMA则通过内核旁路和零拷贝技术实现节点间内存直接访问,显著提升通信效率。特别介绍了GPUDirect RDMA技术,使GPU显存可直接通信。文章还列举了运维人员在部署这些技术时需要考虑的硬件、驱动、配置和监控等关键点。这些技术共同构成了支撑大规模AI集群的"数据高速公路",为后续讨论存储性能瓶颈奠定了基础

weixin_42587823的博客 1089

Android13 SurfaceFlinger启动流程分析

在Android13版本中,SurfaceFlinger是由Android.bp去启动init.rc文件,然后再解析文件去加载SurfaceFlinger。上面方法主要处理如下:1、调用surfaceflinger的createSurfaceFlinger方法,实例化surfaceflinger。2、调用flinger(surfaceflinger)的init()方法,在客户端连接之前进行初始化。

liuning1985622的博客 1907

支持向量机(SVM)的分析及python实现

本文所有代码都是基于python3.6的,数据及源码下载:传送门引言今天我们算是要来分享一个“高级”的机器学习算法了——SVM。大家自学机器学习一般都会看斯坦福的CS229讲义,初学者们大都从回归开始步入机器学习的大门。诚然回归学习起来与使用起来都很简单,但是这能达到我们的目的么?肯定不够的,要知道,我们可以做的不仅仅是回归。如果我们把机器学习算法看作是一种带斧子,剑,刀,弓,匕首等的武器,你有各种

分享人工智能学习心得与实践经验,探讨应用场景,见证变革与进步 15万+

Ubuntu下Vim创建属于自己的头部注释和代码模板

痛点 每次打开vim想写个C或者C++的程序都要把固定的模板敲一遍,是不是感觉非常的繁琐,能不能把Vim弄得像IDE那样新建一个文件直接生成对应的头部注释和代码模板,减少这些重复工作呢?下面我尽量详细的介绍实现的方法: 先看看新建文件后的效果 C语言格式效果 C++语言效果 方法: 使用命令 vi /etc/vim/vimrc 打开vimrc这个文件,然后复制以下代码至文件末尾的空白处即可! 修改vimrc文件里面的内容必须要用root管理员身份才能进行修改,修改时先切换至root身份即可。 "新建.

weixin_42137584的博客 1557

【ML】支持向量机SVM及Python实现(详细)

支持向量机如果想划分效果很好,就需要找到支持向量的分布,再就是找到最大间隔的分离超平面,解决好上诉两个问题就基本可以实现支持向量机。

weixin_66845445的博客 2万+

【补充篇】三万字了解AUTOSAR软件架构(一)

主要讲解了AUTOSAR软件架构的分层及各个栈的作用

weixin_47571898的博客 1113

yolov26改进 | 融合改进篇 | 华为VanillaNet配合HSFPN助力yolov26有效涨点(教你如何融合创新点)

本文介绍华为VanillaNet主干与HSFPN融合改进的YOLOv26。VanillaNet采用极简卷积结构,减少复杂分支与冗余操作,兼顾特征提取效率;HSFPN原本面向白细胞多尺度检测,通过特征选择模块筛除无效响应,再利用特征融合模块整合不同层级信息,增强大小目标表达。两者分别优化Backbone与Neck,结构互补,可进一步搭配改进损失函数和检测头开展消融实验与论文创新。已有多位读者反馈在各自数据集上取得涨点。文中提供完整代码、配置文件、模块注册及Codex修改思路,方便复现。

Snu77的博客 414

支持向量机SVM的原理和python实现

支持向量机(SVM)是一类按监督学习方式对数据进行二元分类的广义线性分类器,其决策边界是对学习样本求解的最大边距超平面,可以将问题化为一个求解凸二次规划的问题。与逻辑回归和神经网络相比,支持向量机,在学习复杂的非线性方程时提供了一种更为清晰,更加强大的方式。具体来说就是在线性可分时,在原空间寻找两类样本的最优分类超平面。在线性不可分时,加入松弛变量并通过使用非线性映射将低维度输入空间的样本映射到高维度空间使其变为线性可分,这样就可以在该特征空间中寻找最优分类超平面。

apple_52030329的博客 1万+

使用geneHapR进行基因单倍型分析(以vcf文件为例)

如下图所示,可以看到,用户需要准备的包括:基因型文件、注释文件和样本信息文件,以及后续会用的表型文件。输出的主要内容有:变异位点的可视化、单倍型网络、地理分布、表型比较和连锁不平衡热图。geneHapR的工作流程。

沉香best的博客 5928

SVM支持向量机的python实现

写在前面 博主现在在学《统计学习方法》这本书,折腾支持向量机也有半个月多了,之前一直想要把支持向量机搞懂,所以就想集中一段时间来学支持向量机,但是因为懒惰,断断续续地磨了很久。这两天终于实现了支持向量机,这里想把代码分享给大家。 代码主要参考了两个网友的实现,这里给出参考的网页链接:1)参考代码1;2)参考代码2。 参考的两个代码都有比较模糊的地方。而我的代码也没好到哪里去,但是代码中每个地方对应于什么内容都有注释,相对会比较清晰些。我也给出了两个小的数据集用于训练,训练完后画出决策边界,所以就没用测试集了

lyn5832500的博客 3363

FortiOS 存在身份验证绕过导致命令执行漏洞(CVE-2024-55591)

FortiOS 是 Fortinet 公司开发的操作系统,作为 Fortinet 安全平台的核心,提供全面的网络安全功能。 它将网络和安全功能无缝集成,支持跨本地、云、混合和融合 IT/OT/IoT 基础设施环境的统一管理。 FortiOS 7.6 版本引入了生成式人工智能助手、数据保护、托管服务和单一代理等新功能,进一步增强了其安全性和性能。

缘梦未来的博客 1838

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

支持向量机(SVM)

支持向量机(Support Vector Machine, SVM)是一种强大的分类算法,它是一种监督学习模型,用于分类和回归分析。其核心思想是通过找到一个最优超平面将不同类别的数据分开。通过本文的介绍,我们从零实现了一个线性支持向量机(SVM),并使用随机生成的数据进行了训练、预测和评估。SVM是一种强大的分类算法,能够有效地找到最优超平面,将不同类别的数据分开。希望这篇文章能够帮助你更好地理解SVM的工作原理和实现方法。

MASHU77的博客 2194

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

上一篇: AI推理性能优化:CANN profiling-tools实战指南
下一篇: MuleSoft+LLM企业级AI编排:跨越数据、流程与治理断层
aqc802886
博客等级 码龄11年 2粉丝 160原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值