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

华邦网站企业logo设计免费在线

华邦网站,企业logo设计免费在线,外贸网站模板制作,微商网站推广文章目录 1 SVM相关概念1.1 SVM引入1.1.1 SVM思想1.1.2 SVM分类1.1.3 线性可分、线性和非线性的区分 1.2 SVM概念1.3 支持向量概念1.4 软间隔和硬间隔1.5 惩罚系数C1.6 核函数 2 SVM API使用2.1 LinearSVC API 说明2.2 鸢尾花数据集案例2.3 惩罚参数C的影响 1 SVM相关概念 1.1… 文章目录 1 SVM相关概念1.1 SVM引入1.1.1 SVM思想1.1.2 SVM分类1.1.3 线性可分、线性和非线性的区分 1.2 SVM概念1.3 支持向量概念1.4 软间隔和硬间隔1.5 惩罚系数C1.6 核函数 2 SVM API使用2.1 LinearSVC API 说明2.2 鸢尾花数据集案例2.3 惩罚参数C的影响 1 SVM相关概念 1.1 SVM引入 1.1.1 SVM思想 看一个故事故事是这样子的 在很久以前的情人节一位大侠要去救他的爱人但魔鬼需要大侠先攻克他设置的防线于是和他玩了一个游戏game。 魔鬼在桌子上似乎有规律放了两种颜色的球说“你用一根棍分开它们要求尽量在放更多球之后仍然适用。” 于是大侠这样放干的不错 然后魔鬼又在桌上放了更多的球似乎有一个球站错了阵营。 大侠苦思冥想似乎记得学过SVM技术于是就采用SVM试试。 这里的 SVM就试图把棍放在最佳位置好让在棍的两边有尽可能大的间隙。 现在即使魔鬼放了更多的球棍仍然是一个好的分界线。 ​ 在SVM 工具箱中有另一个更加重要的 trick招式 。 魔鬼看到大侠已经学会了前面一个trick于是魔鬼给了大侠一个新的挑战。 ​ 现在大侠没有棍可以很好帮他分开两种球了现在怎么办呢当然又想起了放大招—SVM。像所有武侠片中一样大侠桌子一拍球飞到空中。然后凭借大侠练就的轻功大侠抓起一张纸插到了两种球的中间。样本在二维空间线性不可分二维空间总解决不掉将样本映射到更高维的空间需要采用核函数。 ​ 现在从魔鬼的角度看这些球这些球看起来像是被一条曲线分开了。 最后魔鬼被折服了 再之后无聊的大人们把这些球叫做 「data」 把棍子叫做 「classifier」 , 最大间隙trick 叫做 「optimization」 拍桌子叫做 「kernelling」 , 那张纸叫做 「hyperplane」。 概念 超平面划分类别的边界类别之间的间隔样本到超平面的距离支持向量与超平面距离最近的向量样本核函数将样本映射到更高维空间的函数 1.1.2 SVM分类 支持向量机的基本模型是定义在特征空间上的间隔最大的线性分类器。它是一种二分类的模型当采用了核技巧之后支持向量机可以用于非线性分类。不同类型的支持向量机解决不同问题 1线性可分支持向量机硬间隔支持向量机 当训练数据线性可分的时候通过硬间隔最大化学习得到一个线性可分支持向量机。在分类间隔中没有划分错误的样本。 2线性支持向量机软间隔支持向量机 当训练数据近似线性可分时通过软间隔最大化学习一个线性支持向量机。在分类间隔中允许一部分样本划分错误。 3非线性支持向量机 当训练数据线性不可分的时候通过使用核技巧以及软间隔最大化学得一个非线性支持向量机。 1.1.3 线性可分、线性和非线性的区分 第一个图是线性可分我们借助线性可分支持向量机完成分类。第二个图是不能完全线性可分我们通过线性支持向量机解决。第三个图是完全线性不可分的需要借助非线性支持向量机分类。 通过上述描述我们抽象其中的蓝球和红球并将两种颜色的球转化为二维平面上的点坐标篮球映射为黑球红球映射为白球。使用直线H1H2和H3分类这两类颜色的球图中的H1不能很好的区分黑球和白球可以看到H2和H3都能很好的区分这两种颜色的球。 区分数据集 H2和H3这样的直线一样可以区分两种颜色的球体有很多种条直线虽然他们都能够很好的分类已经存在的黑球和白球也就是我们之前讲到的训练集分类效果很好训练误差为0。 但是不能保证这些超平面在未知的实例上运行效果会很好和上面魔鬼和大侠的例子一样当魔鬼放置更多的黑球或白球的时候我们提到的这些平面还能很好的让这些未知的球得到很好的分类吗 考虑泛化误差的影响。 根据在检验样本上的运行效果分类器必须从这些分类超平面中选择一个来表示它的决策边界。 满足这个条件的很多但是使得泛化误差最小的条件就是边际margin最大的情况。如左图的边际不及右边的边际margin大我们选择右边的图作为边界最好的划分。因为 在有新的点出现的时候左边图的边际会错误分类一些点而右侧就能很好的分类。 1.2 SVM概念 SVM全称是supported vector machine支持向量机即寻找到一个超平面使样本分成两类并且间隔最大。 超平面最大间隔 SVM学习的目的在于找到具有最大边缘的超平面。 原因因为最大边缘超平面可以使得我们的训练误差很小的情况下当有新数据的到来时也能使得测试误差达到最小。 1.3 支持向量概念 所有坐落在边际两边的超平面上的点被称作” 支持向量 (support vectors)。 如下图这两个特殊点是支撑我们构建最大边缘超平面的。这些点所在的边缘超平面上的点称为支持向量。下图中红色的点对右图中的红色的直线或平面有支撑作用这些点是关键点。而其点对最优超平面都没有影响。 1.4 软间隔和硬间隔 硬间隔指的是让所有的样本都不在最大间隔之间并位于正确的一边这就是硬间隔。如果出现异常值、或者样本不能线性可分此时硬间隔无法实现。 软间隔指的是我们容忍一部分样本在最大间隔之内甚至在错误的一边。相对来说软间隔可以应用在一些线性不可分的场景。 目标是尽可能在保持间隔宽阔和限制间隔违例之间找到良好的平衡。通过惩罚系数C来控制这个平衡C值越小则间隔越宽但是间隔违例也会越多。 1.5 惩罚系数C 在硬间隔的情况下我们只考虑如何使得间隔达到最大。在软间隔的情况我们即要考虑最大化间隔也要考虑到那些限制间隔违例的样本带来的损失。 C越大说明 违反限制间隔的样本点带来的损失就越大就要减少这些样本的数量所以间隔就要越小。 C越小说明 违反限制间隔的样本点带来的损失就越小可以适当增大间隔以增加模型的泛化能力。 1.6 核函数 核函数将原始输入空间映射到新的特征空间使得原本线性不可分的样本在核空间可分 2 SVM API使用 2.1 LinearSVC API 说明 class sklearn.svm.LinearSVC(C1.0) C:惩罚系数类似于线性回归中的正则化系数 LinearSVC API的使用方式 from sklearn.svm import LinearSVC mysvc LinearSVC(C30) mysvc.fit(X_standard, y) print(mysvc.score(X_standard, y)) 2.2 鸢尾花数据集案例 from sklearn.datasets import load_iris import matplotlib.pyplot as plt from sklearn.preprocessing import StandardScaler from sklearn.svm import LinearSVC from sklearn.metrics import accuracy_score from plot_util import plot_decision_boundary# 1.加载数据 X,yload_iris(return_X_yTrue)# print(y.shape) # print(X.shape)# 选择前0和1类的前两个特征 x X[y2,:2 ] # 选择 0和1类 y y[y2] # print(y.shape)# 绘制原数据图像分布 plt.scatter(x[y0,0],x[y0,1],cred) plt.scatter(x[y1,0],x[y1,1],cblue) plt.show()# 2.数据的预处理 # 进行数据标准化 transform StandardScaler() x_trantransform.fit_transform(x)# 3.模型训练 # 设置惩罚系数 modelLinearSVC(C10) model.fit(x_tran,y) y_pred model.predict(x_tran)print(accuracy_score(y_pred,y))# 4.可视化 plot_decision_boundary(model,axis[-3,3,-3,3]) plt.scatter(x_tran[y0,0],x_tran[y0,1],cred) plt.scatter(x_tran[y1,0],x_tran[y1,1],cblue) plt.show() 鸢尾花数据展示 LinearSVC分类边界 2.3 惩罚参数C的影响 from sklearn.datasets import load_iris import matplotlib.pyplot as plt from sklearn.preprocessing import StandardScaler from sklearn.svm import LinearSVC from sklearn.metrics import accuracy_score from plot_util import plot_decision_boundary,plot_decision_boundary_svc# 1.加载数据 X,yload_iris(return_X_yTrue)# print(y.shape) # print(X.shape) x X[y2,:2] y y[y2] # print(y.shape)plt.scatter(x[y0,0],x[y0,1],cred) plt.scatter(x[y1,0],x[y1,1],cblue) plt.show()# 2.数据的预处理 transform StandardScaler() x_trantransform.fit_transform(x)# 3.模型训练 modelLinearSVC(C30) model.fit(x_tran,y) y_pred model.predict(x_tran)print(accuracy_score(y_pred,y))# 4.可视化 plot_decision_boundary_svc(model,axis[-3,3,-3,3]) plt.scatter(x_tran[y0,0],x_tran[y0,1],cred) plt.scatter(x_tran[y1,0],x_tran[y1,1],cblue) plt.show()# 3.模型训练 modelLinearSVC(C0.01) model.fit(x_tran,y) y_pred model.predict(x_tran)print(accuracy_score(y_pred,y))# 4.可视化 plot_decision_boundary_svc(model,axis[-3,3,-3,3]) plt.scatter(x_tran[y0,0],x_tran[y0,1],cred) plt.scatter(x_tran[y1,0],x_tran[y1,1],cblue) plt.show()C 0.01 C 10
http://www.hkea.cn/news/14349435/

相关文章:

  • 徐州做网站的网站备案 照片
  • 题库网站怎样做wordpress 调用自定义字段
  • 集团网站建设需求自媒体平台排名前十
  • 深圳建网站的鄂州网吧暂停营业
  • 安装网站模板WordPress国产企业主题m
  • 做韩服的视频网站专业网站建设商城价格
  • 网站推广建站网站建设开发流程按钮
  • 做有网被视频网站吗网站建设与安全管理
  • 办网站除了域名备案 还需要什么wordpress用户界面
  • mvc架构购物网站开发学校网站设计
  • 塘厦镇网站建设公司信息流广告哪个平台好
  • 网站关键词的确定大学里读网站建设
  • 上海网站设计大连wordpress显示多少页
  • 专业服务建设网站全屏网站模板制作教程
  • 有哪些网站做国外生意的php网站开发门槛高吗
  • 用asp制作一个简单的网站简繁英3合1企业网站生成管理系统V1.6
  • 无锡锡山网站建设网站开发(源代码)
  • 商城网站是怎么做的设计工作室装修效果图
  • 网站建设的流程是什么网络营销网站策划
  • 网上书城网站开发外文参考文献东莞网络营销推广专业
  • asp网站数据库扫描做网站优化时 链接名称"首页"有必要添加nofollow吗?
  • 吉林营销网站建设开发wordpress 采集文章 图片不显示
  • 分类信息网站发布标题广东如何做企业网站设计
  • 网站模板套餐银川网站建设公司排名
  • ukidc做电影网站网站要做手机版怎么做的
  • 网站上传后台在哪自己的网站怎么做seo
  • 邮轮哪个网站是可以做特价如何做好电商
  • 网络课程网站建设开通网站费用怎么做分录
  • 来宾 网站建设seo电商运营是什么意思
  • 网页设计制作与网站建设课程公司网站地址