绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
人工智能的本质是优化过程
2019-08-27 08:18:02

模型三要素

为了将事物和问题转化为优化问题数学模型我们需要考虑三个要素:因素变量、约束条件和目标函数。我们根据事物和问题先找到影响模型的所有因素变量,然后再根据目的建立一个目标函数用来衡量系统的效果,后还要找到客观的限制条件并作为模型的约束。

公式

如上公式,实际问题的因素变量其实可以看成是一个n维向量,向量的每个元素都是实数。f0(x)是我们构建的目标函数,我们的目标就是小化该函数(大化的情况其实也可以转化为小化的情况)。fi(x)和hj(x)作为约束函数,分不等式约束和等式约束两类,约束函数用来限制可能空间,如果不存在约束则不需要约束函数。

目标函数

人工智能的优化

优化与人工智能有什么关系呢?可以这样说:人工智能在本质上也是一个优化过程,对于我们要实现的智能,也是通过学习以求得优解。这是一个总的大框架,人工智能的问题到后几乎都是回到优解问题。

不管是传统的机器学习还是大热的深度学习,亦或是大有潜力的强化学习,它们的基础核心思想都可以提升到优化问题。

优化

有约束优化

前面提到过,优化问题可能存在约束也可能不存在约束,而且有约束的情况比无约束的情况更加复杂。约束又可以分为不等式约束和等式约束两类,约束的作用就是将优解的可能空间限制在某些区域。

纵使有了约束情况更加复杂,但我们还是有数学工具可以解决的。对于等式约束的情况,可以引入拉格朗日乘子来解决,可以将原来的目标函数和约束函数一起转化为拉格朗日函数。拉格朗日函数与原来的目标函数拥有共同的优解,所以只要求解拉格朗日函数的优解即可。对于不等式约束的情况,处理的方法也类似,只是需要额外满足KKT条件。

以下图为例,假设一共有四个约束条件,它们共同的限制区域为四条不同颜色限定的一个区域。假如上半部分为问题优解的所有可能空间,而经过约束条件限制后则在区域中。

有约束

无约束优化

无约束的情况一般采用梯度下降法来寻找优解,所谓梯度是一个向量,梯度的方向就是函数在某点增长快的方向,梯度的模为方向导数的大值。而梯度下降的方向就是梯度的反方向,简单地看,梯度下降就好比站在一座山的某个位置上,往周围各个方向跨出相同步幅的一步,能够快下降的方向。

无约束

此外,采用梯度下降法寻找优解时有可能会找到局部优解,一旦陷入局部优后则可能无法跳出来继续寻找全局优。所以局部优问题也需要考虑,工程上存在专门的方法用于防止掉进局部优解。但有时局部优解和全局优解差别可能不会很大,而寻找全局优将会花费很高的代价,此时可以不必关注是否为全局优。

局部优


本公众号专注于人工智能、读书与感想、聊聊数学、计算机科学、分布式、机器学习、深度学习、自然语言处理、算法与数据结构、Java深度、Tomcat内核等。


分享好友

分享这个小栈给你的朋友们,一起进步吧。

远洋号
创建时间:2020-05-19 15:46:16
《图解数据结构与算法》《Tomcat内核设计剖析》书籍作者,公众号:《远洋号》,笔名:seaboat,擅长工程算法、人工智能算法、自然语言处理、架构、分布式、高并发、大数据、搜索引擎等方面的技术,大多数编程语言都会使用但更擅长Java、Python、C++。平时喜欢看书、写作、运动,擅长的项目有篮球、跑步、游泳、健身、羽毛球。崇尚开源,崇尚技术自由,更崇尚思想自由。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

栈主、嘉宾

查看更多
  • seaboat
    栈主

小栈成员

查看更多
  • 小雨滴
  • Tester9456
  • 栈栈
  • dkl187788
戳我,来吐槽~