全局优化与目标优化的异同

从porgo和optimtool的使用来解释

在多模态问题中,多数全局优化算法是通过设置跳跃局部最优点的比率来完成全局最优的搜索,这类算法需要利用到一阶梯度的局部信息,以至于演进方向的分叉导致了算法的执行复杂度按照搜索次数倍增。首先,超线性的优化算法是采用一阶梯度、二阶海瑟,非精确解等方式来完成连续介质信息的演进,所以机器学习训练问题中,常用初始分布作为优化求解的起点,深度学习框架具备连续正态分布、伯努利离散分布等,大多数现实数据是从独立随机观测量中采样得到,因此适用默认的分布。

在所有机器学习优化问题中,优化求解器是优先配置且只适应编码层的序列值域,求解器接收的必选参数是拟合函数、微分参量(类与对象设计中常先存储)、初始点(深度学习框架常默认标准正态分布)。porgo和optimtool的调用训练算法接收的第一个必选参数是拟合函数,不同的是optimtool采用先序符号微分的办法减小整体运行时的复杂度,porgo使用时间累积的随机性来更新当前解值(从上一次演进后的数值组合启发)。

相同点是需要规定数值范围,不同点是全局优化从数值范围内搜索,目标优化算法从单组值开始启发全局的搜索,例如从初始化的分布开始拟合更精确的系数,所以复杂的拟合函数更适用于多模态和自然语言处理问题,其系数的个数和组合影响程度更高。目标优化算法的执行目的更多,相比于全局优化是搜索全局最优点,目标优化算法是受学习率直接影响的,研究复杂函数是第一步收敛,后几步受控制因子和时序(步序)信息调节来完成局部的跳跃,所以多数机器学习优化问题常采用目标优化算法,源于初启动内存的稳定和可控,密集过程的超线性收敛及全局收敛性。

数学中常用的梯度( d k d_k dk),人工智能中用 g r a d \mathrm{grad} grad;初始点用LaTex标记为 x 0 x_0 x0,人工智能常用 p a r a m s \mathrm{params} params;学习率在目标步序研究中记为 a l p h a \mathrm{alpha} alpha,人工智能中常用lr、learning_rate。所有的计算步都是一样,例如有zip打包数据更新,和循环步更新偏差( a l p h a ∗ d k \mathrm{alpha} * d_k alphadk l r ∗ g r a d \mathrm{lr * grad} lrgrad)是类似的,但是资源要共享可引,不可引则深复制在更新函数中做步。

import porgo
import optimtool.unconstrain as ou
from optimtool.base import np, sp, plt
objective_function_lambda = lambda x: (-13 + x[0] + ((5 - x[1])*x[1] - 2)*x[1])**2 + (-29 + x[0] + ((x[1] + 1)*x[1] - 14)*x[1])**2 + (-13 + x[2] + ((5 - x[3])*x[3] - 2)*x[3])**2 + (-29 + x[2] + ((x[3] + 1)*x[3] - 14)*x[3])**2
x = sp.symbols("x1:5")
objective_function = (-13 + x[0] + ((5 - x[1])*x[1] - 2)*x[1])**2 + (-29 + x[0] + ((x[1] + 1)*x[1] - 14)*x[1])**2 + (-13 + x[2] + ((5 - x[3])*x[3] - 2)*x[3])**2 + (-29 + x[2] + ((x[3] + 1)*x[3] - 14)*x[3])**2
bounds = [(-10, 10)] * 4 # [[-10, 10]] * 4

objective = porgo.glos(objective_function_lambda, bounds) # mutation=0.5, recombination=0.9
objective.rand_pop(100) # init population
for i in range(3): # if need to execute 3 times
    objective.train_gen(1000)
    objective.result() # must be executed
    print('porgo search global result: {}(times), {}, {}'.format(i, objective.mini, objective.fit_mini)) # the best converged result
x_0 = (4.5, 3.5, 4.5, 3.5)
print('optimtool search nearest result: {}'.format(ou.newton_quasi.bfgs(objective_function, x, x_0)))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/768658.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

pjsip环境搭建、编译源码生成.lib库

使用平台: windows qt(5.15.2) vs(2019)x86 pjsip版本以及第三方库使用 pjsip 2.10 ffmpeg4.2.1 sdl2.0.12pjsip源码链接: https://github.com/pjsip/pjproject源码环境配置 首先创建两个文件夹,分别是include、lib其中include放置ff…

【leetcode64-69二分查找、70-74栈、75-77堆】

二分查找[64-69] 时间复杂度O(log n)&#xff0c;要想到二分排序 35.搜索插入位置 class Solution:def searchInsert(self, nums: List[int], target: int) -> int:left 0right len(nums)-1while left < right: #左闭右闭mid (leftright)//2if nums[mid] < target…

【SpringBoot配置文件读取】无法读取yaml文件中文字符

1. yaml配置文件 注意要将该文件编码格式改为UTF-8 spring:application:name: 好好学习admin:name: 李斯age: 24books:- name: 数据结构desc: 数据书- name: 编译原理desc: 编译书2.配置实体类 Data设置get&#xff0c;set方法Component注册为BeanConfigurationProperties(p…

Android设备信息(DevInfo)

软件介绍 设备信息&#xff08;DevInfo&#xff09;一款评分非常不错的手机硬件及各种信息检测应用&#xff0c;安卓设备硬件检测工具。可以全面查看手机的各种信息、包括&#xff1a;Android系统版本的详细信息、芯片CPU处理器的详细信息、全球卫星定位、测试功能、硬件温度、…

【深度学习】Transformer

李宏毅深度学习笔记 https://blog.csdn.net/Tink1995/article/details/105080033 https://blog.csdn.net/leonardotu/article/details/135726696 https://blog.csdn.net/u012856866/article/details/129790077 Transformer 是一个基于自注意力的序列到序列模型&#xff0c;与基…

Labview绘制柱状图

废话不多说&#xff0c;直接上图 我喜欢用NXG风格&#xff0c;这里我个人选的是xy图。 点击箭头指的地方 选择直方图 插值选择第一个 直方图类型我选的是第二个效果如图。 程序部分如图。 最后吐槽一句&#xff0c;现在看CSDN好多文章都要收费了&#xff0c;哪怕一些简单的入…

比较多种msvcr110.dll丢失的解决方法,哪一种更加方便?

当遇到“msvcr110.dll丢失”这种问题时&#xff0c;这通常意味着你的系统中缺少了Microsoft Visual C 2012 Redistributable的组件。下面我将详细介绍五种解决方法&#xff0c;并对比它们的优点。 一.多种msvcr110.dll丢失的解决方法 方法 1: 重新安装Microsoft Visual C 2012…

《IT 领域准新生暑期预习指南:开启未来科技之旅》

IT专业入门&#xff0c;高考假期预习指南 高考的落幕&#xff0c;只是人生长途中的一个逗号&#xff0c;对于心怀 IT 梦想的少年们&#xff0c;新的征程已然在脚下铺展。这个七月&#xff0c;当分数尘埃落定&#xff0c;你们即将迈向新的知识殿堂&#xff0c;而这个假期&#…

DEPTHAI 2.27.0 发布!

小伙伴们大家好&#xff0c;我们发布了DepthAI 2.27.0版本&#xff0c;本次对DepthAI库有了一些小更新&#xff0c;以下是更新内容。 功能 设置DEPTHAI_ENABLE_FEEDBACK_CRASHDUMP时自动故障转储收集&#xff1b; 漏洞修补 修复深度超出ImageAlign节点时生成PointCloud的问…

安卓手机软件自动运行插件的开发流程及代码科普!

随着智能手机的普及和移动互联网的快速发展&#xff0c;安卓手机软件的需求日益旺盛&#xff0c;为了提高软件的功能性和扩展性&#xff0c;许多开发者选择通过插件的方式为软件添加新功能。 一、安卓手机软件自动运行插件的开发流程 1、明确需求与目标 在开发安卓手机自动运…

STM32——GPIO(点亮LED)

一、GPIO是什么&#xff1f; 1、GPI/O(general porpose intput output):通用输入输出端口的简称&#xff0c;通俗地说&#xff0c;就是我们所学的51单片机的IO口&#xff0c;即P0_0等。但要注意&#xff1a;并非所有的引脚都是GPIO 输出模式下可控制端口输出高低电平&#xf…

echarts-wordcloud:打造个性化词云库

前言 在当今信息爆炸的时代&#xff0c;如何从海量的文本数据中提取有用的信息成为了一项重要的任务。词云作为一种直观、易于理解的数据可视化方式&#xff0c;被广泛应用于文本分析和可视化领域。本文将介绍一种基于 echarts-wordcloud 实现的词云库&#xff0c;通过其丰富的…

uniapp + vue3 + Script Setup 写法变动 (持续更新)

一、uniapp 应用生命周期&#xff1a; https://uniapp.dcloud.net.cn/tutorial/vue3-composition-api.html 注意&#xff1a; 应用生命周期仅可在App.vue中监听&#xff0c;在其它页面监听无效。 二 、uniapp页面生命周期&#xff1a; https://uniapp.dcloud.net.cn/tutori…

【Rust入门教程】安装Rust

文章目录 前言Rust简介Rust的安装更新与卸载rust更新卸载 总结 前言 在当今的编程世界中&#xff0c;Rust语言以其独特的安全性和高效性吸引了大量开发者的关注。Rust是一种系统编程语言&#xff0c;专注于速度、内存安全和并行性。它具有现代化的特性&#xff0c;同时提供了低…

准化 | 水系统碳中和标准体系初见成效

2024年5月31日&#xff0c;中华环保联合会发布《团体标准公告 2024年第10号&#xff08;总第78号&#xff09;》&#xff0c;批准发布了由中华环保联合会提出并归口的《废水处理温室气体监测技术规程》(T/ACEF 142-2024)、《工业水系统碳排放核算方法与报告指南》(T/ACEF143-20…

解决ps暂存盘已满的问题

点击编辑->首选项->暂存盘 ps默认暂存盘使用的是c盘&#xff0c;我们改成d盘即可 然后重启ps

羊大师:自然力量,守护头皮健康

在繁忙的生活节奏中&#xff0c;我们往往忽略了与大自然最亲密的接触&#xff0c;也忘记了用自然的力量来呵护我们的每一寸肌肤&#xff0c;尤其是那细腻而脆弱的头皮。头皮&#xff0c;作为头发的根基&#xff0c;其健康直接决定了秀发的光泽与密度。 想象一下&#xff0c;清晨…

编译Open Cascade(OCC)并使用C#进行开发

说明&#xff1a; VS版本&#xff1a;Visual Studio Community 2022系统&#xff1a;Windows 11 专业版23H2Open CASCADE&#xff1a;v7.7.0&#xff08;链接&#xff1a;https://pan.baidu.com/s/1-o1s4z3cjpYf5XkwhSDspQ?pwdp9i5提取码&#xff1a;p9i5&#xff09; 下载和…

Android选择题界面的设计——线性布局实操

目录 任务目标任务分析任务实施 任务目标 使用TextView、Button、CheckBox等实现一个选择题界面&#xff0c;界面如图1所示。 图1 选择题界面效果图 任务分析 上述界面可以分解为上下两部分&#xff0c;上面部分可以使用横向的线性布局来完成&#xff0c;下面部分可以使用…

Python爬取国家医保平台公开数据

国家医保服务平台数据爬取python爬虫数据爬取医疗公开数据 定点医疗机构查询定点零售药店查询医保机构查询药品分类与代码查询 等等&#xff0c;数据都能爬 接口地址&#xff1a;/ebus/fuwu/api/nthl/api/CommQuery/queryFixedHospital 签名参数&#xff1a;signData {dat…