当前位置: 首页 > news >正文

网站开发文献综述域名查询网入口

网站开发文献综述,域名查询网入口,网站怎么制作商城,jsp php动态网站开发支持向量机(SVM)是用于分类和回归任务的强大监督学习模型。它们受欢迎背后的一个关键因素是它们有效处理线性和非线性数据的能力。在本文中,我们将探索使用Python和流行的库(如scikit-learn和Matplotlib)可视化SVM。 …

支持向量机(SVM)是用于分类和回归任务的强大监督学习模型。它们受欢迎背后的一个关键因素是它们有效处理线性和非线性数据的能力。在本文中,我们将探索使用Python和流行的库(如scikit-learn和Matplotlib)可视化SVM。

支持向量机(SVM)

支持向量机的工作原理是找到最佳的超平面,最好地分离特征空间中的类。选择超平面以使边缘最大化,边缘是超平面与每个类的最近数据点之间的距离,称为支持向量。这个超平面是通过求解一个优化问题来确定的,该优化问题的目标是最小化分类误差,同时最大化间隔。

SVM可以通过使用不同的核函数(如线性、多项式、径向基函数(RBF)和sigmoid核)来用于线性和非线性分类任务。这些内核允许支持向量机通过将原始特征空间映射到更高维的空间来处理非线性决策边界,其中类变得可分离。

可视化线性SVM

让我们首先使用Iris数据集可视化一个简单的线性SVM。我们将使用Scikit-Learn生成数据并训练SVM模型。然后,我们将绘制决策边界和支持向量,以了解模型如何分离类。

导入必要的库并加载数据集

该数据集包含三种鸢尾花的萼片和花瓣尺寸的测量值。在这里,只有前两个特征(萼片长度和宽度)被保留用于可视化目的。

import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.svm import SVC
iris = datasets.load_iris()
X = iris.data[:, :2]  # Only first two features for visualization
y = iris.target

基于线性核的SVM训练

在Iris数据集上训练具有线性核的SVM模型。线性核适用于线性可分数据,旨在找到分离不同类别的最佳超平面。

# Train SVM with linear kernel
clf_linear = SVC(kernel='linear')
clf_linear.fit(X, y)

创建决策边界

创建网格以覆盖特征空间。这允许生成用于可视化目的的点。SVM模型的决策边界将绘制在此网格上。

# Create a mesh to plot decision boundaries
h = 0.02  # step size in the mesh
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, h),np.arange(y_min, y_max, h))

线性支持向量机决策边界的绘制

绘制了具有线性核的SVM的决策边界。这是通过使用predict方法预测网格上所有点的类标签来实现的。然后使用填充轮廓图(plt.contourf)可视化决策边界,并将原始数据点覆盖在图上以供参考。

# Plot decision boundary of Linear SVM
Z_linear = clf_linear.predict(np.c_[xx.ravel(), yy.ravel()])
Z_linear = Z_linear.reshape(xx.shape)
plt.contourf(xx, yy, Z_linear, cmap=plt.cm.Paired, alpha=0.8)
plt.scatter(X[:, 0], X[:, 1], c=y, cmap=plt.cm.Paired)
plt.title('Linear SVM')
plt.xlabel('Sepal Length')
plt.ylabel('Sepal Width')
plt.xlim(xx.min(), xx.max())
plt.ylim(yy.min(), yy.max())
plt.show()

在这里插入图片描述
在上面的可视化中,线性SVM以线性方式对数据点进行分类。尽管准确度不是很高,我们可以清楚地看到红色部分有大量错误分类的数据点,但这就是非线性svm的用武之地。

可视化非线性SVM

SVM还可以通过使用核函数来处理非线性决策边界。让我们使用具有多项式内核的相同Iris数据集来可视化非线性SVM。

理解γ参数对RBF核函数的影响

在可视化非线性支持向量机之前,让我们来探讨一下RBF核中γ参数的影响。
γ参数显著影响RBF核在SVM中的行为。它本质上决定了单个数据点对决策边界的影响。

  • 较低的γ值会导致每个数据点的影响更大,从而导致更平滑的决策边界。
  • 相反,较高的γ值会缩小数据点的影响,从而创建更复杂且可能过度拟合的决策边界。

定义γ值

定义了一个名为gamma_values的列表,包含γ超参数的不同值,控制单个训练示例的影响。

import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.svm import SVC
iris = datasets.load_iris()
X = iris.data[:, :2]  # Only first two features for visualization
y = iris.targetgamma_values = [0.1, 1, 10, 50, 100, 200]

为每个γ值绘制决策边界

  1. 将创建一个大小为20×10英寸的图形,以容纳每个γ值的子图。代码迭代gamma_values列表中的每个γ值。对于每个γ值,使用指定的γ值训练具有RBF核的SVM模型。
  2. 在循环内部,创建一个meshgrid来覆盖特征空间,允许生成用于可视化目的的点。网格定义为步长为0.02。
  3. 对于每个γ值,绘制具有RBF核的SVM的决策边界。这是通过使用predict方法预测网格上所有点的类标签来实现的。
  4. 然后使用填充轮廓图(plt.contourf)可视化决策边界。原始数据点覆盖在图上以供参考,颜色对应于其各自的类别标签。
# Plot decision boundaries for each gamma value
plt.figure(figsize=(20, 10))
for i, gamma in enumerate(gamma_values, 1):# Train SVM with RBF kernelclf_rbf = SVC(kernel='rbf', gamma=gamma)clf_rbf.fit(X, y)# Create a mesh to plot decision boundariesh = 0.02  # step size in the meshx_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1xx, yy = np.meshgrid(np.arange(x_min, x_max, h),np.arange(y_min, y_max, h))# Plot decision boundaryplt.subplot(2, 3, i)Z_rbf = clf_rbf.predict(np.c_[xx.ravel(), yy.ravel()])Z_rbf = Z_rbf.reshape(xx.shape)plt.contourf(xx, yy, Z_rbf, cmap=plt.cm.Paired, alpha=0.8)plt.scatter(X[:, 0], X[:, 1], c=y, cmap=plt.cm.Paired)plt.title(f'RBF SVM (Gamma={gamma})')plt.xlabel('Sepal Length')plt.ylabel('Sepal Width')plt.xlim(xx.min(), xx.max())plt.ylim(yy.min(), yy.max())plt.tight_layout()
plt.show()

在这里插入图片描述
在上面的可视化中,γ值显然对模型的准确性和复杂性有很大影响。

  • 我们选择了6个不同的γ值,因此我们有6个不同的可视化,γ值越高,准确度越高,这就是为什么在γ值为200的可视化中,我们的模型几乎完美地分类了数据点。
  • 但是当我们选择γ值为50的模型时,它与线性SVM的结果非常相似,准确性也不是很高。

结论

总之,支持向量机(SVM)是线性和非线性分类任务的强大模型。可视化支持向量机,特别是使用不同的内核和超参数,可以提供对其行为和性能的有价值的见解。

http://www.hkea.cn/news/797173/

相关文章:

  • 做愛視頻网站在线网页制作网站
  • 织梦pc怎么做手机网站搜索引擎优化的基础是什么
  • 课程建设网站设计源码爱站网反链查询
  • 安徽省建设业协会网站个人网页制作教程
  • 好的摄影网站推荐福州seo顾问
  • html做的好看的网站如何宣传推广产品
  • 微信手机网站制作怎么引流客源最好的方法
  • 宿州建设网站公司前端seo搜索引擎优化
  • 做王境泽表情的网站百度seo关键词优化排名
  • 怎么选择无锡网站建设虚拟主机搭建网站
  • 做原油期货关注什么网站搜索引擎优化是做什么
  • 微信小程序怎么制作游戏安卓优化清理大师
  • 胶南做网站初学者做电商怎么入手
  • 网站为什么要维护佛山网络营销推广
  • 国企网站建设报告怎么建造自己的网站
  • 免费做司考真题的网站余姚网站如何进行优化
  • 如何网站开发1688网站
  • 丽水专业网站建设价格青岛网站优化
  • 网站开发专业培训学校百度推广登录官网入口
  • 贵阳做网站公司网站热度查询
  • 做课件最好的素材网站考拉seo
  • 网站建设玖首选金手指seo网站优化收藏
  • 台州卓远做网站好不好广州seo教程
  • dz网站数据备份bt磁力猪
  • github 可以做网站吗360seo
  • 杭州 企业门户网站建设爱链
  • dj那个网站做的好长沙公司网络营销推广
  • 设计师培训招生视频黑帽seo联系方式
  • 做网上贸易哪个网站好西宁网站seo
  • 电子烟网站建设杯子软文营销300字