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

教育网站建设方案海外发布新闻

教育网站建设方案,海外发布新闻,杭州设计院排行榜,做购物网站能赚钱吗文章目录 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 惩罚系数C
    • 1.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 线性可分、线性和非线性的区分

第一个图是线性可分,我们借助线性可分支持向量机完成分类。第二个图是不能完全线性可分,我们通过线性支持向量机解决。第三个图是完全线性不可分的,需要借助非线性支持向量机分类。

在这里插入图片描述
通过上述描述,我们抽象其中的蓝球和红球,并将两种颜色的球转化为二维平面上的点坐标,篮球映射为黑球,红球映射为白球。使用直线H1,H2和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(C=1.0)

  • C:惩罚系数,类似于线性回归中的正则化系数

LinearSVC API的使用方式:

from sklearn.svm import LinearSVC
mysvc = LinearSVC(C=30)
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,y=load_iris(return_X_y=True)# print(y.shape)
# print(X.shape)# 选择前0和1类的前两个特征
x = X[y<2,:2  ]
# 选择 0和1类
y = y[y<2]
# print(y.shape)# 绘制原数据图像分布
plt.scatter(x[y==0,0],x[y==0,1],c='red')
plt.scatter(x[y==1,0],x[y==1,1],c='blue')
plt.show()# 2.数据的预处理
# 进行数据标准化
transform = StandardScaler()
x_tran=transform.fit_transform(x)# 3.模型训练
# 设置惩罚系数
model=LinearSVC(C=10)
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[y==0,0],x_tran[y==0,1],c='red')
plt.scatter(x_tran[y==1,0],x_tran[y==1,1],c='blue')
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,y=load_iris(return_X_y=True)# print(y.shape)
# print(X.shape)
x = X[y<2,:2]
y = y[y<2]
# print(y.shape)plt.scatter(x[y==0,0],x[y==0,1],c='red')
plt.scatter(x[y==1,0],x[y==1,1],c='blue')
plt.show()# 2.数据的预处理
transform = StandardScaler()
x_tran=transform.fit_transform(x)# 3.模型训练
model=LinearSVC(C=30)
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[y==0,0],x_tran[y==0,1],c='red')
plt.scatter(x_tran[y==1,0],x_tran[y==1,1],c='blue')
plt.show()# 3.模型训练
model=LinearSVC(C=0.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[y==0,0],x_tran[y==0,1],c='red')
plt.scatter(x_tran[y==1,0],x_tran[y==1,1],c='blue')
plt.show()

C = 0.01
在这里插入图片描述
C = 10
在这里插入图片描述

http://www.ds6.com.cn/news/51135.html

相关文章:

  • 蓝色大气企业网站phpcms模板怎么做好网络营销推广
  • 做高端网站的网络公司网络运营怎么做
  • 西安网站建设公司电话重大新闻事件2023
  • 广州网站建设新锐重庆网络推广公司
  • 怎么建设医疗美容网站杭州网站提升排名
  • 刚做的网站怎么收录windows优化大师和鲁大师
  • 湖南网站建设 要上磐石网络成都百度提升优化
  • 阿里云服务器做网站需要备案宁波seo咨询
  • 揭阳网站建设托管郑州网站排名推广
  • 网站备案不能访问网站关键词优化案例
  • 求做政府采购网站百度关键词排名点击
  • 学网站开发哪个好网推怎么做
  • 做哪个网站比较有流量网站设计公司怎么样
  • 上海网站建设联上海城市分站seo
  • 手机网站居中显示济南seo优化外包服务
  • 网站建设 东八区网络推广公司怎么找客户
  • 婚庆公司网站设计长春seo主管
  • 做视频网站带宽百度云网盘资源搜索引擎入口
  • 安全者 wordpress苏州seo优化
  • 邮箱官网注册入口网站快速优化排名推荐
  • 哪个网站有帮忙做公开课课件新平台推广赚钱
  • wordpress 主题 开发seo是干嘛的
  • 揭阳网站建设团队找关键词的方法与技巧
  • 怎么把自己做的网站放到公网上网站网络推广企业
  • 有找猎聘网站做简历优化的手机网站制作软件
  • 如何购买虚拟主机做网站网络营销推广工具有哪些
  • 做网站能挣钱seo关键词教程
  • 给别人做网站 网站违法了网站设计
  • 公司网站建设应注意杭州网站优化流程
  • 自有服务器 做网站搜索引擎优化的主要内容