线性可分支持向量机的原理推导 9-23拉格朗日乘子α的最大化问题 公式解析

ops/2024/10/24 18:58:13/

本文是将文章《线性可分支持向量机的原理推导》中的公式单独拿出来做一个详细的解析,便于初学者更好的理解。


公式 9-23 是支持向量机(SVM)优化过程中从最大化问题对偶问题的关键步骤之一。它将目标函数简化为关于拉格朗日乘子 α \alpha α 的最大化问题,并附加了一些重要的约束条件。我们将详细解释公式 9-23 的各个部分,包括目标函数和约束条件。

公式 9-23 的具体形式

公式 9-23 可以分为三行:

  1. 目标函数
    max ⁡ α 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) − ∑ i = 1 N α i \max_{\alpha} \quad \frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_i \alpha_j y_i y_j (\mathbf{x}_i \cdot \mathbf{x}_j) - \sum_{i=1}^{N} \alpha_i αmax21i=1Nj=1Nαiαjyiyj(xixj)i=1Nαi

  2. 约束条件 1
    ∑ i = 1 N α i y i = 0 \sum_{i=1}^{N} \alpha_i y_i = 0 i=1Nαiyi=0

  3. 约束条件 2
    α i ≥ 0 , i = 1 , 2 , … , N \alpha_i \geq 0, \quad i = 1, 2, \dots, N αi0,i=1,2,,N

现在,我们逐步解释公式 9-23。

1. 目标函数解释

原始目标:

首先,回顾原始问题,支持向量机的优化问题是通过最小化法向量 w \mathbf{w} w 的二次范数 1 2 ∥ w ∥ 2 \frac{1}{2} \|\mathbf{w}\|^2 21w2,同时满足分类约束条件:
y i ( w T x i + b ) ≥ 1 , i = 1 , 2 , … , N y_i (\mathbf{w}^T \mathbf{x}_i + b) \geq 1, \quad i = 1, 2, \dots, N yi(wTxi+b)1,i=1,2,,N

通过拉格朗日乘子法,优化问题被转换为一个关于拉格朗日乘子 α i \alpha_i αi 的对偶问题。

目标函数的推导过程:

回顾之前得到的公式 9-22,它是对偶问题的形式:
L ( α ) = − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) + ∑ i = 1 N α i L(\alpha) = -\frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_i \alpha_j y_i y_j (\mathbf{x}_i \cdot \mathbf{x}_j) + \sum_{i=1}^{N} \alpha_i L(α)=21i=1Nj=1Nαiαjyiyj(xixj)+i=1Nαi

在公式 9-23 中,我们进行最大化目标函数时,由于之前的公式是最小化的,我们将符号反转,从而得到新的目标函数:
max ⁡ α 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) − ∑ i = 1 N α i \max_{\alpha} \quad \frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_i \alpha_j y_i y_j (\mathbf{x}_i \cdot \mathbf{x}_j) - \sum_{i=1}^{N} \alpha_i αmax21i=1Nj=1Nαiαjyiyj(xixj)i=1Nαi

这个目标函数具有两部分:

  • 第一部分: 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) \frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_i \alpha_j y_i y_j (\mathbf{x}_i \cdot \mathbf{x}_j) 21i=1Nj=1Nαiαjyiyj(xixj)

    • 这是一个二次项,它描述了样本之间的相互作用,具体是通过拉格朗日乘子 α i α j \alpha_i \alpha_j αiαj、类别标签 y i y j y_i y_j yiyj、以及样本点的内积 ( x i ⋅ x j ) (\mathbf{x}_i \cdot \mathbf{x}_j) (xixj) 进行加权的。
    • 二次项通常出现在支持向量机优化问题中,它代表了支持向量之间的相互关系以及对决策边界的影响。
  • 第二部分: ∑ i = 1 N α i \sum_{i=1}^{N} \alpha_i i=1Nαi

    • 这是一个线性项,是所有拉格朗日乘子的加和。
    • 它的存在是为了调节整体优化过程,使得我们不会无限制地增加 α i \alpha_i αi 的值。
最大化问题的含义:
  • 最大化这个目标函数意味着我们希望找到最优的拉格朗日乘子 α i \alpha_i αi,使得目标函数达到最大值。
  • 在这个最大化过程中,只有那些 α i > 0 \alpha_i > 0 αi>0 的点(即支持向量)才对分类边界产生影响,其他 α i = 0 \alpha_i = 0 αi=0 的点不会对分类结果产生作用。

2. 约束条件解释

约束条件 1: ∑ i = 1 N α i y i = 0 \sum_{i=1}^{N} \alpha_i y_i = 0 i=1Nαiyi=0

这个约束条件表示拉格朗日乘子 α i \alpha_i αi 和类别标签 y i y_i yi 的加权和必须等于零。

原因:
  • 这个约束是从对 b b b 求导得到的结果(见公式 9-19)。
  • 它的物理意义是确保分类器的平衡,即在最优分类超平面上,正类样本和负类样本的权重达到某种平衡。
  • 通过这种平衡,我们确保超平面不会偏向任何一类,正类和负类的误分类率保持对称。
几何解释:

这个约束条件实际上反映了一个超平面平衡的问题。在支持向量机的优化过程中,正类和负类样本对分类器的贡献通过 α i \alpha_i αi y i y_i yi 的乘积来体现。当 ∑ i = 1 N α i y i = 0 \sum_{i=1}^{N} \alpha_i y_i = 0 i=1Nαiyi=0 时,正负类别对分类边界的影响处于平衡状态。

约束条件 2: α i ≥ 0 , i = 1 , 2 , … , N \alpha_i \geq 0, \quad i = 1, 2, \dots, N αi0,i=1,2,,N

这个条件要求每个拉格朗日乘子 α i \alpha_i αi 必须为非负值。

原因:
  • 根据拉格朗日乘子法的理论,对于不等式约束(即 y i ( w T x i + b ) ≥ 1 y_i (\mathbf{w}^T \mathbf{x}_i + b) \geq 1 yi(wTxi+b)1),拉格朗日乘子 α i \alpha_i αi 必须为非负。
  • α i = 0 \alpha_i = 0 αi=0 时,表示对应的样本点 x i \mathbf{x}_i xi 对超平面没有贡献,即这些点并不影响分类器的构建。
  • α i > 0 \alpha_i > 0 αi>0 时,表示对应的样本点 x i \mathbf{x}_i xi 是一个支持向量,对分类边界的构造起关键作用。
几何解释:

支持向量是那些距离分类超平面最近的样本点,它们对最终的分类边界产生了实际影响。这个约束确保了只有那些在超平面上或附近的样本点(即支持向量)才会对分类超平面有影响,而其他远离分类边界的样本点不会影响优化结果。

3. 公式 9-23 的整体意义

公式 9-23 的目标函数是通过拉格朗日乘子 α i \alpha_i αi 表示的对偶问题,目标是最大化一个与支持向量相关的函数,同时需要满足两个约束条件。这一过程是 SVM 中通过拉格朗日乘子法将原始问题(即最小化 ∥ w ∥ 2 \|\mathbf{w}\|^2 w2 的问题)转化为一个可以更高效求解的对偶问题。

  • 目标函数描述了支持向量之间的相互作用及其对分类边界的影响,最大化目标函数意味着找到最优的支持向量组合。
  • 第一个约束条件确保分类超平面的平衡,使得正负类样本对分类边界的影响保持均衡。
  • 第二个约束条件确保每个拉格朗日乘子 α i \alpha_i αi 非负,只有那些 α i > 0 \alpha_i > 0 αi>0 的样本点(即支持向量)才对最终的分类边界有影响。

总结

公式 9-23 是支持向量机优化的核心之一,通过最大化拉格朗日对偶问题中的目标函数并满足约束条件,我们可以找到支持向量并确定分类器的最优超平面。这个过程不仅有效地简化了原始问题的求解,还通过对偶问题的形式为进一步的扩展(如核方法)提供了基础。


http://www.ppmy.cn/ops/128131.html

相关文章

mac用户使用Windows的方法:虚拟机、远程桌面和迷你主机

🎉 前言 之前写了一篇博客,里面提到mac想要使用Windows系统可以使用远程桌面的方式连接服务器,今天不妨让我们把思路拓宽,看看还有哪些方法。 🎉 本质 我们通过远程桌面连接服务器,说到底不就是用本地电…

leetcode 3185. 构成整天的下标对数目 II 中等

给你一个整数数组 hours&#xff0c;表示以 小时 为单位的时间&#xff0c;返回一个整数&#xff0c;表示满足 i < j 且 hours[i] hours[j] 构成 整天 的下标对 i, j 的数目。 整天 定义为时间持续时间是 24 小时的 整数倍 。 例如&#xff0c;1 天是 24 小时&#xff0c…

Vue3 Echarts中国地图(包含轮播高亮区域)

vue3使用echarts去实现中国地图轮播高亮也是花了时间和精力的学习内容&#xff08;希望大家分享学习内容的时候 能够认真一点 不要贴一大堆代码上去 根本用不了 可以多写一些注释 谢谢。&#xff09; 我先直接贴代码 import { defineProps, ref, watch, onMounted, toRaw } fr…

在linux上部署ollama+open-webu,且局域网访问教程

在linux上部署ollamaopen-webu&#xff0c;且局域网访问教程 运行ollamaopen-webui安装open-webui &#xff08;待实现&#xff09;下一期将加入内网穿透&#xff0c;实现外网访问功能 本文主要介绍如何在Windows系统快速部署Ollama开源大语言模型运行工具&#xff0c;并使用Op…

GCC静态库与动态库链接顺序的深坑

有三个工程文件&#xff0c;A为SDL2动态库&#xff0c;B为基于A的静态库&#xff0c;C为基于A和B的主程序EXE&#xff0c;现在发现这个问题&#xff1a; 在C程序链接器命令的时候&#xff0c;通常像这种写法-lSDL2 -lLibB&#xff0c;此时就会报B报错找不到A中的函数&#xff…

Centos编写mysql备份脚本

1. 编写 MySQL 备份脚本 创建一个名为 backup.sh 的脚本&#xff0c;定期备份 fuint-food 数据库。 #!/bin/bash # 获取当前时间戳 TIMESTAMP$(date "%F-%H%M") # 备份存储路径 BACKUP_DIR"/path/to/backup/$TIMESTAMP" # MySQL 相关信息 MYSQL_USER&quo…

Linux运维篇-误操作已经做了pv的磁盘导致pv异常

目录 故障场景排错过程小结 故障场景 在对/dev/vdb1创建了pv并扩容至vg(klas)之后&#xff0c;不小心对/dev/vdb进行了parted操作&#xff0c;删除了/dev/vdb1导致pvs查看显示异常。具体过程如下所示&#xff1a; 正常创建pv 将创建好的pv添加到系统现有的卷组中 不小心又对…

怎么提取pdf的某一页?批量提取pdf的某一页的简单方法

怎么提取pdf的某一页&#xff1f;在日常工作与学习中&#xff0c;我们经常会遇到各式各样的PDF文件&#xff0c;它们以其良好的兼容性和稳定性&#xff0c;成为了信息传输和存储的首选格式。然而&#xff0c;在浩瀚的文档海洋中&#xff0c;有时某个PDF文件中的某一页内容尤为重…