02 SVM - 拉格朗日乘子法

简介:

01 SVM - 概述

自变量无约束的求极值方法 - 梯度下降法

10 回归算法 - 梯度下降在线性回归中的应用
11 回归算法 - BGD、SGD、MBGD梯度下降
12 回归算法 - 手写梯度下降代码

梯度下降法(Gradient Descent, GD)常用于求解无约束情况下凸函数(Convex
Function)的极小值,是一种迭代类型的算法,因为凸函数只有一个极值点,故
求解出来的极小值点就是函数的最小值点。

1、有约束的最优化问题

最优化问题一般是指对于某一个函数而言,求解在其指定作用域上的全局最小值
问题,一般分为以下三种情况(备注:以下几种方式求出来的解都有可能是局部
极小值,只有当函数是凸函数的时候,才可以得到全局最小值):

1、无约束问题:求解方式一般求解方式梯度下降法、牛顿法、坐标轴下降法等。
2、等式约束条件:求解方式一般为拉格朗日乘子法。
3、不等式约束条件:求解方式一般为KKT条件。

左-无约束 中-等式约束  右-不等式约束

理解等式约束和不等式约束:

等值、不等值约束分析

2、拉格朗日乘子法

拉格朗日乘子法就是当我们的优化函数存在等值约束的情况下的一种最优化求解
方式;其中参数α被称为__拉格朗日乘子__。

分析上述公式:

拉格朗日乘子法 - 公式分析

3、理解拉格朗日乘子法

假设现在有一个二维的优化问题,求f(x,y)的最小值,同时有等值条件约束:

二维问题

分析上述公式:

拉格朗日乘子法 - 二维问题 - 公式分析

几何意义分析:

几何意义分析

直观感受一下曲面g(x,y) 和 f(x,y)相切的曲线:

曲面g(x,y) 和 f(x,y)相切的曲线

俯视图

参考文献: 拉格朗日乘数法的证明

4、拉格朗日乘子法的目的

拉格朗日乘子法的目的:为了定义一个新的无约束问题,等价于原来的有约束问题,从而将约束问题无约束化。泛拉格朗日函数有如下定义:

分析公式:
比起等值约束,转化后的函数L,在 f(x) 加 α项 的基础上,增加了不等式约束 __β项__。


$color{red}{凭什么可以让带有等值约束和不等值约束的函数转换成新的函数?}$
$color{red}{下面来说明这个问题。}$

1、原始问题

对于式子L(x,α,β) 来说,如果将x看做为常数,那么该函数为关于α、β的一个函数。若先求关于α、β的最大值,将α、β固定后,L(x,α,β) 就仅是一个关于x的函数。

定义:

固定x,求±,²最大值

那么有:

在满足约束条件时:

定义下面公式为原始问题:

同时定义:

分析原始问题的公式推导:

分析并推导上面的式子

回顾原始问题: 对于式子L(x,α,β) 来说,如果将x看做为常数,那么该函数为关于α、β的一个函数。若先求关于α、β的最大值,将α、β固定后,L(x,α,β) 就仅是一个关于x的
函数。

原始问题的不可解在于: 当x满足约束时,α和β对L是否能形成最大值起不到影响,而当x不满足约束时,最后L的最大值都是正无穷。

结论: $color{red}{在原始问题中直接求解α和β的值使L最大,不现实。}$


2、对偶问题

在优化问题中,目标函数f(x)存在多种形式,如果目标函数和约束条件都为变量x的线性函数,则称问题为__线性规划__;如果目标函数为二次函数,则称最优化问题为二次规划;如果目标函数或者约束条件为__非线性函数__,则称最优化问题为非线性优化。每个线性规划问题都有一个对应的__对偶问题__。对偶问题具有以下几个特性。

  1. 对偶问题的对偶是原问题;
  2. 无论原始问题是否是凸的,对偶问题都是凸优化问题;
  3. 对偶问题可以给出原始问题的一个下界;
  4. 当满足一定条件的时候,原始问题和对偶问题的解是完美等价的。

对于式子L(x,α,β) 来说,如果将α、β看做为常数,那么该函数为关于x的一个函数。若先求关于x的最小值,将x固定后,L(x,α,β) 就仅是一个关于α、β的函数。定义:

此时,原问题的对偶问题可以写作:

对偶问题等价于:

并定义:

分析上述对偶问题公式:

分析对偶问题公式


3、原始问题与对偶问题的关系

定理:

证明:

__结论:__对偶问题小于等于原始问题。
__预告:__当函数满足KKT条件的时候,对偶问题=原始问题。下章介绍KKT。

03 SVM - KKT条件

相关文章
|
6月前
|
机器学习/深度学习 自然语言处理 算法
多项式朴素贝叶斯分类器
本文介绍了多项式朴素贝叶斯分类器的工作原理,它基于多项分布而非高斯分布来估计类别概率。在文本分类等多类别问题中,该算法尤其适用。文章详细阐述了多项分布的概念,并通过实例解释了如何估计分布参数,包括使用平滑技巧处理未出现的特征。在分类过程中,使用对数空间计算以避免数值下溢。最后,文章通过scikit-learn展示了如何实际操作多项式朴素贝叶斯分类器。
59 2
|
机器学习/深度学习 数据可视化 Python
逻辑回归那些事—使用牛顿法解决实际问题
逻辑回归是机器学习中的重要章节,本文将带你从公式推导到算法实现详细讲述这部分内容,想学习这个高大上的技能么,快来看吧!!!
5484 0
|
6月前
|
机器学习/深度学习 算法 调度
多元线性回归梯度下降法
梯度下降法是一种通用的优化算法,尤其适用于机器学习中找到最优解。与解析解法不同,它不局限于特定情况,能在数据规模较大时依然有效。该方法通过迭代逐步接近最优解,每次迭代利用损失函数的梯度信息调整参数。学习率是控制参数更新幅度的关键因素,太大会导致发散,太小则收敛慢。全量梯度下降每次使用所有样本更新,收敛稳定但速度慢;随机梯度下降每次仅用一个样本,速度快但可能产生较大波动;小批量梯度下降取两者之间,以一定的样本批量进行更新,兼顾速度和稳定性。
68 1
|
数据采集 算法 Python
[模型]拉格朗日插值法
[模型]拉格朗日插值法
最优化理论(二)拉格朗日乘子法
最优化理论(二)拉格朗日乘子法
176 0
曲线拟合-最小二乘法
线性最小二乘法及matlab例程
|
人工智能 开发者
拉格朗日乘子法 | 学习笔记
快速学习拉格朗日乘子法
130 0
拉格朗日乘子法 | 学习笔记
|
人工智能 开发者
求解拉格朗日乘子法 | 学习笔记
快速学习求解拉格朗日乘子法
143 0
求解拉格朗日乘子法 | 学习笔记
|
机器学习/深度学习
拉格朗日对偶
拉格朗日对偶
拉格朗日对偶