第三课 SVM(2)

1 线性可分的数据集

1.1 超平面

SVM的思想是找到最大间隔的分隔超平面。

在这里插入图片描述

在两个分类中,找到能够一条线,以最好地区分这两个分类。这样如果有了新的点,这条线也能很好地做出分类。
这样的线在高维样本中的时候就叫做超平面。

1.2 几何间隔与函数间隔

图中绿线h1效果不好,h2效果还行,h3效果最好。怎么区分效果好不好?
如果超平面w.x+b=0w.x+b=0w.x+b=0已经存在,那么样本点距离超平面的距离能够表示预测的确信程度。∣w.x+b∣|w.x+b|w.x+b能够相对地表示点x距离超平面的距离。而w.x+bw.x+bw.x+b的符号与标记y的符号是否一致表示分类是否正确。那么就可以用y(w.x+b)y(w.x+b)y(w.x+b)表示分类的正确性和确信程度,这就是函数间隔。

函数间隔:超平面(w,b)关于样本点(xix_ixi,yiy_iyi)样本点的函数间隔为:ri^=yi(w.xi+b)\hat{r_i}=y_i(w.x_i+b)ri^=yi(w.xi+b)
超平面(w,b)关于数据集T的函数间隔,为所有样本点的函数间隔的最小值:r^=mini=1,2...Nri^\hat{r}=min_{i=1,2...N} \hat{r_i}r^=mini=1,2...Nri^

函数间隔的问题是如果成比例的改变w和b,例如改为2w+2b,超平面不变,函数间隔却变成了原来的两倍。如果规范化之后就会使得间隔是确定的。这时候函数间隔就变成了几何间隔。
几何间隔:对于给定数据集T和超平面(w,b),w是超平面的法向量,样本点(xix_ixi,yiy_iyi)的几何间隔为:ri=yiw.x+b∣∣w∣∣r_i=y_i\dfrac{w.x+b}{||w||}ri=yiww.x+b
在这里插入图片描述

超平面(w,b)关于数据集T的几何间隔,为所有样本点的几何间隔的最小值:r=mini=1,2...Nrir=min_{i=1,2...N} {r_i}r=mini=1,2...Nri

1.3 目标函数

目标函数:最大化几何间隔r:maxr=maxr^∣∣w∣∣max r=max\dfrac{\hat{r}}{||w||}maxr=maxwr^
s.t. yi(w.xi+b)>=r^,i=1,2,3...Ny_i(w.x_i+b)>=\hat{r},i=1,2,3...Nyi(w.xi+b)>=r^,i=1,2,3...N
r^=1\hat{r}=1r^=1(这里等于1,没有特别的含义,只是好计算,不影响结果),那么目标函数变为:max1∣∣w∣∣max\dfrac{1}{||w||}maxw1min∣∣w∣∣min||w||minwmin12∣∣w∣∣2min\dfrac{1}{2}||w||^2min21w2
s.t. yi(w.xi+b)>=r^,i=1,2,3...Ny_i(w.x_i+b)>=\hat{r},i=1,2,3...Nyi(w.xi+b)>=r^,i=1,2,3...N

用拉格朗日乘子法:
L(w,b,α)=12∣∣w∣∣2−∑i=1Nαiyi(w.xi+b)+∑i=1NαiL(w,b,\alpha)=\dfrac{1}{2}||w||^2-\sum_{i=1}^N\alpha_iy_i(w.x_i+b) + \sum_{i=1}^N\alpha_iL(w,b,α)=21w2i=1Nαiyi(w.xi+b)+i=1Nαi

分别对w、b、求导得到:w=∑i=1Nαiyixiw=\sum_{i=1}^N\alpha_iy_ix_iw=i=1Nαiyixi∑i=1Nαiyi=0\sum_{i=1}^N\alpha_iy_i=0i=1Nαiyi=0

这样代入上面的式子得到:L(w,b,α)=12∑i=1N∑j=1Nαiαjyiyj(xi.xj)+∑i=1NαiL(w,b,\alpha)=\dfrac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j(x_i.x_j)+\sum_{i=1}^N\alpha_iL(w,b,α)=21i=1Nj=1Nαiαjyiyj(xi.xj)+i=1Nαi

1.4 支持向量

在线性可分情况下,训练数据集中的样本点中距离分离超平面最近的样本点称为支持向量

2 线性近似可分

训练样本中有一些点不满足函数间隔>=1的约束。
解决方法:是对每一个样本引入一个松弛变量ϵi>=0\epsilon_i>=0ϵi>=0使得函数间隔大于等于1。约束条件变为:yi(w.xi+b)>=1−ϵiy_i(w.x_i+b)>=1-\epsilon_iyi(w.xi+b)>=1ϵi
目标函数:min 12∣∣w∣∣2+C∑i=1Nϵi\dfrac{1}{2}||w||^2+C\sum_{i=1}^{N}\epsilon_i21w2+Ci=1Nϵi
s.t. yi(w.xi+b)>1−ϵi,i=1,2,3...Ny_i(w.x_i+b)>1-\epsilon_i, i=1,2,3...Nyi(w.xi+b)>1ϵi,i=1,2,3...N
ϵi>=0,i=1,2,3...N\epsilon_i>=0, i=1,2,3...Nϵi>=0,i=1,2,3...N

拉格朗日函数变为:L(w,b,α,μ)=12∣∣w∣∣2+C∑i=1Nϵi−∑i=1Nαi(yi(w.xi+b)−1+ϵi)+∑i=1NμiϵiL(w,b,\alpha,\mu)=\dfrac{1}{2}||w||^2 +C\sum_{i=1}^{N}\epsilon_i -\sum_{i=1}^N\alpha_i(y_i(w.x_i+b) -1 +\epsilon_i ) + \sum_{i=1}^N\mu_i\epsilon_iL(w,b,α,μ)=21w2+Ci=1Nϵii=1Nαi(yi(w.xi+b)1+ϵi)+i=1Nμiϵi

经过求导替换得到:minL(w,b,α,μ,ϵ)=−12∑i=1N∑j=1Nαiαjyiyj(xi.xj)+∑i=1Nαimin L(w,b,\alpha,\mu,\epsilon)=-\dfrac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j(x_i.x_j)+\sum_{i=1}^N\alpha_iminL(w,b,α,μ,ϵ)=21i=1Nj=1Nαiαjyiyj(xi.xj)+i=1Nαi

3 非线性支持向量机与核函数

对于线性不可分的问题通过一个变换,将低纬度的非线性问题变换为高纬度的线性问题。通过变换后的线性问题求解原来的非线性问题。
核函数定义:设X是输入空间,H为特征空间,如果存在一个从X到H的映射,ϕ(X):X−>H\phi(X):X->Hϕ(X):X>H,使得对所有的x,z∈Xx,z \in Xx,zX,函数K(x,z)满足条件:K(x,z)=ϕ(x)ϕ(z)K(x,z)=\phi(x)\phi(z)K(x,z)=ϕ(x)ϕ(z),则称K(x,z)为核函数,ϕ(x)\phi(x)ϕ(x)为映射函数。
核函数技巧的核心是,只需要定义核函数,而不是定义映射函数。因为通常直接计算K(x,z)更容易,而计算ϕ(x)ϕ(z)\phi(x)\phi(z)ϕ(x)ϕ(z)不容易,计算量还很大。

所以目标函数变为:L(w,b,α,μ,ϵ)=12∑i=1N∑j=1NαiαjyiyjK(xi.xj)−∑i=1NαiL(w,b,\alpha,\mu,\epsilon)=\dfrac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_jK(x_i.x_j)-\sum_{i=1}^N\alpha_iL(w,b,α,μ,ϵ)=21i=1Nj=1NαiαjyiyjK(xi.xj)i=1Nαi

常用核函数为高斯核函数、多项式核函数。

三个类型讨论到后面使用SMO解决问题。

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

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

相关文章

《C Traps and Pitfalls》 笔记

这本书短短的100多页,很象是一篇文章。但是指出的很多问题的确容易出现在笔试的改错题中--------------------------------------------------------------------第1章 词法陷阱1.1 和 1.3 词法分析的"贪心法则"编译器从左到右读入字符,每个符…

spring mvc学习(53):回顾和springmvc返回值类型总结

媒体类型 MIME媒体类型(简称MIME类型)是描述报文实体主体内容的一些标准化名称(比如,text/html、image/jpeg)。 因特网有数千种不同的数据类型,HTTP仔细地给每种要通过web传输的对象都打上了名为MIME类型的…

2019hdu多校1

1009 考虑贪心&#xff0c;暴力枚举一位。 $o(676n)$ #include<bits/stdc.h> using namespace std; const int N1e5333; int n,m,zl; int pos[26],cnt[N],t[26],az[N]; char s[N],st[N]; int l[N],r[N],nx[N],zzq[26]; int main(){ios::sync_with_stdio(0);//freopen(&qu…

关于梅花雪的js树

最近一段时间&#xff0c;为了学习java&#xff0c;天天在看别人的框架&#xff0c;为了实现一颗树&#xff0c;找到了一个改写梅花雪的js&#xff0c;下面是一个基本的结构<% page language"java" import"java.util.*" pageEncoding"GBK"%&g…

总和最大区间问题

题目和解题思路来源于吴军著作《计算之魂》。本题目是例题1.3。 文章目录1 问题描述2 解题思路2.1 三重循环2.2 两重循环2.3 分治法2.4 正反两遍扫描的方法2.5 再进一步&#xff0c;假设失效3 应用动态规划1 问题描述 总和最大区间问题&#xff1a;给定一个实数序列&#xff0…

spring mvc学习(54):简单异常处理

引入jar包 pom.xml <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">…

spring mvc学习(55):简单异常处理二

引入jar包 pom.xml <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">…

Jelinek-Merer与Absolute discounting 平滑方法

Jelinek-Merer Jelinek-Merer平滑方法的基本思想是利用低元n-gram模型对高元n-gram模型进行线性插值。 PML(wi∣wi−1)c(wi,wi−1)c(wi−1)P_{ML}(w_i|w_{i-1})\dfrac{c(w_i,w_{i-1})}{c(w_{i-1})}PML​(wi​∣wi−1​)c(wi−1​)c(wi​,wi−1​)​ c(wi,wi−1)c(w_i,w_{i-1}…

从决策树到xgboost(一)

文章目录1 决策树1.1决策树定义1.2信息增益1.3 信息增益的算法1.4 信息增益比2 决策树ID32.1 ID3树的构建2.2 决策树的剪枝2.2.1 损失函数定义与计算2.2.2 剪枝过程2.3 CART树2.3.1 CART回归树2.3.2 CART分类树2.3.3 CART树剪枝1 决策树 1.1决策树定义 决策树的基本组成&…

从决策树到xgboost(二)

文章目录3 集成学习4 Adaboost4.1 Adaboost算法4.1.1 初始化训练数据的起始权值分布4.1.2 对m个弱分类器m1,2,3...M4.1.3 构建弱分类器的线性组合4.1.4 得到最终的分类器5 Boosting5.1 加法模型5.2 前向分布算法6 提升决策树BDT6.1 BDT算法6.2 回归问题提升树7 梯度提升决策树G…

[伤了昨天的心 裂成碎片和沙一起飞]五香里脊

今晨3点挂的电话&#xff0c;6点睁开的眼。困到头痛&#xff0c;但还是烧了道肉菜。…**…**…**…**…**…**…**…*分隔 五香里脊*…**…**…**…**…**…**…**…五香里脊 材料&#xff1a;1&#xff0e;里脊肉、油、麻油。2&#xff0e;蒜末、辣椒末、水、生抽、老醋、糖、…

MOTOMAN-SV3X运动学建模验证图

以下是正解&#xff0c;逆解 结果 转载于:https://www.cnblogs.com/wqj1212/archive/2008/01/01/1022177.html

小程序·云开发实战 - 迷你微博

0. 前言 本文将手把手教你如何写出迷你版微博的一行行代码&#xff0c;迷你版微博包含以下功能&#xff1a; Feed 流&#xff1a;关注动态、所有动态发送图文动态搜索用户关注系统点赞动态个人主页使用到的云开发能力&#xff1a; 云数据库云存储云函数云调用没错&#xff0c;几…

spring mvc学习(60):ssm项目整合

SSM整合 建立springmvc项目&#xff0c;先跑起来&#xff0c;再整合spring和mybatis 一.SpringMVC建立 1.新建maven工程&#xff0c;安装tomcat 2.导入pom <!-- springmvc --><dependency><groupId>org.springframework</groupId><artifactId>…

回溯算法归纳

回溯算法解题思路回溯的两种思路题目描述按照思路1解决按思路2解决回溯的两种思路 看不同的解题方法&#xff0c;形成不同的思维。 先说结论。回溯解题思路1&#xff1a;是对可选择每个元素&#xff0c;采取不选择、选择两种策略&#xff0c;不断递归下去。最近看花花酱的视频…

mybatis学习(1):【持久化框架】Mybatis简介与原理

从这篇博文开始我们学习一下Mybatis&#xff0c;希望大家提出宝贵的建议。 什么是Mybatis MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code&#xff0c;并且改名为MyBatis 。iBATIS一词来源于“internet”和“abati…

UML类图解义

小菜&#xff1a;“对了&#xff0c;我时常在一些技术书中看到这些类图表示&#xff0c;简单的还看得懂&#xff0c;有些标记我很容易混淆。要不你给我讲讲吧。” 大鸟&#xff1a;“这个其实多看多用就熟悉了。我给你举一个例子&#xff0c;来看这样一幅图&#xff0c;其中就包…

mybatis学习(2):基本设置和核心配置

1创建一个简单的java项目 2导入jar包 建立一个lib包 链接&#xff1a;https://pan.baidu.com/s/1eJ7xXF2qvUbgde2T--Sphg 提取码&#xff1a;3bgy 加入junit的包 右键项目---build path---add library 4导入配置文件 log4j.properties ### ### log4j.rootLogger ERROR,s…

mybatis学习(3):映射文件的配置和接口创建

配置文件 db.properties jdbc.drivercom.oracle.jdbc.OracleDriver jdbc.urljdbc:oracle:thin:127.0.0.1:1521:wiicare jdbc.usernamewiicare jdbc.passwordMdsd123 log4j.properties ### ### log4j.rootLogger ERROR,stdout### ¡ ### log4j.appender.stdout org.ap…

mybatis学习(4):工具类和实体类的创建

配置文件 db.properties jdbc.drivercom.oracle.jdbc.OracleDriver jdbc.urljdbc:oracle:thin:127.0.0.1:1521:wiicare jdbc.usernamewiicare jdbc.passwordMdsd123 log4j.properties ### ### log4j.rootLogger ERROR,stdout### ¡ ### log4j.appender.stdout org.ap…