机器学习——支持向量机SVM之线性模型

目录

一、没有免费的午餐定理

二、支持向量机SVM(support vector machine)

1、线性模型和非线性模型

2、如何在线性模型中画出一条直线(优化过程——vplink)

1)多少条?

2)如何画出最好的直线?

3、如何去描述这个优化的过程(数学描述)

1)几个重要的名词(间隔、支持向量)

2)一些定义(训练数据、标签、超平面等)

>>>问题1:怎么求解w,b?

3)机器学习的任务与步骤(求解w,b)

三、支持向量机的优化问题(求最优划分直线,性能指标为d)

1、优化问题(怎么将问题转化为最优化问题?)

2、转化为最优化问题的过程?

1)由支持向量X0和模型得到距离d的公式

 2)如何取得d最大?——(转化问题的最优化量的思想)

>>>问题2:需不需要计算a?

>>>问题3:支持向量是怎么得到的?如何保证它满足下面的式子?

3)转化后的最优化问题数学描述(dmax——||w||min)

>>>问题4:以上的限制条件中哪些是已知哪些是未知?

>>>问题5:缩放后的w,b怎么求解?

>>>问题6:限制条件为什么大于等于1?

四、总结

1、机器学习与最优化联系与区别

1)区别

2)联系


 


 


 


课程链接:《浙江大学-研究生机器学习课程》

一、没有免费的午餐定理

没有免费的午餐定理:如果我们不对特征空间有先验假设,则所有算法的平均表现是一样的。

特征差距小的样本更有可能是一类

二、支持向量机SVM(support vector machine)

vplink发明的支持向量机

SVM是最大化间隔的分类算法,是一种进行二元分类的广义线性分类器;SVM也可以通过核方法来对非线性模型进行分类。

1、线性模型和非线性模型

通过一条直线可以将样本分开为两个特征的部分叫线性模型,反之叫非线性模型

2、如何在线性模型中画出一条直线(优化过程——vplink)

1)多少条?

该直线将圆圈和叉区分开,按道理来说有无数条,所以需要找出一条最好的直线

2)如何画出最好的直线?

先定义一个性能指标,比较每一条直线的性能指标,取性能指标最好的那条线作为最好的直线

这里是以d:间隔(margin)作为性能指标进行分析

①最优的情形

这里的性能指标是距离——将待定的直线向左和向右移动,直到该直线分别与各特征区域的一个或者多个特征值相交时停止移动,测量这时候两条直线的距离,取该距离最大的直线为最优直线备选。

但是最优的直线也有无数条,因为与其平行的直线有无数条,该怎么取舍呢?

这时候将直线在d/2处的直线作为最终的直线,作为最优直线

②不是最优的情形

标题

3、如何去描述这个优化的过程(数学描述)

如何去描述这个优化的过程(数学描述)?

1)几个重要的名词(间隔、支持向量)

间隔d:margin——最优直线与两边最近特征值的距离和叫做间隔

支持向量X0:support vector——被平行线插到的向量叫做支持向量

2)一些定义(训练数据、标签、超平面等)

 

训练数据(XN=【XN1,XN2,XN3,,,XNN】T是一个向量)及标签(yi是1或-1):

 

线性模型:(W,b)——待定参数

W的转置.dot(xi) + b = 0——超平面(Hyperplane)的方程,关于xi的一次线性方程

 

>>>问题1:怎么求解w,b?

答:超平面方程中X=xi,其中i = 1~N,而xi = (xi1,xi2,...,xin)T,因此根据方程可以得到N个方程,N取决于训练的样本数,n取决于样本数的维数,通过求解N个关于w的一次方程组,即可以求解得到w,b,求解方程组的方法有高斯法等,具体可参考《数值分析》

线性模型最优化的任务——在二维的的时候找直线,在三维的时候找平面,在多维的时候找超平面,这里以二维为例

 

 

线性可分:

即:

 

3)机器学习的任务与步骤(求解w,b)

任务(已知(xN,yN),未知(W,b)):

通过这些训练数据和标签((xN,yN)),其中XN = (XN1,XN2,...,XNn)是一个向量,N表示训练的样本个数,n表示每一个样本数的维度;在限定的模型(超平面方程)下,求解出待定系数(W,b),最后确定模型,机器学习的过程也就结束了

 

步骤:

a,通过一个方程来限定模型,如用一个超平面来限定多维模型;

b.在限定的模型中确定待定系数

c.通过训练数据和限定的模型(方程)求解出待定系数,最后确定模型

三、支持向量机的优化问题(求最优划分直线,性能指标为d)

1、优化问题(怎么将问题转化为最优化问题?)

2、转化为最优化问题的过程?

公式1:

1)由支持向量X0和模型得到距离d的公式

 2)如何取得d最大?——(转化问题的最优化量的思想)

通过缩放求得d的公式(已知w,b,未知a,也就是后来的aw,ab,支持向量X0未知)

使得d最大的问题转化为求||w||的最小值问题

 

>>>问题2:需不需要计算a?

答:不需要!因为这里主要是引入a来讲解一下缩放的思想,即告诉我们通过a的缩放能够将求解d最大值问题转化为||w||最小值的问题,至于a缩放多少,因为不管a缩放多少,都要假设满足以下式子(至于为什么这么假设,我也不知道,反正肯定是为了方便计算):

最后d的公式为:

d的公式分子为常数,因此问题dmax依据转化为求||w||min

 

>>>问题3:支持向量是怎么得到的?如何保证它满足下面的式子?

答:这里只是一个假设,实际上支持向量还未知,为我们最优化时的工作,这里只是相当于下了一个定义,限定了a的值来满足这个假设,最优化的问题就是对缩放后的w进行求解,所以a没必要进行求解,这里也求不出来

 

3)转化后的最优化问题数学描述(dmax——||w||min)

凸函数的定义:《最优化课堂笔记04:非线性规划——凸规划》

凸函数及二次规划问题的求解方法:《最优化课程笔记07——约束问题的非线性规划方法(拉格朗日乘子法和惩罚函数法)》

>>>问题4:以上的限制条件中哪些是已知哪些是未知?

答:已知:xi,yi——即样本数据,未知——w,b

注意这里要区分开前面通过训练数据求得的w,b,前面的w,b是一个超平面方程,对所有的训练数据都满足,而这里的w,b是在超平面的基础上进行缩放得到的,虽然平面是一样的(由事实1得到):

但是w,b值已经发生了改变,并且这里要求解的w,b是在限制条件下进行求解的,虽然目标函数中看起来只有w,没有b,但b在限制条件中,如果b的取值不能破坏了约束条件,也是不可以的。

 

>>>问题5:缩放后的w,b怎么求解?

答:先转化为对偶问题,再使用拉格朗日函数进行求解

 

 

>>>问题6:限制条件为什么大于等于1?

答:首先根据线性可分性得到限制条件必然大于等于0,又因为问题dmax转化为||w||min的问题时在支持向量上满足,

所以在非支持向量上有:yi=1时,平面方程的模会大于1;即:

yi=-1时,平面方程的模会小于-1,即:

所以二者相乘就会大于等于1,当然也可以大于等于任何的正整数N,此时a的缩放就应该满足:

结果一致,一般是大于等于1

四、总结

1、机器学习与最优化联系与区别

1)区别

机器学习:通过已知的训练数据在限定的模型下求解出模型的待定系数,得到这个问题的一个确切具体的模型,重点在于求解模型的待定系数w,b,求得的w,b只是满足了将二元分类了,但不一定是最优的分类平面

最优化:求解出问题的最优解,即找到最优的分类平面

2)联系

机器学习包含了最优化,其实机器学习就是在不断地对数据进行优化,得到最优解。起初机器学习是通过现有的训练数据得到一个模型,后面再通过学习(优化)求得最优解。

 

 

非线性模型的最优化问题该怎么求解呢?请看:《机器学习理论——支持向量机SVM之非线性模型》

 

还可以参考:《[机器学习笔记] 支持向量机SVM如何求解最佳模型?》

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

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

相关文章

Oauth2.0和1.0区别

1.0的授权分3步, A)客户端到授权服务器请求一个授权令牌(request token&secret) B)引导用户到授权服务器请求授权 C)用访问令牌到授权服务器换取访问令牌(access token&secret) D)用访问令牌去访问得到授权的资源 2.0的用户授权过程有2步, A)引导用户到授权…

spring@PropertySource用法

v测试例子 package com.hjzgg.auth.config;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annot…

机器学习——支持向量机SVM之非线性模型(低维到高维映射)

目录 一、非线性模型的最优化问题 1、非线性模型最优化模型 2、两个概念 1)正则项(regularization term) 2)调参参数 2、高维映射 1)定义及作用 2)高维映射后的最优化模型 3)异或问题&…

html表单中get与post之间的区别

当用户在 HTML 表单 (HTML Form) 中输入信息并提交之后,有两种方法将信息从浏览器传送到 Web 服务器 (Web Server)。 一种方法是通过 URL,另外一种是在 HTTP Request 的 body 中。 前一种方法,我们使用 HTML Form 中的 method "get&quo…

世界坐标系,摄像机坐标系、图像坐标系关系汇总

**摄像机标定:**在计算机视觉研究领域,摄像机标定是一个重要的环节。摄像机标定就是求取摄像机内外参数的过程。 世界坐标系:绝对坐标系,一般的三维场景都由这个坐标系来表示。摄像机可以放置在环境中的任何位置,因此可…

SpringMVC-HelloWorld

2.5、Hello World入门 2.5.1、准备开发环境和运行环境: ☆开发工具:eclipse ☆运行环境:tomcat6.0.20 ☆工程:动态web工程(springmvc-chapter2) ☆spring框架下载: spring-framework…

机器学习——支持向量机SVM之非线性模型(原问题和对偶问题)

目录 一、原问题(prime problem) 二、原问题的对偶问题(dual problem) 1、定义一个辅助函数 2、定义对偶问题 >>>问题1:上面说到遍历w,那w的取值范围和取值步长是怎样的?即遍历的…

(转)Apache Rewrite 详解

(转)Apache Rewrite 详解参考文档:http://man.chinaunix.net/newsoft/ApacheManual/mod/mod_rewrite.htmlApache Rewrite 详解一 入门RewriteEngine onRewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php就这两行. 然后就完成了URL重写功能了. 首先服务器是需要支…

python轮廓函数的使用

在图像的处理中有时候需要对图像中的目标区域提出出轮廓 读取图像 调用OpenCV的库使用cv.imread()来读取图像。 图像为 灰度化 二值化 提取轮廓时,图像一般都是二值化后的图像。在本次程序中选用cv2.THRESH_BINARY的二值化方式。即将大于阈值的部分设定为255&am…

Intent Bundle页面跳转信息的传递

MainActivity LoginActivity LoginLayout 转载于:https://www.cnblogs.com/xiaolei121/p/5846644.html

机器学习——支持向量机SVM之非线性模型(原问题转化为对偶问题)

目录 一、复习(原问题、对偶问题、KKT条件、凸函数) 二、将最优化问题标准化为原问题(严格转化为标准形式) 1、原最优化问题 2、标准化后的问题 三、转化为对偶问题(注意变量的对应关系) 四、对对偶问…

静止的单摄像机无法得到像点的三维坐标详解

我们知道在机器视觉中通常要使用的搭建的视觉测量系统对一个物体的尺寸、形变、以及三维形貌进行测量。一般按照摄像机的个数以及组成部分分为三类测量方法。分别为单目测量、双目(大于2为多目)测量、以及结构光测量。 单目测量系统 顾名思义单目就指的…

未能加载文件或程序集“Poderosa.Core

https://github.com/poderosaproject/poderosa上下载的一个开源工程,程序是在VS2012上编译的,然后VS2015转换后编译失败,报“未能加载文件或程序集“Poderosa.Core......”的错误 猜测是转换的时候引用丢失了,于是添加引用 F:\...…

图像的像素、分辨率、像元尺寸、大小、清晰度的关系

图像的像素: 图像是由像素所组成的,像素的多少表明摄像机所含有的感光元件的多少。像素是指一张图像中所有的像素数之和。 图像分辨率: 是指表达方式也为“水平像素数垂直像素数” 像元尺寸: 是指一个像素在长和宽方向上所代表的实…

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

目录 一、问题描述(兵王问题) 二、步骤 1、获得数据 2、样本划分(训练样本和测试样本) 3、训练样本得到SVM模型 ​ 1)数据处理 2)训练样本和测试样本归一化 3)选择核函数和调参 4&#…

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 …