人工智能的本质是最优化过程


模型三要素

为了将事物和问题转化为最优化问题数学模型咱们须要考虑三个要素:因素变量、约束条件和目标函数。咱们根据事物和问题先找到影响模型的全部因素变量,而后再根据目的创建一个目标函数用来衡量系统的效果,最后还要找到客观的限制条件并做为模型的约束。算法

公式

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

目标函数

人工智能的最优化

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

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

最优化

有约束最优化

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

纵使有了约束状况更加复杂,但咱们仍是有数学工具能够解决的。对于等式约束的状况,能够引入拉格朗日乘子来解决,能够将原来的目标函数和约束函数一块儿转化为拉格朗日函数。拉格朗日函数与原来的目标函数拥有共同的最优解,因此只要求解拉格朗日函数的最优解便可。对于不等式约束的状况,处理的方法也相似,只是须要额外知足KKT条件。函数

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

有约束

无约束最优化

无约束的状况通常采用梯度降低法来寻找最优解,所谓梯度是一个向量,梯度的方向就是函数在某点增加最快的方向,梯度的模为方向导数的最大值。而梯度降低的方向就是梯度的反方向,简单地看,梯度降低就比如站在一座山的某个位置上,往周围各个方向跨出相同步幅的一步,可以最快降低的方向。学习

无约束

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

局部最优


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

相关文章
相关标签/搜索