机器学习理论基础—支持向量机的推导(一)

机器学习理论基础—支持向量机的推导

算法原理

SVM:从几何角度,对于线性可分数据集,支持向量机就是找距离正负样本都最远的超平面,相比于感知机,其解是唯一的,且不偏不倚,泛化性能更好。

在这里插入图片描述

超平面

n维空间的超平面(wT X+ b= 0,其中w,x ∈ R)

  • 超平面方程不唯—
  • 法向量w和位移项b确定一个唯一超平面
  • 法向量w垂直于超平面 (缩放w,b时,若缩放倍数为负数会改变法向量方向)
  • 法向量w指向的那一半空间为正空间,另一半为负空间
  • 任意点到超平面的距离公式为
    在这里插入图片描述

点到超平面的距离公式

理论证明:提出假设条件
在这里插入图片描述

1.由于法向量W与x1x0向量平行,首先计算两个向量点乘的模长:而下x1x0向量的模长就是要求的距离R
在这里插入图片描述
2.按照点乘的坐标形式来进行计算,最后令两个式子相等即可以得到最终的结果。
在这里插入图片描述
两个式子相等得到最终的结果:
在这里插入图片描述

几何间隔

定义:M关于超平面的几何间隔为:(样本点的形式
在这里插入图片描述

正确分类是指:正样本都集中在正空间,负样本都集中在负空间。

  • 正确分类时r(i)>0,几何间隔此时也等价于点到超平面的距离。
  • 没有正确分类时:r(i)<0

数据集的定义形式 X为(x1,x2…)的数据集):即是所有样本点几何间隔的最小值。

在这里插入图片描述

支持向量机

模型定义:给定线性可分数据集X,支持向量机模型希望求得数据集X关于超平面的几何间隔达到最大的那个超平面,然后套上一个sign函数实现分类功能
在这里插入图片描述

其中与感知机模型的区别在于,参数的不同支持向量机中的参数为b而感知机中的参数为一个阈值。

几何间隔最大的超平面一定是距离正负样本最远的超平面。

当超平面没有正确划分正负样本时:几何间隔最小的为误分类点,因此r<0
当超平面正确划分超平面时:r≥0,且越靠近中央越大。

支持向量机学习策略

策略:给定线性可分数据集X,设X中几何间隔最小的样本(xmin,ymin),那么支持向量机找超平面的过程可以转化为以下带约束条件的优化问题。
在这里插入图片描述
根据几何间隔的定义带入进行求解,可以得到最终的结果式子与约束条件
在这里插入图片描述
在这里插入图片描述
化简后的公式存在的问题:
假设该问题的最优解为(w*,b*),那么(αw*,αb*),α ∈R+也是最优解,且超平面也不变,因此还需要对w,b做一定限制才能使得上述优化问题有可解的唯一解。不妨令
在这里插入图片描述
因为对于特定的(Xmin,Ymin)来说,使得该公式为1的α 的值只有一个
因此该公式和约束条件可以进一步优化为:
在这里插入图片描述
为了便于计算在进一步进行化简得到最终的学习策略结果(平方取反转换为最小值问题)。
在这里插入图片描述

此优化问题为含不等式约束的优化问题,且为凸优化问题,因此可以直接用很多专门求解凸优化问题的方法求解该问题,在这里,支持向量机通常采用拉格朗日对偶来求解。

凸优化问题

在这里插入图片描述

若目标函数f(x)是凸函数,约束集合是凸集,则称上述优化问题为凸优化问题,特别地,g(x)是凸函数,h(x)是线性函数时,约束集合为凸集,该优化问题为凸优化问题。显然,支持向量机的目标函数1/2||w||2是关于w的凸函数,不等式约束1 一y(wtx(i)十b)是也是关于w的凸函数,因此支持向量机是一个凸优化问题。

拉格朗日对偶

用来处理一般的约束问题,对于上面的公式,使用拉格朗日函数进行构造可得有

在这里插入图片描述
其中μ=(μ1,μ2,·,μm)T,入=(入1,入2,.,入n)T为拉格朗日乘子向量。
定义上述优化问题的拉格朗日对偶函数T(μ,入)(注意其自变量不包含x)为L(x,μ,入)关于x的下确界,也即:
在这里插入图片描述

无论上述优化问题是否是凸优化问题,其对偶函数T(μ,入)恒为凹函数 (证明参见《凸优化》)当μ≥0时,(μ,入)构成了上述优化问题最优值p*的下界,也即:在这里插入图片描述
对上面的使用拉格朗日对偶函数求最优值提供参考的证明步骤
在这里插入图片描述

定义在满足μ≥ 0这个约束条件下求对偶函数最大值的优化问题为拉格朗日对偶问题(原优化问题称为主问题)
在这里插入图片描述
设该优化问题的最优值为d*,显然d≤ p,此时称为“弱对偶性"成立,若d* = p*,则称为“强对偶性"成立。找到了求p*的方法(上面有参考的证明过程

无论主问题是否为凸优化问题,对偶问题恒为凸优化问题,因为对偶函数T(μ,入)恒为凹函数(加个负号即可转为凸函数),约束条件μ≥0恒为凸集。

当主问题满足某些充分条件时,强对偶性成立。常见的充分条件有Slater条件:“若主问题是凸优化问题,且可行集D中存在一点能使得所有不等式约束的不等号成立,则强对偶性成立”(证明参见《凸优化》)。显然,支持向量机满足Slater条件。

KKT条件(5个)

设f(x),g(x),h(x)一阶偏导连续,x*,(μ*,入*)分别为主问题和对偶问题的最优解,若强对偶性成立,则x*,μ*,入*一定满足如下5个条件(证明参见《凸优化》
在这里插入图片描述

得出了第一种推导形式

根据支持向量机的主问题直接引出拉格朗日函数=0并对其求一阶偏导
在这里插入图片描述
若将w,b合并为=(w;b),显然上式是关于w的凸函数,直接求一阶导令其等于0,然后带回即可得到最小值,也即拉格朗日对偶函数。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何拿取 macOS 系统中的图标文件

如何拿取 macOS 系统中的图标文件 比如在 Finder 中看到这个文件夹图标很好看&#xff0c;想用一下&#xff0c;就是不知道它在什么位置&#xff0c;我来告诉你。 它在系统中的位置是 /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/如何打开这个位置&am…

计算机网络物理层思维导图+大纲笔记

大纲笔记&#xff1a; 物理层的基本概念 解决如何在连接各种计算机的传输媒体上传输数据比特流&#xff0c;而不是具体的传输媒体 主要任务 确定与传输媒体接口有关的一些特性 机械特性 电气特性 功能特性 规程特性信道上传送的信号 基带信号 来自信源的信号&#xff0c;直接表…

【CLI命令行接口和Java连接openLooKeng查询数据 】

CLI命令行接口和Java连接openLooKeng查询数据 一、摘要二、正文0. 环境说明1. CLI命令行工具的使用2. Java API 的使用三、小结一、摘要 通过CLI命令行接口工具连接openLooKeng,可帮助初学者能够使用SQL语句的方式快速操作openLooKeng,任何只要熟悉SQL的人都可以快速切换到op…

解决 uniapp uni.getLocation 定位经纬度不准问题

【问题描述】 直接使用uni.getLocation获取经纬度不准确&#xff0c;有几百米的偏移。 【解决办法】 加偏移量 //加偏移 let x longitude let y latitude let x_pi (3.14159265358979324 * 3000.0) / 180.0 let z Math.sqrt(x * x y * y) 0.00002 * Math.sin(y * x_pi)…

ArcGIS Pro专题地图系列教程

专题地图系列是ArcGIS Pro3.2的新功能。之前&#xff0c;如果要做8张相同区域的专题图&#xff0c;可能需要新建8个布局&#xff0c;分别进行排版&#xff0c;再导出。现在&#xff0c;一幅地图&#xff0c;一个布局&#xff0c;就可以完成这个流程。 原理是&#xff0c;根据单…

Swift-24-集合对象

概述 在了解正式内容之前可以先回顾下objectiveC中提供的集合特性。 它的特点是&#xff0c;拿NSArray举例&#xff0c;包含NSArray 和 NSMutableArray两个API&#xff0c;前者是不可变数组&#xff0c;一旦创建其值和数量就不能改变了&#xff1b;NSMutableArray是可变数组&…

tableau基础学习——添加标靶图、甘特图、瀑布图

标靶图 添加参考线 添加参考分布 甘特图 创建新的字段 如设置延迟天数****计划交货日期-实际交货日期 为正代表提前交货&#xff0c;负则代表延迟交货 步骤&#xff1a;创建——计算新字段 把延迟天数放在颜色、大小里面就可以 瀑布图 两个表按照地区连接 先做个条形图&…

工业4.0的基石:探索工业级光模块的力量

引言 工业4.0代表着智能制造的新时代&#xff0c;而工业级光模块则是这一革命性转变的基石。这些高科技组件不仅是现代通信网络的核心&#xff0c;更是连接智能工厂、智慧城市和远程服务的关键。本文将深入探讨工业级光模块的技术特性、应用领域以及它们如何塑造未来工业的面貌…

公司网页制作需要多少钱

公司网页制作需要多少钱&#xff1f;这是一个非常常见的问题。答案取决于您需要的功能和设计。一些小型企业网站可能只需要一些基本的功能&#xff0c;花费可能低至几百美元&#xff0c;而一些大型企业网站可能需要高级功能和设计&#xff0c;可能需要几万美元。 以下是一些考虑…

js如何获取对象的属性值

获取对象的属性值&#xff0c;有两种方式。 方式一&#xff1a; 对象.属性名 let obj {name:张三,age:23 }; console.log(obj.name); //张三方式二&#xff1a; 对象[属性名] let obj {name:张三,age:23 }; console.log(obj[name]); //张三 两种方式有什么不同&am…

Mac安装telnet

一、安装Homebrew 1、打开官网&#xff1a;Homebrew — The Missing Package Manager for macOS (or Linux) 2、打开终端输入&#xff1a; /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 二、安装Telnet bre…

内容策略的精准定位:Kompas.ai的目标受众分析

在这个信息爆炸的时代&#xff0c;内容营销已经成为品牌与消费者沟通的重要桥梁。然而&#xff0c;随着内容的海量增长&#xff0c;品牌如何从众多信息中脱颖而出&#xff0c;成为营销人员面临的巨大挑战。精准定位目标受众&#xff0c;不仅能够帮助品牌更有效地传达信息&#…

nginx 的漏洞改造

Nginx 的漏洞扫描有很多整改项 资源下载地址&#xff1a;https://download.csdn.net/download/wangzhi291/89216805 资源里面需要conf/modules 需要上传 然后docker镜像文件 配置按下面的修改就行了 整改方法为增加 ngx_http_headers_more_filter_module模块 include /usr…

贪吃蛇详解

Win32 API介绍&#xff1a; 在写贪吃蛇这款游戏时需要用到一些有关Win32 API的知识&#xff0c; 接下来我会将设计到的知识点列举并讲解&#xff1a; 首先我们先了解一下Win32 API是什么&#xff0c;Windows这个多作业系统除了协调应⽤程序的执⾏、分配内存、管理资源之外&am…

Unity射线实现碰撞检测(不需要rigbody组件)

使用physic.CapsulCast&#xff08;&#xff09;&#xff1b; 前面3个参数生成一个胶囊体&#xff0c; 向着发射方向&#xff0c;发射出一串的胶囊&#xff08;没有最大距离&#xff09; 有最大距离&#xff0c;可以节约性能开销。 physic.CapsulCast&#xff08;&#xff0…

类的六个构造函数相关干货

构造函数 特点 1.名字与类名相同 2.无返回值 3.对象实例化的时候编译器自动调用这个函数 4.构造函数可以重载&#xff08;无参构造函数&#xff0c;拷贝构造等&#xff09; 5.如果类中没有显式定义构造函数&#xff08;深拷贝&#xff09;&#xff0c;则编译器会自动生成一个…

IP地址查询API接口怎么对接

IP地址查询API接口又叫IP归属地信息查询API接口&#xff0c;指的是根据IP地址查询归属地定位信息&#xff0c;包含国家、省、市、街道和运营商、区号、邮编、坐标等信息。那么IP地址查询API接口该怎么对接呢&#xff1f; 首先我们找到一家有做IP归属地信息查询API接口的服务商…

Python程序设计教案

文章目录&#xff1a; 一&#xff1a;软件环境安装 第一个软件&#xff1a;pycharm 第二个软件&#xff1a;thonny 第三个软件&#xff1a;IDIE&#xff08;自带的集成开发环境&#xff09; 二&#xff1a;相关 1.规范 2.关键字 3.Ascll码表 三&#xff1a;语法基础…

【学习】如何高效地进行集成测试

在软件开发的过程中&#xff0c;测试环节至关重要。而在这其中&#xff0c;集成测试更是保证软件质量的关键步骤之一。本文将探讨如何高效地进行集成测试&#xff0c;以确保软件的稳定性和可靠性。 一、什么是集成测试 集成测试是指在单元测试的基础上&#xff0c;将模块按照设…

JavaScript进阶知识点及案例(续)

编程思想 面向过程介绍 面向过程就是分析出解决问题所需要的步骤&#xff0c;然后用函数把这些步骤一步一步的实现&#xff0c;使用的时候再一个一个的依次调用就可以了 面向对象介绍 面向对象是把事务分解成为一个个对象&#xff0c;然后由对象之间分工与合作面向对象是以…
最新文章