机器学习6_支持向量机_算法流程

最大化:\theta (\alpha ,\beta )=\sum_{i=1}^{N}\alpha _i-\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}y_i y_j\alpha _i\alpha _j\varphi (X_i)^T\varphi (X_j)

限制条件:

        (1)0\leq \alpha _i\leq C,(i=1\sim N)

        (2)\sum_{i=1}^{N}\alpha _iy_i=0,(i=1\sim N)

如何求解这个对偶问题,同时基于对偶问题给出支持向量机算法的统一流程。

\varphi (X_i)^T\varphi (X_j)=K(X_i,X_j) (核函数)

只要知道核函数,就可以求个这个最优化的对偶问题。

求解了这个对偶问题后,解出了 \alpha (i=1\sim N)

可以根据上面的式子 \omega =\sum_{i=1}^{N}\alpha _iy_i\varphi (x_i)

由于 \varphi (x) 不知道是否具有显示表达,所以 \omega 也不知道是否具有显示表达。

无须知道 \omega 的显示表达,也可以通过核函数 K(X_1,X_2)\Rightarrow\omega ^TX+b 的值 

如何求b

由于 \omega =\sum_{j=1}^{N}\alpha _jy_j\varphi (X_j)

则 \omega^T\varphi (X_i) =\sum_{j=1}^{N}\alpha _jy_j\varphi (X_j)^T\varphi (X_i)

                       =\sum_{j=1}^{N}\alpha _jy_jK(X_j,X_i)

\varphi (X_j)^T\varphi (X_i)=K(X_i,X_j)

\alpha _i[1+\delta _i-y_i\omega ^T\varphi (X_i)-y_ib]=0

\beta _i\delta _i=0 \Rightarrow (c-\alpha _i)\delta _i=0

如果对某个 i,\alpha _i\neq 0 且 \alpha _i\neq c ,则根据KKT条件,必有 \delta _i=0 ;

1+\delta _i-y_i\omega ^T\varphi(X_i) -y_ib=0

y_i\omega ^T\varphi(X_i)

\Uparrow

\mathbf{=\sum_{j=1}^{N}\alpha _iy_iy_jK(X_j,X_i)}

只需要找一个 0<\alpha _i<c

b=\frac{1-\sum_{j=1}^{N}\alpha_jy_iy_jK(X_j,X_i)}{y_i }

对于一个测试样本X如何获得其预测的类别?

需要计算 \omega^T\varphi (X)+b ,将 \omega =\sum_{i=1}^{N}\alpha _jy_i\varphi (X_i) 代入,将会得到

\omega^T\varphi (X)+b =\sum_{i=1}^{N}\alpha _iy_i\varphi (X_i)^T\varphi (X)+b

                        =\sum _{i=1}^{N}\alpha _iy_iK (X_i,X)+b

即使不知道 \varphi (x) ,只知道 K(X_1,X_2) ,也可以算出 \omega ^TX+b

这一结论被称为——核函数系法(Kernel Trick)

可以得到如下判决标准:

如果 \sum _{i=1}^{N}\alpha _iy_iK (X_i,X)+b\geq 0 ,那么 X\in C_1

如果 \sum _{i=1}^{N}\alpha _iy_iK (X_i,X)+b< 0 ,那么 X\in C_2


基于对偶问题的求解,总结支持向量机训练的测试的流程

训练过程:

输入训练数据 \left \{ \left ( X_i,y_i \right ) \right \}i=1\sim N ,其中 y_i=\pm1

最大化:\theta (\alpha )=\sum_{i=1}^{N}\alpha _i\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}y_iy_j\alpha_i\alpha_j\varphi (X_i)^T\varphi (X_j)

限制条件:

(1)0\leq \delta _i\leq C,(i=1\sim N)

(2)\sum_{i=1}^{N}\alpha _iy_i=0,(i=1\sim N)

求b

找一个 \alpha _i\neq 0 且 \alpha _i\neq c ,则 b=\frac{1-\sum_{j=1}^{N}\alpha_jy_iy_jK(X_j,X_i)}{y_i }

测试过程

考察测试数据X,预测它的类别y。

如果 \sum _{i=1}^{N}\alpha _iy_iK (X_i,X)+b\geq 0 ,那么 y=+1

如果 \sum _{i=1}^{N}\alpha _iy_iK (X_i,X)+b< 0 ,那么 y=-1

这里只是用到了核函数 K(X_1,X_2)

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

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

相关文章

【WRF-Urban】城市冠层参数UCPs导入WPS/WRF中

城市冠层参数UCPs导入WPS/WRF中 Urban canopy parameters ingestion into WPS/ WRF关于建筑高度分布的分组数量GEOGRID.TBL 文件的配置是否需要修改 Registry 文件其他建议 参考 本博客主要总结WRF&MPAS-Aforum中有关城市冠层参数UCPs导入WPS/WRF的相关内容。原文章地址-Ur…

利用Python爬虫精准获取淘宝商品详情的深度解析

在数字化时代&#xff0c;数据的价值日益凸显&#xff0c;尤其是在电子商务领域。淘宝作为中国最大的电商平台之一&#xff0c;拥有海量的商品数据&#xff0c;对于研究市场趋势、分析消费者行为等具有重要意义。本文将详细介绍如何使用Python编写爬虫程序&#xff0c;精准获取…

Rook入门:打造云原生Ceph存储的全面学习路径(上)

文章目录 一.Rook简介二.Rook与Ceph架构2.1 Rook结构体系2.2 Rook包含组件2.3 Rook与kubernetes结合的架构图如下2.4 ceph特点2.5 ceph架构2.6 ceph组件 三.Rook部署Ceph集群3.1 部署条件3.2 获取rook最新版本3.3 rook资源文件目录结构3.4 部署Rook/CRD/Ceph集群3.5 查看rook部…

003 LVGL相关文件分析

LVGL移植相关文件&#xff1a; 显示设备接口文件 lv_port_disp_templ.c/输入设备接口文件 lv_port_indev_templ.c/h 裁剪、配置文件 lv_conf.h lv_conf.h文件内容介绍&#xff1a; 对应中文翻译版本&#xff1a; #if 1 /* 设置为1&#xff0c;以启…

C# 2024年Visual Studio实用插件集合

在2024年&#xff0c;Visual Studio作为.NET开发者的首选IDE&#xff0c;其插件生态不断壮大&#xff0c;为开发者提供了更高效、便捷的开发体验。本文将介绍一些实用的Visual Studio插件&#xff0c;特别是针对C#开发者&#xff0c;帮助提升开发效率和代码质量。 1. GitHub C…

汽车轮毂结构分析有哪些?国产3D仿真分析实现静力学+模态分析

本文为CAD芯智库原创&#xff0c;未经允许请勿复制、转载&#xff01; 之前分享了如何通过国产三维CAD软件如何实现「汽车/汽配行业产品设计」&#xff0c;兼容NX&#xff08;UG&#xff09;、Creo&#xff08;Proe&#xff09;&#xff0c;轻松降低企业上下游图纸交互成本等。…

关于Vscode配置Unity环境时的一些报错问题(持续更新)

第一种报错&#xff1a; 下载net请求超时&#xff08;一般都会超时很正常的&#xff09; 实际时并不需要解决&#xff0c;它对你的项目毫无影响 第二种报错&#xff1a; .net版本不匹配 解决&#xff1a;&#xff08;由于造成问题不一样&#xff0c;所以建议都尝试一次&…

iQOO Neo10系列携三大蓝科技亮相,性能与续航全面升级

11月29日&#xff0c;iQOO Neo10系列正式登场。作为iQOO Neo系列的最新力作&#xff0c;Neo10系列不仅延续了该系列一贯的“双芯”特色&#xff0c;更在性能、续航、屏幕、影像等多个方面实现了全面升级&#xff0c;为用户带来前所未有的使用体验。此次发布的Neo10系列共有两款…

NGO-CNN-BiGRU-Attention北方苍鹰算法优化卷积双向门控循环单元时间序列预测,含优化前后对比

NGO-CNN-BiGRU-Attention北方苍鹰算法优化卷积双向门控循环单元时间序列预测&#xff0c;含优化前后对比 目录 NGO-CNN-BiGRU-Attention北方苍鹰算法优化卷积双向门控循环单元时间序列预测&#xff0c;含优化前后对比预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介…

go的math/rand随机数生成器

伪随机数生成器&#xff0c;默认情况下随机数种子是固定的&#xff0c; **注意&#xff1a;**固定的随机数种子每次生成的随机数都是相同的随机数序列 一、基础用法 math/rand 包提供了随机数生成的方法。常用的函数包括&#xff1a; rand.Int()&#xff1a;返回一个伪随机…

Rust学习笔记_08——String

Rust学习笔记_05——控制流(1) Rust学习笔记_06——控制流(2) Rust学习笔记_07——枚举和范围 文章目录 字符串类型1. 字符串类型与字面量字符串1.1 字符串类型 (String)1.2 字面量字符串 (&static str) 2. &#xff08;字符串类型&#xff09;创建3. &#xff08;字符串类…

【HarmonyOS学习日志(11)】计算机网络之概念,组成和功能

文章目录 计算机网络概念计算机网络&#xff0c;互连网与互联网的区别计算机网络互连网互联网&#xff08;因特网&#xff0c;Internet&#xff09; 计算机网络的组成和功能计算机网络的组成从组成部分看从工作方式看从逻辑功能看 计算机网络的功能数据通信资源共享分布式处理提…

windows电脑上安装树莓派操作系统

在Windows电脑上安装树莓派通常涉及以下几个步骤:准备安装工具、下载树莓派系统镜像、烧录系统到SD卡、配置树莓派以及远程连接(如果需要无显示器操作)。以下是详细的步骤说明: 一、准备安装工具 安装树莓派官方烧录工具: 下载并安装Raspberry Pi Imager。这是一个官方的…

winform跨线程更新界面

前言&#xff1a; 大家好&#xff0c;我是上位机马工&#xff0c;硕士毕业4年年入40万&#xff0c;目前在一家自动化公司担任软件经理&#xff0c;从事C#上位机软件开发8年以上&#xff01;我们在开发C#程序的时候&#xff0c;有时候需要在非Ui主线程更新界面&#xff0c;为了…

shell编程基础笔记

目录 echo改字体颜色和字体背景颜色 bash基本功能&#xff1a; 运行方式&#xff1a;推荐使用第二种方法 变量类型 字符串处理&#xff1a; 条件判断&#xff1a;&#xff08;使用echo $?来判断条件结果&#xff0c;0为true&#xff0c;1为false&#xff09; 条件语句&a…

算法刷题Day5: BM52 数组中只出现一次的两个数字

描述&#xff1a; 一个整型数组里除了两个数字只出现一次&#xff0c;其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 要求&#xff1a;空间复杂度 O(1)&#xff0c;时间复杂度O(n)。 题目传送门 is here 思路&#xff1a; 方法一&#xff1a;最简单的思路就…

通俗易懂:序列标注与命名实体识别(NER)概述及标注方法解析

目录 一、序列标注&#xff08;Sequence Tagging&#xff09;二、命名实体识别&#xff08;Named Entity Recognition&#xff0c;NER&#xff09;**命名实体识别的作用****命名实体识别的常见实体类别** &#xff1a; 三、标签类型四、序列标注的三种常见方法1. **BIO&#xf…

大语言模型压缩技术;推理优化技术;SparseGPT算法;GPTQ算法

目录 大语言模型落地的成本、效率与效果 模型压缩技术 推理优化技术 SparseGPT算法 GPTQ算法 大语言模型落地的成本、效率与效果 模型压缩技术 模型压缩技术是大语言模型轻量化的关键。介绍了多种模型压缩方法,其中权重量化和模型稀疏化是两种主要的技术。 权重量化:权重…

wareshark分析mysql协议的数据包

使用wareshark 分析mysql协议的数据包&#xff0c;是每个dba都应该掌握的技能&#xff0c;掌握以后&#xff0c;就可以通过tcpdump抓包分析&#xff0c;得到连接报错的信息了。 tcpdump抓包命令&#xff1a; tcpdump -nn -i bond0 dst 10.21.6.72 and port 4002 -w 1129_tcpdu…

Shell脚本小练习

学习了这么长时间Shell脚本&#xff0c;总得来一次小小的练习吧&#xff0c;那么请看下文&#xff01; 1.用Shell写一个小计算器。 通过read命令获取用户输入的表达式&#xff0c;表达式的格式设定为操作数1 运算符 操作数2&#xff0c;例如53&#xff0c;然后利用设计的脚本…