HOME 首页
SERVICE 服务产品
XINMEITI 新媒体代运营
CASE 服务案例
NEWS 热点资讯
ABOUT 关于我们
CONTACT 联系我们
创意岭
让品牌有温度、有情感
专注品牌策划15年

    随机优化问题(随机优化问题需要)

    发布时间:2023-04-21 17:43:41     稿源: 创意岭    阅读: 68        

    大家好!今天让创意岭的小编来大家介绍下关于随机优化问题的问题,以下是小编对此问题的归纳整理,让我们一起来看看吧。

    开始之前先推荐一个非常厉害的Ai人工智能工具,一键生成原创文章、方案、文案、工作计划、工作报告、论文、代码、作文、做题和对话答疑等等

    只需要输入关键词,就能返回你想要的内容,越精准,写出的就越详细,有微信小程序端、在线网页版、PC客户端

    官网:https://ai.de1919.com

    创意岭作为行业内优秀的企业,服务客户遍布全球各地,如需了解SEO相关业务请拨打电话175-8598-2043,或添加微信:1454722008

    本文目录:

    随机优化问题(随机优化问题需要)

    一、如何优化易语言这个随机算法,使每次随机更好一点?

    先10个编辑框赋值给数组,然后随机1-3决定这次出现几个数,之后按刚才随机的次数计次循环,再进行排序,最后加入文本就行了,试试吧

    二、随机规划的随机规划概述

    随机规划是对含有随机变量的优化问题建模的有效的工具并已有一个世纪的历史。

    第一种随机规划是美国经济学家丹泽1955年提出的,康托罗维奇在这方面的贡献,不在于这个新方法本身,而在于把它应用于制定最优计划。是广泛使用的期望值模型,即在期望约束条件下,使得期望收益达到最大或期望损失达到最小的优化方法。

    第二种是由查纳斯(A.Charnes)和库伯(W.W.Cooper)于1959年提出的机会约束规划,是在一定的概率意义下达到最优的理论。

    第三种即是刘宝碇教授于1997年提出的相关机会规划,是一种使事件的机会在随机环境下达到最优的理论。它与期望值模型和机会约束规划一起构成了随机规划的三个分支。

    随机规划是处理数据带有随机性的一类数学规划,它与确定性数学规划最大的不同在于其系数中引进了随机变量,这使得随机规划比起确定性数学规划更适合于实际问题。在管理科学、运筹学、经济学、最优控制等领域,随机规划有着广泛的应用。

    随机优化问题(随机优化问题需要)

    三、matlab求解优化问题,如果没有目标函数,只有约束条件,可否随机生成一

    目标函数形式不是很重要,fmincon不需要知道目标函数的结果是怎么求出来的

    只要是利用一个x未知向量输入,得到一个结果的函数就可以

    你的约束条件好像也并不复杂,奇怪的是如果要权重x加起来是1

    那么每个x分量的值应该是0~1之间的正数才是

    而你给输入初始化x0的值是-1~1之间的随机数,所以这里比较奇怪

    问题的关键就是多目标的问题

    fmincon是只能寻找一个目标的,也就是目标函数只有一个返回值

    如果要多目标优化,那么需要使用遗传算法或其它办法

    但是多目标优化本来就是一个可能不能完全实现所有目标的优化结果

    也就是说多个目标很多时候是无法同时达到的,和多时候只能得到离多个目标都比较近的结果

    所以,多目标的优化一般会给帕累托解集

    不过,也有简单一点的办法,因为很多时候,我们是知道鱼与熊掌是不能兼得的

    我们要优化结果只是尽量靠近目标就可以了

    对于有多目标的,很多时候我们需要的只是一个离所有目标都比较接近的解

    例如最小二乘法意义的最优解

    这个时候可以根据得到的theta,计算 theta(1) - 0.24,theta(2) - 0.38,........

    等多个目标的平方和的开方,利用这个总的"距离"作为优化目标

    如果得到的theta是向量,而多个目标o,o(1)=0.24,o(2)=0.38,.......

    也可以表示为向量,那么最终的最小二乘目标函数就是 sqrt( sum((theta-o).^2))

    也可以有其它非最小二成的目标例如绝对值和 sum(abs(theta-o))

    也就是把多目标按照一定的策略变为1个目标,然后还是可简单的用fmincon解决问题

    当然,如果目标很多,图像数据也很大,可能运行比较耗时间

    四、优化算法总结

    本文介绍一下机器学习和深度学习中常用的优化算法和优化器以及一些其他我知道的优化算法,部分算法我也没有搞懂,就先记录下来以后慢慢研究吧.*_*.

    1.梯度下降算法(Gradient Descent)

    梯度下降法可以参考我另一篇文章 机器学习-线性回归 里的讲解,这里就不在重复叙述.这里需要强调一下,深度学习里常用的SGD,翻译过来是随机梯度下降,但是实质是mini-batch梯度下降(mini-batch-gd),或者说是两者的结合更准确一些.

    SGD的优点是,算法简单,计算量小,在函数为凸函数时可以找到全局最优解.所以是最常用的优化算法.缺点是如果函数不是凸函数的话,很容易进入到局部最优解而无法跳出来.同时SGD在选择学习率上也是比较困难的.

    2.牛顿法

    牛顿法和拟牛顿法都是求解无约束最优化问题的常用方法,其中牛顿法是迭代算法,每一步需要求解目标函数的海森矩阵的逆矩阵,计算比较复杂.

    牛顿法在求解方程根的思想:在二维情况下,迭代的寻找某一点x,寻找方法是随机一个初始点x_0,目标函数在该点x_0的切线与x坐标轴的交点就是下一个x点,也就是x_1.不断迭代寻找x.其中切线的斜率为目标函数在点x_0的导数(梯度),切必过点(x_0,f(x_0)).所以迭代的方程式如图1,为了求该方程的极值点,还需要令其导数等于0,也就是又求了一次导数,所以需要用到f(x)的二阶导数.

    在最优化的问题中,牛顿法提供了一种求解的办法. 假设任务是优化一个目标函数f, 求函数ff的极大极小问题, 可以转化为求解函数f导数等于0的问题, 这样求可以把优化问题看成方程求解问题(f的导数等于0). 剩下的问题就和牛顿法求解方程根的思想很相似了.

    目标函数的泰勒展开式:

    化简后:

    这样就得到了与图1相似的公式,这里是二维的,在多维空间上,求二阶导数就是求海森矩阵,因为是分母,所以还需要求海森矩阵的逆矩阵.

    牛顿法和SGD的区别:

    牛顿法是二阶求导,SGD是一阶求导,所以牛顿法要收敛的更快一些.SGD只考虑当前情况下梯度下降最快的方向,而牛顿法不仅考虑当前梯度下降最快,还有考虑下一步下降最快的方向.

    牛顿法的优点是二阶求导下降速度快,但是因为是迭代算法,每一步都需要求解海森矩阵的逆矩阵,所以计算复杂.

    3.拟牛顿法(没搞懂,待定)

    考虑到牛顿法计算海森矩阵比较麻烦,所以它使用正定矩阵来代替海森矩阵的逆矩阵,从而简化了计算过程.

    常用的拟牛顿法有DFP算法和BFGS算法.

    4.共轭梯度法(Conjugate Gradient)

    共轭梯度法是介于最速下降法与牛顿法之间的一个方法,它仅需利用一阶导数信息,但克服了最速下降法收敛慢的缺点,又避免了牛顿法计算海森矩阵并求逆的缺点.共轭梯度法不仅是解决大型线性方程组最有用的方法之一,也是解大型非线性最优化最有效的算法之一.

    5.拉格朗日法

    参考SVM里的讲解 机器学习-SVM

    6.动量优化法(Momentum)

    动量优化法主要是在SGD的基础上,加入了历史的梯度更新信息或者说是加入了速度更新.SGD虽然是很流行的优化算法,但是其学习过程很慢,因为总是以同样的步长沿着梯度下降的方向.所以动量是为了加速学习的方法.

    其中第一行的减号部分是计算当前的梯度,第一行是根据梯度更新速度v,而α是新引进的参数,在实践中,α的一般取值为 0.5,0.9 和 0.99.和学习率 一样,α 也会随着时间不断调整.一般初始值是一个较小的值,随后会慢慢变大.

    7.Nesterov加速梯度(NAG, Nesterov accelerated gradient)

    NAG是在动量优化算法的基础上又进行了改进.根据下图可以看出,Nesterov 动量和标准动量之间的区别体现在梯度计算上, Nesterov 动量中,梯度计算在施加当前速度之后.因此,Nesterov 动量可以解释为往标准动量方法中添加了一个校正因子

    8.AdaGrad算法

    AdaGrad算法,自适应优化算法的一种,独立地适应所有模型参数的学习率,缩放每个参数反比于其所有梯度历史平均值总和的平方根.具有代价函数最大梯度的参数相应地有个快速下降的学习率,而具有小梯度的参数在学习率上有相对较小的下降.通俗一点的讲,就是根据实际情况更改学习率,比如模型快要收敛的时候,学习率步长就会小一点,防止跳出最优解.

    其中g是梯度,第一行的分母是计算累计梯度的平方根, 是为了防止分母为0加上的极小常数项,α是学习率.

    Adagrad的主要优点是不需要人为的调节学习率,它可以自动调节.但是依然需要设置一个初始的全局学习率.缺点是随着迭代次数增多,学习率会越来越小,最终会趋近于0.

    9.RMSProp算法

    RMSProp修改 AdaGrad 以在非凸设定下效果更好,改变梯度积累为指数加权的移动平均.AdaGrad旨在应用于凸问题时快速收敛.

    10.AdaDelta算法

    11.Adam算法

    Adam是Momentum和RMSprop的结合体,也就是带动量的自适应优化算法.

    12.Nadam算法

    13.模拟退火算法

    14.蚁群算法

    15.遗传算法

    动量是为了加快学习速度,而自适应是为了加快收敛速度,注意学习速度快不一定收敛速度就快,比如步长大学习速度快,但是很容易跳出极值点,在极值点附近波动,很难达到收敛.

    未完待定....

    参考:

    《统计学习方法》  李航    著

    《深度学习》  花书

    以上就是关于随机优化问题相关问题的回答。希望能帮到你,如有更多相关问题,您也可以联系我们的客服进行咨询,客服也会为您讲解更多精彩的知识和内容。


    推荐阅读:

    随机主题文章生成器下载(随机主题文章生成器下载)

    毒app上卖家是随机的吗(毒app上的都是个人卖家吗)

    随机组队小程序(随机组队小程序叫什么)

    黑金风格餐饮品牌设计(黑金风格餐饮品牌设计图片)

    可爱字体设计在线生成器(可爱字体设计在线生成器下载)