1. 感知机原理(Perceptron)

2. 感知机(Perceptron)基本形式和对偶形式实现

3. 支持向量机(SVM)拉格朗日对偶性(KKT)

4. 支持向量机(SVM)原理

5. 支持向量机(SVM)软间隔

6. 支持向量机(SVM)核函数

1. 前言

在约束最优化问题中,常常利用拉格朗日对偶性将原始问题转化为对偶问题,通过求解对偶问题获得原始问题的解。该方法应用在许多统计学方法中,如最大熵模型、支持向量机。

2. 原始问题

假设\(f(x),c_i(x),h_j(x)\)是定义在\(R^n\)上的连续可微函数。考虑如下最优化问题

\[
\min_{x\in R^n}f(x)\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;(1)
\]

\[
s.t. \; c_i(x)\leq0, \; i=1,2,...,k
\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; (2)
\]

\[
\;\;\;\;\;\;\; h_j(x)=0, \; j=1,2,...,l
\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; (3)
\]
称此约束最优化问题为原始最优化问题或原始问题

引入广义拉格朗日函数

\[
L(x,\alpha,\beta)=f(x)+\sum_{i=1}^k\alpha_ic_i(x)+\sum_{j=1}^l\beta_jh_j(x)
\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; (4)
\]
这里, \(\alpha_i,\beta_j\)是拉格朗日乘子,\(\alpha_i≥0\). 考虑\(x\)的函数,这里下标\(P\)表示原始问题。

\[
\theta_P(x)=\max_{\alpha,\beta;\alpha_i\geq0}L(x,\alpha,\beta)
\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; (5)
\]

容易得到:当\(x\)满足原始问题约束时,\(\theta_P(x)=f(x)\),则可得到与原始优化问题想等价的极小化问题如下:

\[
\min_{x}\theta_P(x)=\min_{x}\max_{\alpha,\beta;\alpha_i\geq0}L(x,\alpha,\beta)
\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; (6)
\]
此问题称为广义拉格朗日函数的极小极大问题

定义原始问题的最优值

\[
p^*=\min_{x}\theta_P(x)
\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; (7)
\]

3. 对偶问题(dual problem)

关于对偶问题,我们首先定义:

\[
\theta_D(\alpha,\beta)=\min_{x}L(x,\alpha,\beta)
\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; (8)
\]

再考虑极大化上式:

\[
\max_{\alpha,\beta;\alpha_i\geq0}\theta_D(\alpha,\beta)=\max_{\alpha,\beta;\alpha_i\geq0}\min_{x}L(x,\alpha,\beta)
\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; (9)
\]
问题\(\max_{\alpha,\beta;\alpha\geq0}\min_{x}L(x,\alpha,\beta)\)称为广义拉格朗日函数的极大极小问题。可将广义拉格朗日函数的极大极小问题表示为约束最优化问题:

\[
\max_{\alpha,\beta}\theta_D(\alpha,\beta)=\max_{\alpha,\beta}\min_{x}L(x,\alpha,\beta)
\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; (10)
\]
\[
s.t.\;\alpha_i\geq0,\; i=1,2,...,k
\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; (11)
\]

称为原使问题的对偶问题。定义对偶问题的最优值,称为对偶问题的值。

\[
d^*=\max_{\alpha,\beta;\alpha_i\geq0}\theta_D(\alpha,\beta)
\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; (12)
\]

4. 原始问题和对偶问题的关系

4.1 定理1

若原始问题和对偶问题都有最优值,则

\[
d^*=\max_{\alpha,\beta;\alpha_i\geq0}\min_{x}L(x,\alpha,\beta)\leq\min_{x}\max_{\alpha,\beta;\alpha_i\geq0}L(x,\alpha,\beta)=p^*
\]

4.2 推论1

设\(x^*\)和\(\alpha^*,\beta^*\)分别是原始问题(公式1~3)和对偶问题(公式10~11)的可行解,并且\(d^*=p^*\),则\(x^*\)和\(\alpha^*,\beta^*\)分别是原始问题和对偶问题的最优解。

4.3 定理2

考虑原始问题(公式1~3)和对偶问题(公式10~11). 假设函数\(f(x)\)和\(c_i(x)\)是凸函数,\(h_j(x)\)是仿射函数1; 并且假设不等式约束\(c_i(x)\)是严格可行的, 即存在\(x\), 对所有\(i\)有\(c_i(x)<0\), 则存在\(x^*,\alpha^*,\beta^*\)使\(x^*\)是原始问题的解, \(\alpha^*,\beta^*\)是对偶问题的解,并且

\[
p^*=d^*=L(x^*,\alpha^*,\beta^*)
\]

4.4 定理3

对原始问题(公式1~3)和对偶问题(公式10~11), 假设函数\(f(x)\)和\(c_i(x)\)是凸函数,\(h_j(x)\)是仿射函数,并且不等式约束\(c_i(x)\)是严格可行的, 则\(x^*\)和\(\alpha^*,\beta^*\)分别是原始问题和对偶问题的解的充分必要条件是\(x^*,\alpha^*,\beta^*\)满足KKT条件:
\[
\nabla_xL(x^*,\alpha^*,\beta^*)=0
\]

\[
\nabla_\alpha L(x^*,\alpha^*,\beta^*)=0
\]

\[
\nabla_\beta L(x^*,\alpha^*,\beta^*)=0
\]

\[
\alpha_i^*c_i(x^*)=0, \; i=1,2,...,k
\]

\[
c_i(x^*)\leq0, \; i=1,2,...,k
\]

\[
\alpha_i^*\geq0, \; i=1,2,...,k
\]

\[
h_j(x^*)=0, \; j=1,2,...,l
\]

3. 支持向量机(SVM)拉格朗日对偶性(KKT)的更多相关文章

  1. 机器学习之支持向量机—SVM原理代码实现

    支持向量机—SVM原理代码实现 本文系作者原创,转载请注明出处:https://www.cnblogs.com/further-further-further/p/9596898.html 1. 解决 ...

  2. 复习支持向量机(SVM)没空看书时,掌握下面的知识就够了

    支持向量机(support vector machines, SVM)是一种二类分类模型.它的基本模型是定义在特征空间上的间隔最大的线性分类器:支持向量机还包括核技巧,这使它成为实质上的非线性分类器. ...

  3. 转:机器学习中的算法(2)-支持向量机(SVM)基础

    机器学习中的算法(2)-支持向量机(SVM)基础 转:http://www.cnblogs.com/LeftNotEasy/archive/2011/05/02/basic-of-svm.html 版 ...

  4. 机器学习-支持向量机SVM

    简介: 支持向量机(SVM)是一种二分类的监督学习模型,他的基本模型是定义在特征空间上的间隔最大的线性模型.他与感知机的区别是,感知机只要找到可以将数据正确划分的超平面即可,而SVM需要找到间隔最大的 ...

  5. 拉格朗日对偶性(Lagrange duality)

    目录 拉格朗日对偶性(Lagrange duality) 1. 从原始问题到对偶问题 2. 弱对偶与强对偶 3. KKT条件 Reference: 拉格朗日对偶性(Lagrange duality) ...

  6. 机器学习支持向量机SVM笔记

    SVM简述: SVM是一个线性二类分类器,当然通过选取特定的核函数也可也建立一个非线性支持向量机.SVM也可以做一些回归任务,但是它预测的时效性不是太长,他通过训练只能预测比较近的数据变化,至于再往后 ...

  7. 线性可分支持向量机--SVM(1)

    线性可分支持向量机--SVM (1) 给定线性可分的数据集 假设输入空间(特征向量)为,输出空间为. 输入 表示实例的特征向量,对应于输入空间的点: 输出 表示示例的类别. 线性可分支持向量机的定义: ...

  8. 支持向量机(SVM)原理详解

    SVM简介 支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机:SVM还包括核技巧, ...

  9. 机器学习——支持向量机SVM

    前言 学习本章节前需要先学习: <机器学习--最优化问题:拉格朗日乘子法.KKT条件以及对偶问题> <机器学习--感知机> 1 摘要: 支持向量机(SVM)是一种二类分类模型, ...

随机推荐

  1. Ubuntu菜鸟入门(十一)—— windows 和 ubuntu时间冲突解决

    一.问题原由 Ubuntu和Windows默认的时间管理方式不同,所以双系统发生时间错乱是正常的 Ubuntu默认时间是把BIOS时间当成GMT+0时间,也就是世界标准时,而我国在东八区(GMT+8) ...

  2. AndroidStudio 编译异常java.lang.OutOfMemoryError: GC overhead limit exceeded

    在build.gradle中的android{}添加如下脚本就可以顺利编译了 dexOptions { incremental true javaMaxHeapSize “4g” }

  3. 'Agent XPs' component is turned off as part of the security configuration for this server

    To turn on Agent XP's by running this script: sp_configure 'show advanced options', 1; Go RECONFIGUR ...

  4. Android 自定义可拖拽View,界面渲染刷新后不会自动回到起始位置

    以自定义ImageView为例: /** * 可拖拽ImageView * Created by admin on 2017/2/21. */ public class FloatingImageVi ...

  5. SharePoint 2013 实现多级审批工作流

    上一篇介绍了安装和配置SharePoint 2013 Workflow,这一篇将用SharePoint 2013 Designer Workflow来实现一个多级审批工作流. 审批工作流介绍 这个De ...

  6. Linux中在防火墙中开启80端口的例子

    最近自己在学习Linux.搭建一个LNMP环境.在测试时一切都好.然后重启Linux后.再次访问网站无法打开.最终原因是在防火墙中没有加入 80 端口的规则.具体方法如下: 在CentOS下配置ipt ...

  7. 移动硬盘做pe启动盘

  8. matlab入门笔记(七):数据文件I/O

  9. how-to-convert-string-to-localdate

    Few Java examples show you how to convert a String to the new Java 8 Date API – java.time.LocalDate ...

  10. Django form入门详解--2

    调整form的输出格式: 默认情况下form的格式化输出是基本table的样式的.但是django中还是为form提供发别的输出样式 1.默认的table样式输出 <html> <h ...