最优化问题-概述

每一天,我们的生活都面临无数的最优化问题: 上班怎么选择乘车路线,才能舒服又快速的到达公司;旅游如何选择航班和宾馆,既省钱又能玩的开心; 跳槽应该选择哪家公司,钱多、事少、离家近,前台妹子颜值高;买房子应该选在哪里,交通发达有学区,生活便利升值快。

可以看出,上面所有的问题都面临无数的选择, 我们会根据自己的偏好对每个选择打一个不同的分数,再从所有的选择中找出最优的一个。这个寻求最优解的过程其实就是最优化问题,我们要打的分数就称为目标函数。

最优化问题往往还要面临一定的约束条件,比如对旅行路线的选择,总花费和出发、到达时间就构成了约束条件,对买房子的选择,离公司的路程、总价也可能构成约束条件。我们选择的最优解也必须满足这些约束条件。

实际上,最优化问题是机器学习、人工智能等问题的基础,也在互联网广告、推荐系统、机器人、无人驾驶等领域有着广泛应用。
之前的文章里也有提到,目前炙手可热的深度学习的兴起也依赖于最优化方法的改进。最优化方法是机器学习中模型训练的基础,机器学习的很大一部分内容就是通过最优化方法找到最合适的参数,使得模型的目标函数最优。

最优化问题-定义

结合上面的例子,最优化问题就可以定义为: 在给定的约束条件下, 选择最优的参数和方案,来使得目标函数最大化/最小化的问题。

最优化问题的主要形式是:

这里可以引出最优化问题的三个基本要素:

  • 目标函数: 用来衡量结果的好坏

  • 参数值:未知的因子,需要通过数据来确定。

  • 约束条件:需要满足的限制条件

最优化问题-举例

一个最简单的最优化问题,就是下面这个例子:

作为一个经典的最优化问题,三个基本要素分别为:

  • 目标函数:最大化操场面积S, S = x * y

  • 参数值: 长x、宽y

  • 约束条件: x + 2y = 60

如果大家高中碰到过类似问题的话,应该记得当初的主要思路是

  1. 把 y 表示成 x 的格式:面积 S = x*(60-x)/2

  2. 最大化S,相当于对x求导,求导数等于0的点

  3. 得到x= 30 , y = (60-x)/2 = 15, 最大的面积是450

我们为什么能够这样求解?有几点原因:

  1. 目标函数连续并且可导

  2. 目标函数的一阶导数可以直接求解

  3. 问题是个凸优化问题,有且仅有1个全局最优点

  4. 只有两个变量


 

所以,上面的例子是个比较简单的最优化问题。如果上面的任何一个条件不满足的话,都不能用当前的方法求解,而需要求助于更复杂的方法。

比如, 目标函数不是凸函数时,可能有多个导数为0的点:

又比如,有可能有超过两个变量,那么优化问题就需要同时考虑多个参数,优化问题需要扩展到多维:


 

下面,我们就来介绍一下针对最优化问题的分类,以及对应的不同解法。

最优化问题 - 分类

根据约束条件的种类,最优化问题可以分成以下种类:

而根据目标函数的状态, 最优化问题又可以分成:

最优化问题 - 解法分类和选择

在实际的工作中,我们如何来选择最优化问题的解法呢?

基本的依据有以下几点:

  • 目标函数是否连续可导

  • 目标函数的形式,是否为线性函数或者二次函数

对应上图:

  • 离散最优化方法: 主要用于求解目标函数不连续或者不可导的情况,典型的解法有爬山法、模拟退火、遗传算法和蚁群算法等。

  • 线性规划和二次规划:运筹学的重要研究内容,适用于目标函数是线性或二次函数的形式。

  • 连续最优化方法: 适用于逻辑回归、SVM、神经网络等机器学习问题,主要方法包括梯度下降、牛顿法和拟牛顿法。

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GA-BP神经网络是一种结合了遗传算法(Genetic Algorithm)和反向传播算法(Backpropagation)的神经网络模型。它的目标是通过遗传算法来优化神经网络的权重和结构,以提高神经网络的性能和泛化能力。 GA-BP神经网络的基本思想是将遗传算法应用于神经网络的训练过程中。遗传算法是一种模拟自然进化过程的优化算法,通过模拟自然选择、交叉和变异等操作来搜索最优解。在GA-BP神经网络中,遗传算法用于搜索神经网络的权重和结构的最优解,而反向传播算法用于计算神经网络的误差和梯度,从而更新权重。 GA-BP神经网络的训练过程可以分为以下几个步骤: 1. 初始化种群:随机生成一组初始的神经网络权重和结构。 2. 评估适应度:使用反向传播算法计算每个个体(神经网络)的适应度,即神经网络在训练数据上的误差。 3. 选择操作:根据适应度值选择一部分个体作为父代,用于产生下一代个体。 4. 交叉操作:对选出的父代个体进行交叉操作,生成新的个体。 5. 变异操作:对新生成的个体进行变异操作,引入随机性,增加搜索空间。 6. 更新种群:将新生成的个体加入到种群中,并淘汰一部分适应度较低的个体。 7. 终止条件:达到预定的终止条件(如达到最大迭代次数或误差小于某个阈值)时停止训练,否则返回第3步。 通过遗传算法的搜索和反向传播算法的优化,GA-BP神经网络可以在较短的时间内找到较好的权重和结构组合,从而提高神经网络的性能和泛化能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值