当前课程知识点:运筹学 >  6. 图与⽹络分析 >  6.7 指派问题 >  课程学习方法3

返回《运筹学》慕课在线视频课程列表

课程学习方法3在线视频

返回《运筹学》慕课在线视频列表

课程学习方法3课程教案、知识点、字幕

好 这个问题解决完之后

我们还会遇到一个实际的问题

这个问题

可以说是

真真正正是困扰我们

实际上很多这个人工智能

或者是刚才提到的

一系列什么

逼近问题里面真真正正的一个问题

那么在这里面

我们要考虑到

这个问题会不会产生过拟合

我们为了保证

不要出现过度拟合的这种

过度训练的问题

也就说我们往往是过度地关心了

在样本上的对应的误差

使得这个推广性差了一点

那这个时候

我们怎么做

注意

这有点艺术性的味道在里面

它实际上

并没有说 真正地

一定说这个就是合理的

我们解决问题的办法

途径就是极小化

这个基函数的个数

这里面为什么要极小化基函数的个数

就是这个问题

它同时有两个目标

第一个目标

我们要让我们这个在所有的

对应的样本上的误差尽可能小

你不能到最后

你拟合一个在样本上测试误差都太大的

那肯定是你连基本的测试样本

这个给你的样本

你都搞不定

你说我可以做其他方面更好的

这根本不太可能

另外一个目标是什么

就尽可能的让我这个函数

尽可能的简单

这个里面的实际上是有点

大家可能听过一个叫奥姆剃刀原理

这个就是翻译成同样跟运筹学

类似的一个话 就是

叫"若非必要勿增实体"

就这么一个意思 什么意思

就是说我们认为简单的就是美的

也就说我们通过控制

这个基函数的数量来保证这个

所以大家以前可能听过一句话

就是我们在这个深度学习高潮

来的之前的时候

我们更多是统计学习里面用的很多理念

就是同时使得

经验风险和结构风险最小化

同时最小化

这是两个相互矛盾的一个目标

把它结合到一块

怎么结合到一块

这个加权的办法就可以

你看在这个问题里面是第一项

大家看这个第一项

这个第一项里面

实际上 跟我们前面看到的

这个是一样的

只不过我们在这里是加了一个σ

这个σi在这里面

就是我们在每一个

基函数的线性组合

前面加的那么一个参数

同时在后面

再加一个对每一个σi

你不有这个对应的m个基吗

这m个基每个对应的这个σi

我再把它求和

然后

加一个w系数把这两个同时给它

通过加权的方式统计到一块去

一起求这个最小值

但是这个σi

这个刚才加进来的

它可不是像θ一样的连续的一个

决策变量了

它只取两个值

要么是0

要么是1

这个好处在哪

可以看到

在这个整个过程中

如果说你不顾及这个对应每一个基函数的数量

你让每个基函数上

前面那个σi

都等于1 那就说让那个基函数尽可能的多

也就意味着它可能尽可能的复杂

那这个时候

那我们每个σi都等于1

那求和就1到m把它求和起来

再乘一个系数w

这后面的一项就非常大

前面这块你再小后面这块也下去

整体的目标函数值就比较大

但是为了保证

尽可能地简单

那你就让这个σi尽可能地等于0

那太简单了吧

那可能使得前面这个误差项又大了

所以最后下来

一定会权衡到一个

最后下来

真真正正来说

就两边同时都达到一个

就是不要说你高

我就低一点

大家一起都尽可能的小

所以这个时候得到一个权衡

这个是我们解决问题的一个基本思路

好 这个思路讲到这儿

可能我们在刚才所涉及到的

在所有的跟人工智能优化问题里面

相关的都是这样的一个事情

本质是

但是这样的一个优化问题

根本没有办法求解

因为它太困难了

你可以看到这里面

如果p取的

又不是这个无穷范数

取的是一般性的范数

那么这整个里面

你很难说

把这个再拆成

像刚才等效成的线性规划的问题了

那么如果是一般性里面

又有连续的

又有离散的变量

这个取0-1变量

这样的混合优化问题

是极其难求解的

所以

如果说这个问题这么好求解

那我们所有人工智能问题

没什么可研究的了对吧

但实际来说

就是因为这么直观地通过建模

这是个直观地把一个问题

从最开始到最后

所有的求解过程都给它求解过来的

整套思路

到这整套思路全套都做完了

但是得到这个问题在理论上有价值

但是实际来说

它实际意义几乎没有

因为这个优化问题你求解不了

它虽然这个建模过程

很直观

也很容易理解

但实际上

它是无效的

那么真正在做的过程中的时候

实际上大家花很大功夫力气要做

我们说这样一个

连续变量和离散变量混合的

一个一般性的优化问题

我通过什么样的办法

而且有约束条件

这不是没有约束条件的

因为σi是取0-1的变量的

而且可能还有其他的一些问题

有更复杂的约束加在里面

这样的问题

加进来之后

我有没有别的办法

通过像刚才

把这个无穷范数转化为

线性规划问题一样的解决问题思路

我们可以把这个问题

转化成更容易求解的

甚至来说

当然更有价值

我从问题本身出发

比如说发现它是个

视觉上的一个优化问题

我怎么样去考虑说

其他的一些特征的选择等等

我把它变得更加容易求解

这才是更有价值的地方

所以

通过这个例子的数学规划模型

我们就可以得到如下一些认识

比如说我把基函数给你了

什么叫基函数给定

就是它是什么形态的

里面参数是多少

我都给他 像高斯核函数

它的对应的核函数的宽度是多少

然后对应的

在什么位置

我都给你了

数量也给你了

那这个时候都可以看到

那么我们刚才已经讲了

它可以把一个问题

变成一个线性规划问题

这种线性规划问题是容易求解的

而且是可以得到全局最优解的

但是往下来

如果只给定

优化的基函数

就是我说它就是一个

由我们所说的待定的一个参数

所构成的一个非线性函数

那么咱们说到了

这个就是个非线性规划问题了

我们后面通过学习可以看到

它是比较难的

通常只能获得一个局部的最优解

当然

为了使得问题更加靠近实际

解决这个过拟合的问题

那它就是一个

也是一个非线性规划

而且是0-1

有这个连续和离散变量 混到一块的

这个基本是非常难的

就基本是不能做了

只能获得一个较好或者满意的解

就是它到底是不是全局最优

甚至局部最优

你都不能保证 只说

你差不多就行了

那是不是这个全局最优就更不要奢望了

所以在整个过程中

我们可以看到在解决实际问题的时候

这种解决问题的思路是可以参考的

这种认知的那个过程

我们可以选择合适的模型

所以通过这个例子

我们可以看到就是我们怎么学

可千万不要说

这算法

我会做了

其实根本不用 大家想想

这个Matlab里面 包括Python里面

这样的所有的那个算法程序都有了

我们不是应付考试就拉倒了

实际上来说

咱们在这个学的过程中的更多的时候

你说光会把这个算法会做了

这个价值不大

更多的时候是

这个已经有的模型到底有什么特点

它会构成你

去解决未知问题的某一种

所谓的基函数对吧

你通过它的组合

可以解决更复杂更困难的问题

然后这个问题的求解思路是怎么来的

这样有利于你们去研发出一个

更新的一个算法

我们这个课

这个组织的过程 是先讲线性规划

然后

我会讲

它的一些的更一般的推广特例

比如说我会讲到这个

对应的整数规划 当然也是

线性整数规划

然后再讲非线性规划

当然包括一些动态规划的问题

然后

我们又回到这个网络流问题

网络流问题你会发现

它实际上来说

它本质都是线性规划问题

但是为什么要在图上去做呢

因为我们有这个线性规划的

一些模型的特点

之后

结合到这个网络上

我们就一些很具体的问题

比如咱们说的最小费用流问题

因为它很特殊

我们还可以进一步挖掘

然后得到更高效的算法

那么得到的算法就会看到它比一般性的

当求解到了后面这个比如说像

运输问题的时候

甚至说这个指派问题的时候

那效率比这个线性规划的单纯形法

还要高出很多很多倍

这才是更有价值的

所以我们这门课更多的时候

不是说大家满足到知识

这点就行了

知识必须有 你没有知识

就像我刚才说的

你基函数都没有

你怎么去构建你的非线性函数

是不可能的

同时

更重要的在知道知识的情况下

一定要知道

这些知识它们之间的关系是什么样子的

然后

所有的这个

知识里面的算法它是怎么来的

这种启发性的方式能让你

后面面对新问题的时候

是有具备创造新算法

开发出新的一些模型

研究出新算法的这种能力的

运筹学课程列表:

1. 绪论

-课程主要内容1

-课程主要内容2

-课程学习方法1

-课程学习方法2

-课程学习方法3

-作业-绪论

2. 线性规划

-2.1 ⼀般模型和标准模型

--2.1.1 线性规划模型

--2.1.2 线性规划的标准模型

--作业-线性规划模型

-2.2 低维问题图解法及其向⾼维的推⼴

--2.2.1 低维问题的图解法1

--2.2.2 低维问题的图解法2

--2.2.3 从低维问题分析线性规划问题的最优解特点1

--2.2.4 从低维问题分析线性规划问题的最优解特点2

--作业-低维问题的图解法

--2.2.5 凸集

--2.2.6 凸集的顶点

--2.2.7高维问题顶点的等价表述1

--2.2.8高维问题顶点的等价表述2

--2.2.9推广到高维的重要概念与性质

--作业-高维问题及其性质

-2.3 单纯形算法

--2.3.1在顶点中搜索最优解的算法

--2.3.2计算选定进基变量的基本可行解

--2.3.3保可行性的最小非负比值原理

--2.3.4无非负比值的情况

--作业-单纯形算法1

--2.3.5选择进基变量改进目标函数1

--2.3.6选择进基变量改进目标函数2

--2.3.7单纯形表

--2.3.8最优性判据

--2.3.9单纯形算法的基本步骤

--作业-单纯形算法2

--2.3.10单纯形算法的收敛性

--2.3.11退化情况1

--2.3.12退化情况2

--2.3.13初始基本可行解的确定方法

--2.3.14基于逆矩阵迭代的单纯形算法

--作业-单纯形算法3

-2.4 对偶性与对偶算法

--2.4.1线性规划对偶问题概述

--2.4.2标准线性规划的对偶问题

--2.4.3一般形式线性规划的对偶问题

--2.4.4原问题与对偶问题的互补松弛性1

--2.4.5原问题与对偶问题的互补松弛性2

--作业-对偶性与对偶算法1

--2.4.6影子价格1

--2.4.7影子价格2

--2.4.8对偶单纯形法1

--2.4.9对偶单纯形法2

--2.4.10对偶单纯形法3

--2.4.11对偶单纯形法4

--作业-对偶性与对偶算法2

-2.5 灵敏度分析

--2.5.1灵敏度分析

--2.5.2参数线性规划

3. 整数线性规划

-3.1 整数线性规划的数学模型

--整数线性规划概述

--作业-整数规划概述

-3.2 割平⾯法

--3.2.1割平面法的基本原理

--3.2.2割平面的构造方法1

--3.2.3割平面的构造方法2

--3.2.4割平面方法例题1

--3.2.5割平面方法例题2

--作业-割平面法

-3.3 分枝定界法

--3.3.1分枝定界法1

--3.3.2分枝定界法2

--作业-分枝定界法

-3.4 0-1变量的作⽤

--3.4.1 0-1变量的作用1

--3.4.2 0-1变量的作用2

--作业-0-1变量的作用

4. 动态规划

-4.1 动态规划基本概念

--4.1.1动态规划基本概念

--4.1.2动态规划的无后效性

-4.2 最优性原理

--动态规划的最优性原理及计算量

-4.3 建模与求解

--4.3.1动态规划解非线性规划问题1

--4.3.2动态规划解非线性规划问题2

--4.3.3连续变量离散化求解

--4.3.4动态规划解整数规划问题

-4.4 典型应⽤问题

--如何满足动态规划的无后效性

-4.5 不定期动态规划问题

--4.5.1不定期问题

--4.5.2值迭代法

--4.5.3策略迭代法1

--4.5.4策略迭代法2

-作业-动态规划

5. ⾮线性规划

-5.1 基础知识

--5.1.1 非线性规划概述

--5.1.2 局部最优解与全局最优解

--5.1.3 梯度与海塞矩阵

--5.1.4 泰勒展开

--5.1.5 凸函数和凹函数

--5.1.6 多元凸函数的判别

--5.1.7 多元凸函数与一元凸函数的关系

--5.1.8 凸函数的一阶条件

--5.1.9 凸函数的二阶条件

--5.1.10 凸规划问题

--5.1.11求解非线性规划的基本方法

--作业-非线性规划基础知识

-5.2 ⼀维搜索

--5.2.1 一维精确搜索的性质

--5.2.2 精确搜索的基本途径

--5.2.3 0.618法

--5.2.4 Fibonacci法

--5.2.5 利用导数的精确搜索法

--5.2.6 非精确搜索

--作业-一维搜索

-5.3 ⽆约束优化

--5.3.1 无约束优化的最优性条件

--5.3.2 负梯度方法及其缺陷

--5.3.3 广义牛顿法

--5.3.4 牛顿法的缺陷

--5.3.5 最速下降方向

--5.3.6 共轭梯度方向1

--5.3.7 共轭梯度方向2

--5.3.8 共轭梯度方向3

--5.3.9 共轭梯度法计算示例

--5.3.10 共轭方向的线性无关性

--5.3.11 共轭方向与一维最优解的梯度的正交性1

--5.3.12 共轭方向与一维最优解的梯度的正交性2

--5.3.13 共轭方向二次函数有限终止性

--5.3.14 共轭方向的生成

--5.3.15 三种共轭梯度法

--5.3.16 几种算法的性能比较

--作业-无约束优化

-5.4 约束优化

--5.4.1 有约束优化问题最优性条件概述

--5.4.2 不等式约束的分类

--5.4.3 线性不等式约束下的KT条件

--5.4.4 线性等式约束处理方式1

--5.4.5 线性等式约束处理方式2

--5.4.6 线性等式约束处理方式3

--5.4.7 KKT定理

--5.4.8 转化为无约束问题的方法

--5.4.9 KKT定理的构造性证明1

--5.4.10 KKT定理的构造性证明2

--5.4.11 求KT解的一般性方法

--5.4.12 凸优化问题KT解的性质

--作业-约束优化

-5.5 简约梯度法

--简约梯度法

-5.6 拉格朗⽇对偶

--拉格朗日对偶

6. 图与⽹络分析

-6.1 基础知识

--6.1.1 图与网络分析的应用

--6.1.2 图与网络的基本概念1

--6.1.3 图与网络的基本概念2

--6.1.4 图与网络的矩阵描述

--作业-图与网络基础知识

-6.2 最⼩⽀撑树问题

--6.2.1 树的概念与特性

--6.2.2 支撑树与最小支撑树

--6.2.3 求最小支撑树的避圈算法

--6.2.4 求最小支撑树的Dijkstra算法1

--6.2.5 求最小支撑树的Dijkstra算法2

--作业-最小支撑树问题

-6.3 最短路问题

--不定期最短路问题的Dijkstra算法

--作业-最短路问题

-6.4 最⼤流问题

--6.4.1 最大流问题描述

--6.4.2 最大流问题的矩阵表示、割集容量定义

--6.4.3 可增广链求最大流

--6.4.4 最大流最小割定理

--6.4.5 求最大流的标号算法

--作业-最大流问题

-6.5 最⼩费⽤流问题

--6.5.1 最小费用流问题描述

--6.5.2 求最小费用流的启发式算法

--6.5.3 最小费用流问题的KKT条件1

--6.5.4 最小费用流问题的KKT条件2

--6.5.5 基于互补松弛定理求解最小费用流的一种途径

--6.5.6 满足互补松弛条件的可增广链

--6.5.7 保持互补松弛条件的增广方法

--6.5.8 示例寻求可用边和可增广链

--6.5.9 沿可增广链改进最小费用流

--6.5.10 寻求可增广链的最短路等效

--6.5.11 等价的最小费用流求解算法

--6.5.12 再看最小费用流启发式算法

--作业-最小费用流问题

-6.6 运输问题

--6.6.1 运输问题的特点

--6.6.2 用单纯形法求运输问题

--6.6.3 运输问题的基本可行解

--6.6.4 如何在图上确定基本可行解

--6.6.5 图的支撑树与基本可行解的关系

--6.6.6 产生基本可行解的最小元素法

--6.6.7 通过对偶变量计算检验数

--6.6.8 计算检验数的位势法

--6.6.9 更新支撑树改进基本可行解

--6.6.10 运输问题特殊情况处理办法

--作业-运输问题

-6.7 指派问题

--6.7.1 指派问题的特点

--6.7.2 运输问题算法求指派问题的缺点

--6.7.3 指派问题系数矩阵的性质

--6.7.4 指派问题求解算法设想

--6.7.5 在图上搜索最大独立零元素组

--6.7.6 二分图对集的相关性质

--6.7.7 求最大对集的标号法

--6.7.8 最大对集最小覆盖

--6.7.9 特殊指派问题处理方法

--作业-指派问题

课程学习方法3笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。