3D演示帮你一眼看懂线性规划问题,这篇可视化教程火了

2022 年 1 月 19 日 量子位
行早 发自 凹非寺
量子位 | 公众号 QbitAI

你印象中的线性规划是什么样的?

先在二维平面上画图再找最优解?

但毕竟是学理论嘛,大家或多或少都会觉得枯燥晦涩。

那么为何不试试更加直观、好玩的学习方式呢?例如这样:

这是一位国外博主发布的机器学习3D教程,用可视化的方法展示如何在线性规划问题中逐步逼近最优解。

这篇帖子仅在一天之内就在Reddit上收获了接近200点的热度:

还收到了很多网友的好评:

我喜欢对数学问题高度可视化的描述,太棒了!

是什么内容这么优质?不妨看看他到底做了什么工作。

线性规划也可以一目了然

关于线性规划问题大家应该都不陌生。

在一组线性方程或不等式的约束下,求某一线性目标函数极值的问题就是线性规划问题。

而它的其中一个解法,就是上文中动图展示的单纯形法,还曾被评为20世纪最伟大的算法之一。

在生产计划,日程管理,交通运输,农业等诸多领域都有广泛的应用。

接下来我们以一个生产计划为例子做讲解:

假如你现在是老板,经营一家货运公司,一共有两种货车。

第一种货车跑一趟需要两天,烧4桶油,可以创造1000的利润。

第二种跑一趟要15天,烧8桶油,但是可以创造5000的利润。

那如果你手上有500桶油,应该怎么配比两种货车的货运次数才能在一年内获得最大利润呢?

这就是一个简单的线性规划问题。

这样的约束条件看起来并没有什么感觉,但是放在空间中就不一样了。

类似于许多平面把完整空间分割出一块多面体:

分割出的多面体(粉色部分)为可行域或者可行多面体。它包含了所有符合约束条件的点。

线性规划的目的,简单来说就是在可行多面体上找到一个点,来满足预期。比如前面例子中的获得最大利润。

那应该怎么找呢?博主对比了两种办法。

第一种是单纯形法。

由于约束函数和目标函数都是线性的,所以最优解必然存在于可行多面体的顶点。

所以寻找最优解的过程就可以描述为:沿着在可行多面体的棱上沿着目标函数值增加的方向搜索顶点。

听起来不明所以吧?

但是用图形解释就清楚多了:

但是这个方法只能用于求解线性规划的问题。对于非线性规划就无能为力了。

而第二种内点法,在更广泛的凸集优化问题中都可以应用。

它和单纯形法不同的地方在于,内点法是通过增加一个惩罚函数P(x)来不断地调整路径:

在逐渐靠近可行多面体边界时,惩罚函数会取越来越小的值。

内点法直观来看是这样的:

它不再沿着可行多面体的棱进行迭代,而是直接从内部开始,逐渐逼近最优解。

是不是一目了然了?

相比于纯数学或者算法的推演,可视化的形式明显更容易让人印象深刻。

更多的可视化教程

除了这篇3D教程之外,该博主还在另一个介绍凸优化的KKT条件和内点法的视频中,可视化了内点法是如何通过牛顿迭代逐渐得到最优解的:

视频中x(t)每经过一个黄色的圆框代表进行一次牛顿迭代,左下方的图像代表x(t)在不断地迭代下趋近于最优解。

同样,也比视频上方的一长串公式容易理解多了。

用这样的形式去呈现复杂的内容不禁让网友联想到了另一位可视化视频博主:

好内容!还看到了3blue1brown的影子,动画也很清晰。

在博主的回复中,也能看到他受到另一个数学可视化博主3blue1brown的启发。

后者也同样输出了很多数学可视化的相关视频,如果有兴趣可以多多了解。

参考链接:
[1]https://www.reddit.com/r/MachineLearning/comments/qtx8hn/d_back_to_basics_linear_programming/

[2]https://www.youtube.com/watch?v=C0TTxV0n9OA


「智能汽车」交流群招募中!

欢迎关注智能汽车、自动驾驶的小伙伴们加入社群,与行业大咖交流、切磋,不错过智能汽车行业发展&技术进展。

ps.加好友请务必备注您的姓名-公司-职位哦~


点这里👇关注我,记得标星哦~

一键三连「分享」、「点赞」和「在看」

科技前沿进展日日相见~


登录查看更多
0

相关内容

专知会员服务
55+阅读 · 2021年4月7日
【Google】梯度下降,48页ppt
专知会员服务
79+阅读 · 2020年12月5日
【普林斯顿】机器学习数学视角,63页ppt
专知会员服务
87+阅读 · 2020年11月6日
【PKDD2020教程】机器学习不确定性,附88页ppt与视频
专知会员服务
93+阅读 · 2020年10月18日
最新《高斯过程回归简明教程》,19页pdf
专知会员服务
68+阅读 · 2020年9月30日
最新《因果推断导论》课程,102页ppt
专知会员服务
177+阅读 · 2020年9月1日
斯坦福EE364a《凸优化》课件,301页ppt
专知会员服务
93+阅读 · 2020年7月14日
100行代码使用torch.fx极简量化教程
极市平台
3+阅读 · 2022年4月15日
一个案例,看懂如何分析活动效果
人人都是产品经理
0+阅读 · 2022年3月15日
实践教程 | 轻松入门模型转换和可视化
极市平台
0+阅读 · 2022年3月5日
面对一个新功能,我们需要怎样的思考?
人人都是产品经理
0+阅读 · 2021年10月24日
入门 | 这是一份文科生都能看懂的线性代数简介
机器之心
13+阅读 · 2018年3月31日
教程 | 基于遗传算法的拼图游戏解决方案
机器之心
109+阅读 · 2017年11月12日
技术 | 强化学习入门以及代码实现
AI100
51+阅读 · 2017年8月26日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2010年12月31日
Arxiv
0+阅读 · 2022年4月20日
Arxiv
0+阅读 · 2022年4月20日
Arxiv
0+阅读 · 2022年4月14日
VIP会员
相关VIP内容
专知会员服务
55+阅读 · 2021年4月7日
【Google】梯度下降,48页ppt
专知会员服务
79+阅读 · 2020年12月5日
【普林斯顿】机器学习数学视角,63页ppt
专知会员服务
87+阅读 · 2020年11月6日
【PKDD2020教程】机器学习不确定性,附88页ppt与视频
专知会员服务
93+阅读 · 2020年10月18日
最新《高斯过程回归简明教程》,19页pdf
专知会员服务
68+阅读 · 2020年9月30日
最新《因果推断导论》课程,102页ppt
专知会员服务
177+阅读 · 2020年9月1日
斯坦福EE364a《凸优化》课件,301页ppt
专知会员服务
93+阅读 · 2020年7月14日
相关资讯
100行代码使用torch.fx极简量化教程
极市平台
3+阅读 · 2022年4月15日
一个案例,看懂如何分析活动效果
人人都是产品经理
0+阅读 · 2022年3月15日
实践教程 | 轻松入门模型转换和可视化
极市平台
0+阅读 · 2022年3月5日
面对一个新功能,我们需要怎样的思考?
人人都是产品经理
0+阅读 · 2021年10月24日
入门 | 这是一份文科生都能看懂的线性代数简介
机器之心
13+阅读 · 2018年3月31日
教程 | 基于遗传算法的拼图游戏解决方案
机器之心
109+阅读 · 2017年11月12日
技术 | 强化学习入门以及代码实现
AI100
51+阅读 · 2017年8月26日
相关基金
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2010年12月31日
Top
微信扫码咨询专知VIP会员