【机器学习】SVM中的约束优化问题证明

简介: 【机器学习】SVM中的约束优化问题证明

2021人工智能领域新星创作者,带你从入门到精通,该博客每天更新,逐渐完善机器学习各个知识体系的文章,帮助大家更高效学习。


概述

引言

之前我们在讲解支持向量机的时候,我们最初目标优化函数为:

m i n 1 2 w T w min\frac{1}{2}w^Twmin21wTw

s . t . y i ( w T x i + b ) ≥ 1 s.t. \quad y_i(w^Tx_i+b)\geq1s.t.yi(wTxi+b)1

由于是带有约束条件的优化,所以我们构造了拉格朗日函数:

L ( w , b , λ ) = 1 2 w T w + ∑ i = 1 m λ i ( 1 − y i ( w T x i + b ) ) L(w,b,\lambda)=\frac{1}{2}w^Tw+\sum_{i=1}^m\lambda_i(1-y_i(w^Tx_i+b))L(w,b,λ)=21wTw+i=1mλi(1yi(wTxi+b))

其中 λ i \lambda_iλi >=0。

在高数中我们学习过拉格朗日乘法是带有等式约束条件的,那么此时的不等式怎么搞呢?而且为什么 λ i \lambda_iλi 是大于0的呢?

下面来进行证明

约束优化证明

我们假设现有优化函数:

{ m i n f ( x ) s . t . g i ( x ) ≤ 0 ( i = 1 , 2 , . . . m ) s . t . h j ( x ) = 0 ( j = 1 , 2 , . . . n )

minf(x)s.t.gi(x)0(i=1,2,...m)s.t.hj(x)=0(j=1,2,...n){minf(x)s.t.gi(x)≤0(i=1,2,...m)s.t.hj(x)=0(j=1,2,...n)

minf(x)s.t.gi(x)0(i=1,2,...m)s.t.hj(x)=0(j=1,2,...n)

注意不等式的约束条件都要写成小于号,至于为什么是为了下面表达方便。

现在我们要构造拉格朗日函数:

L ( x , λ , η ) = f ( x ) + ∑ i = 1 m λ i g i ( x ) + ∑ j = 1 n η j h j ( x ) L(x,\lambda,\eta)=f(x)+\sum_{i=1}^m\lambda_ig_i(x)+\sum_{j=1}^n\eta_jh_j(x)L(x,λ,η)=f(x)+i=1mλigi(x)+j=1nηjhj(x)

其中 λ i \lambda_iλi 是大于等于0的数,而 η j \eta_jηj 可以为任何值的数。

现在拉格朗日函数已经构造出来了,那么接下来我们将带有约束条件的原问题就转化为了不带约束条件的优化函数。

不带约束条件的优化函数:

{ m i n x m a x λ , η L ( x , λ , η ) s . t . λ i ≥ 0

{minxmaxλ,ηL(x,λ,η)s.t.λi0{minxmaxλ,ηL(x,λ,η)s.t.λi≥0

{minxmaxλ,ηL(x,λ,η)s.t.λi0

下面给出证明为什么两个优化函数可以相互转换:

证明:

1.如果变量x违反了 g i ( x ) g_i(x)gi(x) 的约束条件,那么此时 g i ( x ) > 0 g_i(x)>0gi(x)>0 ,而 λ i \lambda_iλi 有时大于等于0的数,那么此时 m a x L ( x , λ , η ) maxL(x,\lambda,\eta)maxL(x,λ,η) 趋于正无穷,因为 g i ( x ) g_i(x)gi(x) 是正的,而且 λ i \lambda_iλi 可以为任何整数。

2.如果x服从 g i ( x ) g_i(x)gi(x) 的约束条件,那么此时 g i ( x ) ≤ 0 g_i(x)\leq0gi(x)0 ,而 λ i ≥ 0 \lambda_i\geq0λi0 ,那么它们两个异号,所以最大值就是乘积为0,所以此时的 m a x L ( x , λ , η ) = f ( x ) + ∑ j = 1 n η j h j ( x ) maxL(x,\lambda,\eta)=f(x)+\sum_{j=1}^n\eta_jh_j(x)maxL(x,λ,η)=f(x)+j=1nηjhj(x)

所以 m a x L ( x , λ , η ) = m a x ( + ∞ , f ( x ) + ∑ j = 1 n η j h j ( x ) ) = f ( x ) + ∑ j = 1 n η j h j ( x ) maxL(x,\lambda,\eta)=max(+\infty,f(x)+\sum_{j=1}^n\eta_jh_j(x))=f(x)+\sum_{j=1}^n\eta_jh_j(x)maxL(x,λ,η)=max(+,f(x)+j=1nηjhj(x))=f(x)+j=1nηjhj(x)

那么 m i n x m a x λ , η L ( x , λ , η ) = m i n f ( x ) + ∑ j = 1 n η j h j ( x ) min_xmax_{\lambda,\eta}L(x,\lambda,\eta)=min\quad f(x)+\sum_{j=1}^n\eta_jh_j(x)minxmaxλ,ηL(x,λ,η)=minf(x)+j=1nηjhj(x)

得到的式子就是带有等式的拉格朗日约束,即服从 h j ( x ) = 0 h_j(x)=0hj(x)=0 的条件下的约束,而且要得到 m i n x m a x λ , η L ( x , λ , η ) = m i n f ( x ) + ∑ j = 1 n η j h j ( x ) min_xmax_{\lambda,\eta}L(x,\lambda,\eta)=min\quad f(x)+\sum_{j=1}^n\eta_jh_j(x)minxmaxλ,ηL(x,λ,η)=minf(x)+j=1nηjhj(x) 这个优化函数的前提是第2点,x服从 g i ( x ) g_i(x)gi(x) 的约束条件,即 g i ( x ) ≤ 0 g_i(x)\leq0gi(x)0 ,那么这样就解释清楚了,我们不带优化函数的代数意义就是在服从不等式的条件下,且服从等式的条件下获得了:

{ m i n x m a x λ , η L ( x , λ , η ) s . t . λ i ≥ 0

{minxmaxλ,ηL(x,λ,η)s.t.λi0{minxmaxλ,ηL(x,λ,η)s.t.λi≥0

{minxmaxλ,ηL(x,λ,η)s.t.λi0


目录
相关文章
|
2月前
|
机器学习/深度学习 数据采集 数据挖掘
实战派教学:掌握Scikit-learn,轻松实现数据分析与机器学习模型优化!
【10月更文挑战第4天】Scikit-learn凭借高效、易用及全面性成为数据科学领域的首选工具,简化了数据预处理、模型训练与评估流程,并提供丰富算法库。本文通过实战教学,详细介绍Scikit-learn的基础入门、数据预处理、模型选择与训练、评估及调优等关键步骤,助你快速掌握并优化数据分析与机器学习模型。从环境搭建到参数调优,每一步都配有示例代码,便于理解和实践。
91 2
|
2月前
|
机器学习/深度学习 数据采集 数据挖掘
特征工程在营销组合建模中的应用:基于因果推断的机器学习方法优化渠道效应估计
因果推断方法为特征工程提供了一个更深层次的框架,使我们能够区分真正的因果关系和简单的统计相关性。这种方法在需要理解干预效果的领域尤为重要,如经济学、医学和市场营销。
69 1
特征工程在营销组合建模中的应用:基于因果推断的机器学习方法优化渠道效应估计
|
2月前
|
机器学习/深度学习 缓存 监控
利用机器学习优化Web性能和用户体验
【10月更文挑战第16天】本文探讨了如何利用机器学习技术优化Web性能和用户体验。通过分析用户行为和性能数据,机器学习可以实现动态资源优化、预测性缓存、性能瓶颈检测和自适应用户体验。文章还介绍了实施步骤和实战技巧,帮助开发者更有效地提升Web应用的速度和用户满意度。
|
2月前
|
机器学习/深度学习 算法 决策智能
【机器学习】揭秘深度学习优化算法:加速训练与提升性能
【机器学习】揭秘深度学习优化算法:加速训练与提升性能
|
3月前
|
机器学习/深度学习 安全 网络安全
利用机器学习优化网络安全威胁检测
【9月更文挑战第20天】在数字时代,网络安全成为企业和个人面临的重大挑战。传统的安全措施往往无法有效应对日益复杂的网络攻击手段。本文将探讨如何通过机器学习技术来提升威胁检测的效率和准确性,旨在为读者提供一种创新的视角,以理解和实施机器学习在网络安全中的应用,从而更好地保护数据和系统免受侵害。
|
2月前
|
机器学习/深度学习 算法
【机器学习】逻辑回归介绍(逻辑回归应用场景,原理,损失及优化详解!!!)
【机器学习】逻辑回归介绍(逻辑回归应用场景,原理,损失及优化详解!!!)
|
3月前
|
机器学习/深度学习 数据采集 存储
一文读懂蒙特卡洛算法:从概率模拟到机器学习模型优化的全方位解析
蒙特卡洛方法起源于1945年科学家斯坦尼斯劳·乌拉姆对纸牌游戏中概率问题的思考,与约翰·冯·诺依曼共同奠定了该方法的理论基础。该方法通过模拟大量随机场景来近似复杂问题的解,因命名灵感源自蒙特卡洛赌场。如今,蒙特卡洛方法广泛应用于机器学习领域,尤其在超参数调优、贝叶斯滤波等方面表现出色。通过随机采样超参数空间,蒙特卡洛方法能够高效地找到优质组合,适用于处理高维度、非线性问题。本文通过实例展示了蒙特卡洛方法在估算圆周率π和优化机器学习模型中的应用,并对比了其与网格搜索方法的性能。
315 1
|
4月前
|
机器学习/深度学习 存储 前端开发
实战揭秘:如何借助TensorFlow.js的强大力量,轻松将高效能的机器学习模型无缝集成到Web浏览器中,从而打造智能化的前端应用并优化用户体验
【8月更文挑战第31天】将机器学习模型集成到Web应用中,可让用户在浏览器内体验智能化功能。TensorFlow.js作为在客户端浏览器中运行的库,提供了强大支持。本文通过问答形式详细介绍如何使用TensorFlow.js将机器学习模型带入Web浏览器,并通过具体示例代码展示最佳实践。首先,需在HTML文件中引入TensorFlow.js库;接着,可通过加载预训练模型如MobileNet实现图像分类;然后,编写代码处理图像识别并显示结果;此外,还介绍了如何训练自定义模型及优化模型性能的方法,包括模型量化、剪枝和压缩等。
53 1
|
4月前
|
缓存 开发者 测试技术
跨平台应用开发必备秘籍:运用 Uno Platform 打造高性能与优雅设计兼备的多平台应用,全面解析从代码共享到最佳实践的每一个细节
【8月更文挑战第31天】Uno Platform 是一种强大的工具,允许开发者使用 C# 和 XAML 构建跨平台应用。本文探讨了 Uno Platform 中实现跨平台应用的最佳实践,包括代码共享、平台特定功能、性能优化及测试等方面。通过共享代码、采用 MVVM 模式、使用条件编译指令以及优化性能,开发者可以高效构建高质量应用。Uno Platform 支持多种测试方法,确保应用在各平台上的稳定性和可靠性。这使得 Uno Platform 成为个人项目和企业应用的理想选择。
70 0
|
4月前
|
API UED 开发者
如何在Uno Platform中轻松实现流畅动画效果——从基础到优化,全方位打造用户友好的动态交互体验!
【8月更文挑战第31天】在开发跨平台应用时,确保用户界面流畅且具吸引力至关重要。Uno Platform 作为多端统一的开发框架,不仅支持跨系统应用开发,还能通过优化实现流畅动画,增强用户体验。本文探讨了Uno Platform中实现流畅动画的多个方面,包括动画基础、性能优化、实践技巧及问题排查,帮助开发者掌握具体优化策略,提升应用质量与用户满意度。通过合理利用故事板、减少布局复杂性、使用硬件加速等技术,结合异步方法与预设缓存技巧,开发者能够创建美观且流畅的动画效果。
84 0