机器学习——支持向量机SVM实例(兵王问题,SVM求解步骤以及思路,不求解不编程)

目录

 

一、问题描述(兵王问题)

二、步骤

1、获得数据

2、样本划分(训练样本和测试样本)

3、训练样本得到SVM模型

​ 1)数据处理

2)训练样本和测试样本归一化

3)选择核函数和调参

4)明确任务

5)训练方法——交叉验证

6)参数的设置

3、获得训练后的参数

>>>问题1:为什么要获得这些参数呢?

4、测试结果分析

1)二元分类一般要将测试结果分为四种情况(TP\FN\TN\FP)

2)测试样本测试结果

5、对模型系统进行评价——ROC曲线

1)测试数据的流程:

>>>问题2:若正样本数不够多该怎么办?

2)提升系统性能的办法

3)ROC曲线

>>>问题3:怎么通过ROC曲线去评价一个系统的优劣?

4)系统性能评价指标1:有一个指标就是当FP接近0的时候,TP的大小

5)系统性能评价指标2:曲线所包含的面积(AUC)

6)   系统性能评价指标3:等容错率(EER)


一、问题描述(兵王问题)

国际象棋中,一方一个王一个兵,另一方一个王,用SVM来解决是和局还是将死的结果

 

二、步骤

1、获得数据

这里使用的是早期别人用过的数据集

 

2、样本划分(训练样本和测试样本)

3、训练样本得到SVM模型

用下面的工具包对从总样本划分出来的训练样本进行训练

1)数据处理

因为电脑只认得数字所以,将a,b,c,d...用数字表示,如a=1,b=2,如此类推,标签也是:draw =  -1,one-fifteen = 1(-1表示和局,1表示将死)

2)训练样本和测试样本归一化

3)选择核函数和调参

当不知道选择什么核函数的时候,我们就选择高斯核

这里的参数有两个,一个是C,一个是gamma,如何确定这两个参数?通过对偶问题中的目标函数来对两个参数在他们的取值范围内按照一定的步长逐一进行测试,取最优作为两个参数的最终取值,如下C和gamma的组合有21x19,步长为2

4)明确任务

已知——5000个训练样本(包含样本数据和每个数据对应的标签)

未知、任务——C、gamma参数,通过训练样本训练出SVM模型

5)训练方法——交叉验证

将5000个样本随机均分为5组(5——fold),5组名字分别为a,b,c,d,e,每次拿4组数据作为训练模型,1组用于测试,每组数据进行轮换测试,最后模型的辨识率取五次测试辨识率的均值

组数越多,越精确,但是训练时间多,因此需要进行权衡

这里涉及到了两个循环,一个循环是遍历所有的C和gamma,一个循环是将训练样本分成5组轮换进行训练测试

6)参数的设置

3、获得训练后的参数

>>>问题1:为什么要获得这些参数呢?

答:C和gamma确定了对偶问题模型

支持向量的个数可以通过经验来判断训练的好坏,若支持向量过多则没有训练好

通过b和α我们可以对测试样本进行分类,其中α是通过对偶问题求解所得

4、测试结果分析

5000样本用于了训练,那么剩下的样本则用于测试,通常训练的样本不能拿来测试,因为模型本来就是通过训练样本进行创建的,我们的目的是用训练得到的模型对其他样本进行分类,考察的是模型的学习能力,类似于学习过程中的知识迁移

1)二元分类一般要将测试结果分为四种情况(TP\FN\TN\FP)

2)测试样本测试结果

识别率一般不用来作为系统优劣的判断依据,因为不够准确,一般是通过ROC来进行判断

5、对模型系统进行评价——ROC曲线


 

1)测试数据的流程:

>>>问题2:若正样本数不够多该怎么办?

答:将阈值调小,就会有更多被错误识别为负样本的正样本被正确地识别为正样本,即TP增大,同时NP也会增大,这样的话系统的性能也会得到提升

2)提升系统性能的办法

方法1:在模型还没有确定的情况下,通过寻找一组更好的α和b来创建模型;

方法2:在模型确定的情况下,即α和b一定的情况下,我们可以通过适当地调小阈值来达到系统性能提升的效果

3)ROC曲线

理论依据:

曲线绘制 :根据上图的①②③关系进行绘制TP-FP曲线

>>>问题3:怎么通过ROC曲线去评价一个系统的优劣?

答:在回答这个问题之前,我们得清楚TP和FP,TP指的是将正样本正确的识别为正样本,FP是将负样本错误地识别为正样本。

4)系统性能评价指标1:有一个指标就是当FP接近0的时候,TP的大小

指标1:有一个指标就是当FP接近0的时候,TP的大小可以用来评价一个系统的优劣,越大越好,因为识别率高。但是大多数情况下不能只看这一项指标,还要看一下总的走势,如下图所示:

在FP=0的时候,红色线系统TP很高,但是蓝线TP=0,而到了后面,相同的FP下,蓝色线的TP大于红色线的TP,这样的两个系统无法直接判断出哪个系统更优。

但是在兵王问题中的ROC曲线,对任意相同的FP下,蓝色线所代表的系统的TP都要大于等于其他系统,因此蓝色线所代表的系统肯定在这四个系统中是最优的!

5)系统性能评价指标2:曲线所包含的面积(AUC)

面积越大,系统越优

6)系统性能评价指标3:等容错率(EER)

EER越小,系统性能越好

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/256423.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Django的安装

Django是Python的一款Web开源框架,所以Django是依赖于Python的,首先要安装Python。 Python安装 官网地址:http://www.python.org/download/ 在安装Python的时候,会有人纠结,是要安装Python2还是Python3呢?其…

机器学习——支持向量机SVM之多分类问题

目录 方法1:改造目标函数与限制条件 方法2:一类对其他类(类数为N,需要建立N个SVM模型) 情形1:多个SVM模型结果交集得出确切归类 情形2:多个SVM模型结果交集没有得出确切归类 方法3&#xff…

python3版本无法加载reload解决办法NameError: name 'reload' is not defined

很多人在运行八点法求基础矩阵问题时,都会遇到NameError: name ‘reload’ is not defined的错误 只需在最前面加上from imp import reload即可

hdu 2612 Find a way(bfs)

Problem DescriptionPass a year learning in Hangzhou, yifenfei arrival hometown Ningbo at finally. Leave Ningbo one year, yifenfei have many people to meet. Especially a good friend Merceki. Yifenfei’s home is at the countryside, but Merceki’s home is in …

七桥问题

怎么不重复地走完连接两座岛和陆地的七座桥? 简化为以下: 答案是不能走完的。 奇点:这个点有奇数条线汇聚于此 偶点:这个点有奇数条线汇聚于此 七桥问题——一笔画问题 若一个图形全部是偶点或者只有2个奇点(没有…

office2016打开PPT出现解决VBE6EXT.OLB不能被加载问题的解决办法

第一步 打开路径C:\Program Files (x86)\Microsoft Office\root\VFS\ProgramFilesCommonX86\Microsoft Shared\VBA。找到VBA只要是默认安装路径均一样。 第二步 打开VBA6找到VBE6EXT.OLB将其复制到VBA7.1中。 第三步 打开VBA7.1找到VBE7.DLL将其复制到VBA6中。 第四步…

机器学习——人工神经网络之发展历史(神经元数学模型、感知器算法)

目录 一、神经元的数学模型 ​ 二、感知器算法(SVM算法前身) 1、目的 2、流程 >>>问题1:下图w和b的调整是什么意思? 3、算法的有效性验证 1)原算法 2)增广矩阵 3)修改后的算法…

打开word2016总是出现很抱歉,此功能看似中断需要修复。。问题解决办法

第一步 打开运行窗口,在电脑桌面左下角有个圆圈点击进去,输入regedit,即可进入。 第二步 打开HKEY_CURRENT_USER中的SOFTWARE 第三步 找到HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Word\Options项如图红色箭头标示。然后点击O…

机器学习——人工神经网络之多层神经网络(多层与三层)

目录 一、多层神经网络 1、多层神经网络数学模型 2、数学模型中的非线性函数fai 1)非线性函数fai存在的意义 2)非线性函数fai具体是什么? 3、多层神经网络与单层神经网络的区别与改进 1)单层神经网络数学模型 2&#xff0…

排序算法02--冒泡排序

思路:冒泡排序 就是把大的数一个个沉到下面,当然也可以是把小的数一个个浮到上面。 在最外层需要比较n-1次,因为n-1个大的数被沉到了下面,剩下一个自然就是最小的数了。 在这n-1次的里层,还需要亮亮相互比较&#xff0…

关于▲的各种交点

对于△ABC证明: ①三角形的三条中线交于一点: 等腰三角形:作中线BD、CE与AC、AB交于D、E,相交于O,连接AO并延长交BC于F; 证△ABD全等于△ACE,再证△EBO全等于△D…

机器学习——支持向量机SVMpython实现

一、SVM理论 可见以下文章: 《机器学习——支持向量机SVM之线性模型》 《机器学习——支持向量机SVM之非线性模型低维到高维映射》 《机器学习——支持向量机SVM之非线性模型原问题与对偶问题》 《机器学习——支持向量机SVM之非线性模型原问题转化为对偶问题》…

ExtJS4.2学习(10)分组表格控件--GroupingGrid(转)

鸣谢网址:http://www.shuyangyang.com.cn/jishuliangongfang/qianduanjishu/2013-11-17/179.html --------------------------------------------------------------------------------------------- 分组表格控件在我们的开发中经常被用到,GroupingGrid…

九个Console命令,让js调试更简单

一、显示信息的命令 1: <!DOCTYPE html>2: <html>3: <head>4: <title>常用console命令</title>5: <meta http-equiv"Content-Type" content"text/html; charsetutf-8" />6: </head>7: <body>8: …

numpy——axis

size()和max()中的含义 以前我理解axis0代表行&#xff0c;axis1代表列&#xff1b; 但是这种含义在函数size()和max()中恰恰相反&#xff1b; 其实不是这样的&#xff0c;我们回到单词axis本身&#xff0c;它的意思是“轴”&#xff0c;没错轴就是代表一个方向&#xff0c;像…

Halcon例程(基于3D形状匹配识别方法)详解 —— create_shape_model_3d_lowest_model_level.hdev

一、例程简介 最近在研究3D识别方面的东西&#xff0c;查了不少资料&#xff0c;发现halcon里有不少关于三维物体识别的例程&#xff0c;这里对其中一个做出详解。该例程是基于三维匹配方法的&#xff0c;因为有三维模型SM3&#xff0c;所以不需要自己创建&#xff1b;另因为例…

15.瀑布流、测量

排行界面TopProtocol &#xff1a;json数据就是写字符串&#xff0c;所以不需要写bean对象public class TopProtocol extends BaseProtocol<List<String>> { Override public List<String> paserJson(String json) { List<String> datasnew ArrayList&…

linear-gradient线性渐变

background:linear-gradient(180deg, sliver 20%, skyblue 80%, gray 100%);180deg 是线性渐变的角度,水平方向;如果是90deg,则是垂直方向. silver 20% 是最上面的颜色和该颜色所在的位置,可以为负值,,如 linear-gradient(180deg, silver -7%, pink 80%, skyblue 127%);的效果是…

C# —— 简单工厂设计模式详述

一、基本概念 众所周知&#xff0c;C#是一种面向对象的语言&#xff0c;而其中封装&#xff0c;继承&#xff0c;多态是面向对象的三大重要特征&#xff0c;简单工厂的设计模式则可以完全体现这些特征。要彻底理解这个模式&#xff0c;必须要先将封装&#xff08;访问修饰符的…

工业相机常用类型详述

一、工业相机定义 工业相机是应用于工业领域、安防和交通等对相机要求较高领域的摄像机&#xff0c;功能就是将光信号转变成有序的电信号&#xff0c;此信号经过模数转换为数字信号&#xff0c;然后传递给图像处理器。与一般的家用相机相比&#xff0c;其具有更高的稳定性能&a…