手推机器学习系列笔记——手推SVM(1)硬间隔、软间隔、约束优化问题、对偶性证明、KKT条件

本文主要是介绍手推机器学习系列笔记——手推SVM(1)硬间隔、软间隔、约束优化问题、对偶性证明、KKT条件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

笔记是听了b站大神的白板推导机器学习系列课,再结合李航老师的《统计学习方法》、周志华老师的西瓜书以及其他优秀博主的博客而成(浑然天成!!!):

https://space.bilibili.com/97068901?from=search&seid=9183191776664110144(大神的白板推导机器学习系列课传送门)

对于大神的课,我只能说太强了,讲的特别特别好!下面让我们开始吧!

考虑一个二分类问题,给定一些样本点,我们希望将这些样本分为两类。预期设定这些样本是可以分成两类的,或存在特异点(去除特异点后可被线性分为两类),或线性不可分三种情况,我们也将SVM(Support Vector Machines, SVM)分为三种,hard-margin SVM、soft-margin SVM以及kernel SVM。

SVM总结起来有三宝:间隔、对偶、核技巧。

原始的SVM是一个二元线性分类器,如图1所示,红线超平面将样本分为蓝色和红色两部分,三维情况下超平面的表达式为:W^{T}*x +b =0

                                                                                           图1:SVM图示 

SVM整体我将从六个部分来说明,手推SVM的第1部分主要包含以下几个方面:(第一部分已经基本包含了SVM的全部内容)

  • 硬间隔SVM(hard-margin SVM)
  • 软间隔SVM(soft-margin SVM)
  • 约束优化问题、对偶性、KKT条件
  • 核技巧SVM(kernel SVM) 简述

手推SVM的第2部分将详细讲述核技巧、SMO算法及python实现,第2部分侧重于对SVM进行补充。下面就让我们正式进入!

 

 

 注意,软间隔SVM相比于硬间隔SVM,只是加了一个loss作为罚项(我很喜欢数学里这个叫法),解约束优化问题的过程与硬间隔是一样的。

 (下面这张图有笔误,第三行应该为:max(A(\lambda ,\eta ))\leq minB((\lambda ,\eta ))

 

 好了,第一部分就到这里,下次再见~

这篇关于手推机器学习系列笔记——手推SVM(1)硬间隔、软间隔、约束优化问题、对偶性证明、KKT条件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/388750

相关文章

线上Java OOM问题定位与解决方案超详细解析

《线上JavaOOM问题定位与解决方案超详细解析》OOM是JVM抛出的错误,表示内存分配失败,:本文主要介绍线上JavaOOM问题定位与解决方案的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一、OOM问题核心认知1.1 OOM定义与技术定位1.2 OOM常见类型及技术特征二、OOM问题定位工具

Vue3绑定props默认值问题

《Vue3绑定props默认值问题》使用Vue3的defineProps配合TypeScript的interface定义props类型,并通过withDefaults设置默认值,使组件能安全访问传入的... 目录前言步骤步骤1:使用 defineProps 定义 Props步骤2:设置默认值总结前言使用T

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2

从原理到实战解析Java Stream 的并行流性能优化

《从原理到实战解析JavaStream的并行流性能优化》本文给大家介绍JavaStream的并行流性能优化:从原理到实战的全攻略,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的... 目录一、并行流的核心原理与适用场景二、性能优化的核心策略1. 合理设置并行度:打破默认阈值2. 避免装箱

解决升级JDK报错:module java.base does not“opens java.lang.reflect“to unnamed module问题

《解决升级JDK报错:modulejava.basedoesnot“opensjava.lang.reflect“tounnamedmodule问题》SpringBoot启动错误源于Jav... 目录问题描述原因分析解决方案总结问题描述启动sprintboot时报以下错误原因分析编程异js常是由Ja

Python实战之SEO优化自动化工具开发指南

《Python实战之SEO优化自动化工具开发指南》在数字化营销时代,搜索引擎优化(SEO)已成为网站获取流量的重要手段,本文将带您使用Python开发一套完整的SEO自动化工具,需要的可以了解下... 目录前言项目概述技术栈选择核心模块实现1. 关键词研究模块2. 网站技术seo检测模块3. 内容优化分析模

Java实现复杂查询优化的7个技巧小结

《Java实现复杂查询优化的7个技巧小结》在Java项目中,复杂查询是开发者面临的“硬骨头”,本文将通过7个实战技巧,结合代码示例和性能对比,手把手教你如何让复杂查询变得优雅,大家可以根据需求进行选择... 目录一、复杂查询的痛点:为何你的代码“又臭又长”1.1冗余变量与中间状态1.2重复查询与性能陷阱1.

Python内存优化的实战技巧分享

《Python内存优化的实战技巧分享》Python作为一门解释型语言,虽然在开发效率上有着显著优势,但在执行效率方面往往被诟病,然而,通过合理的内存优化策略,我们可以让Python程序的运行速度提升3... 目录前言python内存管理机制引用计数机制垃圾回收机制内存泄漏的常见原因1. 循环引用2. 全局变

MySQL 表空却 ibd 文件过大的问题及解决方法

《MySQL表空却ibd文件过大的问题及解决方法》本文给大家介绍MySQL表空却ibd文件过大的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录一、问题背景:表空却 “吃满” 磁盘的怪事二、问题复现:一步步编程还原异常场景1. 准备测试源表与数据

从基础到进阶详解Python条件判断的实用指南

《从基础到进阶详解Python条件判断的实用指南》本文将通过15个实战案例,带你大家掌握条件判断的核心技巧,并从基础语法到高级应用一网打尽,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录​引言:条件判断为何如此重要一、基础语法:三行代码构建决策系统二、多条件分支:elif的魔法三、