【机器学习】支持向量机(SVM)的对偶性、核方法以及核技巧

引言

在SVM中,通过引入拉格朗日乘子,可以将原始问题转化为对偶问题,这种转换具有几个重要的优点,包括简化计算和提供更直观的优化问题的解释

文章目录

  • 引言
  • 一、支持向量机(SVM)的对偶性
    • 1.1 原始问题(Primal Problem)
    • 1.2 对偶问题(Dual Problem)
    • 1.3 对偶性的优点
    • 1.4 总结
  • 二、核方法
    • 2.1 基本概念
      • 2.1.1核函数
      • 2.1.2 隐式映射
    • 2.2 应用
      • 2.2.1 支持向量机(SVM)
      • 2.2.2 核岭回归(Kernel Ridge Regression)
      • 2.2.3 核主成分分析(Kernel PCA)
    • 2.3 优点
    • 2.4 局限性
    • 2.5 总结
  • 三、核技巧
    • 3.1 理解问题
    • 3.2 映射到高维空间
    • 3.3 核函数
    • 3.4 应用核技巧
    • 3.5 决策函数
    • 3.6 总结

在这里插入图片描述

一、支持向量机(SVM)的对偶性

支持向量机(SVM)的对偶性是指原始优化问题与对偶优化问题之间的等价性

1.1 原始问题(Primal Problem)

SVM的原始问题是寻找一个超平面,使得不同类别的样本被正确地分开,并且间隔最大。这可以表示为一个凸二次规划问题:
min ⁡ w , b 1 2 ∥ w ∥ 2 \min_{\mathbf{w}, b} \frac{1}{2} \|\mathbf{w}\|^2 w,bmin21w2
subject to:  y i ( w ⋅ x i + b ) ≥ 1 , ∀ i \text{subject to: } y_i (\mathbf{w} \cdot \mathbf{x}_i + b) \geq 1, \quad \forall i subject to: yi(wxi+b)1,i
其中, w \mathbf{w} w 是超平面的法向量, b b b是偏置项, x i \mathbf{x}_i xi是第 i i i个样本的特征向量, y i y_i yi是对应的标签(取值为 +1 或 -1)

1.2 对偶问题(Dual Problem)

通过引入拉格朗日乘子 α i ≥ 0 \alpha_i \geq 0 αi0,我们可以为每个约束构建拉格朗日函数 L ( w , b , α ) L(\mathbf{w}, b, \mathbf{\alpha}) L(w,b,α)
L ( w , b , α ) = 1 2 ∥ w ∥ 2 − ∑ i α i [ y i ( w ⋅ x i + b ) − 1 ] L(\mathbf{w}, b, \mathbf{\alpha}) = \frac{1}{2} \|\mathbf{w}\|^2 - \sum_i \alpha_i [y_i (\mathbf{w} \cdot \mathbf{x}_i + b) - 1] L(w,b,α)=21w2iαi[yi(wxi+b)1]
接下来,通过求解拉格朗日对偶问题,我们可以得到原始问题的等价形式:
max ⁡ α ∑ i α i − 1 2 ∑ i ∑ j α i α j y i y j x i ⋅ x j \max_{\mathbf{\alpha}} \sum_i \alpha_i - \frac{1}{2} \sum_i \sum_j \alpha_i \alpha_j y_i y_j \mathbf{x}_i \cdot \mathbf{x}_j αmaxiαi21ijαiαjyiyjxixj
subject to:  ∑ i α i y i = 0 , α i ≥ 0 , ∀ i \text{subject to: } \sum_i \alpha_i y_i = 0, \quad \alpha_i \geq 0, \quad \forall i subject to: iαiyi=0,αi0,i

1.3 对偶性的优点

  1. 简化计算:在对偶问题中,我们只需要优化关于 α \alpha α 的二次规划问题,而不是关于 w \mathbf{w} w b b b的原始问题
  2. 稀疏性:在最优解中,大多数 α i \alpha_i αi将为零,这意味着只有少数样本(支持向量)对决策函数有贡献
  3. 核技巧:通过对偶问题,可以方便地引入核函数,允许SVM在非线性特征空间中寻找最优超平面,而不需要显式地计算这些特征
  4. 解释性:对偶问题中的拉格朗日乘子 α i \alpha_i αi可以被解释为每个样本的重要性或权重

1.4 总结

总的来说,SVM的对偶性是机器学习中一个重要的理论结果,它不仅简化了SVM的训练过程,还为我们提供了对模型更深入的理解。通过利用对偶性,SVM在处理高维数据和复杂问题时表现出了强大的能力和灵活性

二、核方法

核方法(Kernel Methods)是一类在机器学习中使用的技术,它们利用核函数来隐式地在高维特征空间中执行计算,而无需直接在高维空间中进行操作。核方法广泛应用于支持向量机(SVM)、核岭回归(Kernel Ridge Regression)、核主成分分析(Kernel PCA)等多种学习算法中

2.1 基本概念

2.1.1核函数

核函数是核方法的核心,它能够计算两个输入样本在隐式映射到高维空间后的内积。常见的核函数包括:

  • 线性核 K ( x i , x j ) = x i T x j K(\mathbf{x}_i, \mathbf{x}_j) = \mathbf{x}_i^T \mathbf{x}_j K(xi,xj)=xiTxj
  • 多项式核 K ( x i , x j ) = ( γ x i T x j + r ) d K(\mathbf{x}_i, \mathbf{x}_j) = (\gamma \mathbf{x}_i^T \mathbf{x}_j + r)^d K(xi,xj)=(γxiTxj+r)d
  • 径向基函数(RBF)核 K ( x i , x j ) = exp ⁡ ( − γ ∥ x i − x j ∥ 2 ) K(\mathbf{x}_i, \mathbf{x}_j) = \exp(-\gamma \|\mathbf{x}_i - \mathbf{x}_j\|^2) K(xi,xj)=exp(γxixj2)
  • Sigmoid核 K ( x i , x j ) = tanh ⁡ ( γ x i T x j + r ) K(\mathbf{x}_i, \mathbf{x}_j) = \tanh(\gamma \mathbf{x}_i^T \mathbf{x}_j + r) K(xi,xj)=tanh(γxiTxj+r)
    其中, γ \gamma γ r r r d d d是核函数的参数

2.1.2 隐式映射

隐式映射指的是将原始特征空间中的数据点映射到一个高维特征空间的过程,这个过程通常是非线性的。在核方法中,我们不需要显式地知道这个映射函数,只需要知道如何计算核函数

2.2 应用

2.2.1 支持向量机(SVM)

在SVM中,核方法用于处理非线性分类问题。通过将数据映射到高维空间,并在该空间中寻找一个最优的超平面来分隔数据

2.2.2 核岭回归(Kernel Ridge Regression)

核岭回归是一种使用核方法的回归算法,它通过引入核函数来处理非线性回归问题

2.2.3 核主成分分析(Kernel PCA)

核PCA是一种使用核方法的降维技术,它可以将数据映射到高维空间,并在该空间中执行主成分分析,以捕获数据的非线性结构

2.3 优点

  • 处理非线性问题:核方法能够处理在原始特征空间中非线性可分的数据
  • 避免维度灾难:由于不需要显式地计算高维空间中的特征向量,核方法可以避免维度灾难问题

2.4 局限性

  • 计算复杂度:核矩阵的计算和存储可能会非常昂贵,特别是对于大规模数据集
  • 参数选择:选择合适的核函数和参数需要经验和实验

2.5 总结

核方法是机器学习中非常强大和灵活的工具,它们在处理复杂数据关系时显示出其独特的优势。通过巧妙地利用核函数,核方法能够将线性学习算法扩展到非线性领域,从而在多种不同的应用中发挥重要作用

三、核技巧

核技巧(Kernel Trick)是支持向量机(SVM)中的一个关键概念,它允许SVM在非线性特征空间中有效地进行学习,而无需显式地计算这些特征

3.1 理解问题

在许多实际问题中,数据不是线性可分的,这意味着无法通过一个简单的线性超平面来分隔不同类别的数据点。在这种情况下,我们需要将数据映射到一个更高维的空间,在这个空间中,数据可能是线性可分的

3.2 映射到高维空间

核技巧的核心思想是将原始特征向量 x \mathbf{x} x通过一个非线性映射函数 ϕ ( ⋅ ) \phi(\cdot) ϕ()映射到一个高维特征空间 H \mathcal{H} H。在这个高维空间中,我们希望找到一个线性超平面,能够分隔不同类别的数据

3.3 核函数

直接计算映射后的特征向量 ϕ ( x ) \phi(\mathbf{x}) ϕ(x)并在高维空间中求解线性SVM是一个计算上昂贵的过程。核技巧通过使用核函数 K ( x i , x j ) K(\mathbf{x}_i, \mathbf{x}_j) K(xi,xj)来避免这一步骤,核函数能够隐式地计算两个映射后特征向量的内积:
K ( x i , x j ) = ϕ ( x i ) ⋅ ϕ ( x j ) K(\mathbf{x}_i, \mathbf{x}_j) = \phi(\mathbf{x}_i) \cdot \phi(\mathbf{x}_j) K(xi,xj)=ϕ(xi)ϕ(xj)
这意味着我们不需要知道具体的映射函数 ϕ ( ⋅ ) \phi(\cdot) ϕ(),只需要知道如何计算两个映射后特征向量的内积

3.4 应用核技巧

在SVM训练过程中,核技巧的应用步骤如下:

  1. 选择一个合适的核函数
  2. 使用核函数计算训练集中所有样本对的内积,构建核矩阵 K K K
  3. 将核矩阵 K K K代入到对偶问题的优化公式中
  4. 解对偶问题,找到最优的拉格朗日乘子 α \alpha α
  5. 使用支持向量来构建决策函数

3.5 决策函数

最终,SVM的决策函数可以表示为:
f ( x ) = ∑ i ∈ SV α i y i K ( x i , x ) + b f(\mathbf{x}) = \sum_{i \in \text{SV}} \alpha_i y_i K(\mathbf{x}_i, \mathbf{x}) + b f(x)=iSVαiyiK(xi,x)+b
其中,SV 表示支持向量的集合

3.6 总结

通过核技巧,SVM能够高效地处理非线性问题,而不需要显式地计算高维空间中的特征向量。这使得SVM成为一个强大的机器学习工具,适用于多种复杂的数据集

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

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

相关文章

pacs图像打不开怎么办 --日常工作总结

先强调一下,我不是专门做图像入库和图像归档,我负责的是临床这边的影像,下面是占在我的业务日常分析总结的哈,(不太专业,勿喷) 我们经常会遇到在打开某个检查的时候,出现黑框,日志定位wado服务取不到图 这种情况一般分为 (1) 工作站,工作组,路由,存储卷配置缺失 ---对应的wad…

如何更改 Mac 上 Java 的默认版本?

优质博文:IT-BLOG-CN 第一次运行/usr/libexec/java_home -V将输出类似以下内容: Matching Java Virtual Machines (3): 1.8.0_05, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home 1.6.0_65-b14-4…

安装JKS格式证书

--千金易得 知己难求 本文介绍如何在Tomcat服务器配置JKS格式的SSL证书,具体包括下载和上传证书文件,在Tomcat上配置证书文件和证书密码等参数,以及安装证书后结果的验证。成功配置SSL证书后,您将能够通过HTTPS加密通道安全访问To…

音频检测电路 | 声音传感器模块 | 口哨开关 | Arduino

音频检测电路 | 声音传感器模块 | 口哨开关 | Arduino 案例分析电路设计1. **基本音频检测电路设计**电路结构:2. **灵敏度调节原理**方法:3. **非 MCU 控制的 LED 触发**设计步骤:4. **电路示例**5. **示意图(文本描述)**总结实验方法案例分析 一个硅胶娃娃,挤压或拍打…

Docker原理及实例

目录 一 Docker简介及部署方法 1.1 Docker简介 1.1.1 什么是docker? 1.1.2 docker在企业中的应用场景 1.1.3 docker与虚拟化的对比 1.1.4 docker的优势 2 部署docker 2.1 容器工作方法 2.2 部署第一个容器 2.2.1 配置软件仓库 2.2.2 安装docker-ce并启动服…

【经验分享】CANOPEN协议驱动移植(基于CANfestival源码架构)

【经验分享】CANOPEN协议驱动移植(基于CANfestival源码架构) 前言一、CANOPEN整体实现原理二、CANOPEN驱动收发三、Timer定时器四、Object Dictionary对象字典五、CANOPEN应用层接口六、CANOPEN 驱动移植经验总结 前言 本次CANOPEN移植基于CANfestival开源代码&…

SpringBoot中MyBatis使用自定义TypeHandler

😄 19年之后由于某些原因断更了三年,23年重新扬帆起航,推出更多优质博文,希望大家多多支持~ 🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Mi…

Spring Boot Web开发实践:响应参数的使用方法、IOC、DI和Bean基本介绍

主要介绍了SpringBootWeb响应参数的基本使用和spring框架的控制反转(IOC)和依赖注入(DI)以及Bean对象的声明、扫描、注入!!! 目录 前言 响应参数 分层解耦 三层架构 分层解耦 IOC & …

第15届蓝桥杯青少组Scratch初级组省赛真题试卷

第十五届蓝桥杯青少组省赛Scratch初级组真题试卷 题目总数:10 总分数:360 选择题 第 1 题 单选题 Scratch运行以下程序,角色会说( )? A.29 B.31 C.33 D.35 第 2 题 单选题 scratch运行下列哪个程序后,宇航…

RabbitMQ 集群与高可用性

目录 单节点与集群部署 1.1. 单节点部署 1.2. 集群部署 镜像队列 1.定义与工作原理 2. 配置镜像队列 3.应用场景 4. 优缺点 5. Java 示例 分布式部署 1. 分布式部署的主要目标 2. 典型架构设计 3. RabbitMQ 分布式部署的关键技术 4. 部署策略和实践 5. 分布式部署…

解决银河麒麟桌面操作系统V10(特别是2101版本)中无法通过interfaces设置网络

解决银河麒麟桌面操作系统V10(特别是2101版本)中无法通过interfaces设置网络 1、问题简述2、解决方案1. 尝试删除ppp文件、重启2. 使用NetworkManager 💖The Begin💖点点关注,收藏不迷路💖 1、问题简述 在…

day44——C++对C的扩充

八、C对函数的扩充 8.1 函数重载(overload) 1> 概念 函数重载就是能够实现"一名多用",是实现泛型编程的一种 泛型编程:试图以不变的代码,来实现可变的功能 2> 引入背景 程序员在写函数时&#x…

k8s的组件以及安装

目录 概念 k8s的使用场景 k8s的特点 核心组件 master主组件 1.kube-apiserver 2.etcd 3.kube-controller-manager 控制器 4.kube-scheduler node从节点组件 1.kubelet 2.kube-proxy 3.docker 总结 k8s的核心概念 安装k8s 架构 安装步骤 实验:创…

Linux学习笔记(4)----Debian压力测试方法

使用命令行终端压力测试需要两个实用工具:s-tui和stress sudo apt install s-tui stress 安装完成后,在终端中启动 s-tui实用工具: s-tui 执行后如下图: 你可以使用鼠标或键盘箭头键浏览菜单,然后点击“压力选项(Str…

Leetcode Day14排序算法

动态git可以看 :https://leetcode.cn/problems/sort-an-array/solutions/179370/python-shi-xian-de-shi-da-jing-dian-pai-xu-suan-fa/ 选择排序 def selection_sort(nums):n len(nums)for i in range(n):for j in range(i, n):if nums[i] > nums[j]:nums[i], nums[j] …

甲基化组学全流程生信分析教程

甲基化组学全流程分析和可视化教程 读取数据目录下的idat文件的甲基化全流程一键分析 功能简介 甲基化分析模块可以实现甲基化芯片450K, 870kEPIC数据的自动读取,可以读取idat文件,也可以读取beta甲基化矩阵文件甲基化数据的缺失值插值甲基化数据的质…

python测试框架之Pytest

初识Pytest Pytest1.Pytest的特点:2.Pytest的基本使用规则3.pytest安装1)使用编译器安装2)使用命令安装 4.pytest规则 Pytest Pytest是python的一个第三方单元测试库,它的目的是让单元测试变得容易,并且也能扩展到支持…

解析云上实时数仓的挑战与实践 | Databend @DTCC 2024 演讲回顾

8 月 22 日 ~ 24 日,由 IT168 联合旗下 ITPUB、ChinaUnix 两大技术社区主办的第 15 届中国数据库技术大会(DTCC2024)在北京朗丽兹西山花园酒店成功召开。本次大会以“自研创新 数智未来”为主题,通过深度交流与探讨,推…

如何在手机上设置国内代理IP地址:详细指南

在某些情况下,我们可能需要在手机上设置国内代理IP地址,以便访问特定的网络服务或提高网络连接的稳定性。本文将详细介绍如何在Android和iOS设备上设置代理IP地址。 在Android设备上设置代理IP地址 在Android设备上设置代理IP地址非常简单,只…

MYSQL:简述对B树和B+树的认识

MySQL的索引使用B树结构。 1、B树 在说B树之前,先说说B树,B树是一个多路平衡查找树,相较于普通的二叉树,不会发生极度不平衡的状况,同时也是多路的。 B树的特点是:他会将数据也保存在非叶子节点。而这个…