Julia语言入门

资讯 2024-06-20 阅读:123 评论:0
美化布局示例

欧易(OKX)最新版本

【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   全球官网 大陆官网

币安(Binance)最新版本

币安交易所app【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   官网地址

火币HTX最新版本

火币老牌交易所【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   官网地址

15.6.1.1 多元函数优化

Optim包的函数类似于R的, 可以用来求多元函数的无约束极值或矩形约束的极值, 一元函数区间内的极值, 复函数极值, 流形上的极值。

The Optim package has a function similar to that of R, which can be used to obtain a non-binding polar or rectangular binding value for multiple functions, a polar value within a single function range, a secondary function polar value, a polar value on the flow.

可用的优化方法包括:

Possible optimization methods include:

  • ,是不依赖梯度信息的单纯型方法,只需要目标函数本身;
  • , , 这是著名的拟牛顿法, 是内存开销有限版本;
  • , 共轭梯度法;
  • , 最速下降法,还有, ;
  • ,牛顿法,需要梯度函数与海色阵函数,海色阵函数不可省略, 还有,此方法克服了当函数不能用二次多项式近似时的困难;
  • ,模拟退火法,用于求解全局最值, 只需要目标函数本身,速度慢。 , 是类似方法;
  • ,矩形约束的优化;
  • 为非线性约束的内点法加牛顿法;
  • 和为一元函数优化;
  • …………

用户可以提供梯度函数以及海色阵用来加速收敛。 结果是类似R的list类型的一个结构。

Users can provide gradient functions as well as sea colour arrays to speed up the recovery. The result is a structure similar to the R-list type.

举例说明。 考虑二元函数 \(f(x, y)=(x - a)^2 + b (y - x^2)^2\)的最小值问题。 显然唯一的最小值点为\((a, a^2)\)。 用Optim的函数进行数值求解。 这个二元函数的最小值点在很长、很窄、底部平坦的山谷内, 对迭代算法来说有一定困难。 取\(a=1, b=100\), 最小值点在\((1,1)\)。 取初值为\((0,0)\)

Consider the question of the minimum value of the binary function

目标函数定义:

Target function definition:

使用默认的设置进行优化:

Optimize using default settings:


可以看出在没有选用具体优化方法的情况下用了Nelder-Mead方法, 迭代了60次。 的结果如果保存在变量中, 可以用获得最小值点(总是一个向量), 用获得最小值。 结果中还有用于检查是否收敛的输出, 详见Optim包的文档。

You can see that the Neder-Mead method was used 60 times without selecting a specific optimization method. The result, if saved in the variable, is to get the lowest point (always a vector) and the lowest value.

最小值点:

Minimum point of value:


改用BFGS方法,使用普通数值微分计算梯度:

Conversion to BFGS method to calculate the gradient using normal numeric fractions:



只迭代了16次,但是计算数值微分也会涉及到比较多的目标函数计算。 可以人为给出梯度函数:

Only 16 times have passed, but the computational fractions also involve more target functions. An artificial gradient function can be given:



还可以由用户提供一个海色阵函数, 这时方法为牛顿法,调用如

The user can also provide a sea colour array function, which is called by Newton method.


不会用数值微分法计算海色阵, 因为两次数值微分造成很大误差。 如果目标函数完全用Julia编写并且不调用C代码和Fortran代码, 则目标函数的梯度函数和海色阵函数可以自动微分方法获得精确函数, 这需要函数的自变量支持一般的类型, 不能声明为一个具体的类型。 这在背后利用了包计算精确一阶和二阶微分。 如

No numerical differentials are used to calculate the sea colour arrays, because two numerical fractions are a major error. If the target function is entirely based on Julia and does not call C and Fortran codes, the target function's gradient function and the sea colour array function can automatically obtain the exact function differentials, which require the function's own variable to support the normal type, which cannot be stated as a specific type. This uses the package to calculate the exact first and second fractions, e.g., behind it.



支持比较简单的矩形约束优化, 所谓矩形约束(box constraint), 是指每个坐标分量属于一个区间, 可以用和表示无穷区间。 这种约束优化用的是简单的内点法。

In support of a simpler rectangular constraint optimization, the rectangular constraint (box constraint), which means that each coordinate fraction belongs to a single area and can be used and expressed as an infinity zone, is optimized using a simple internal point method.

例如,上面的例子函数本来是无约束的, 但是如果我们要求解在矩形\([1.25, \infty) imes [-2.1, \infty)\)中, 这个范围已经不包含全局最小值点。 约束优化程序如下:

For example, the above example function would have been non-binding, but if we had asked for a rectangle in the rectangular (1.25, \infty) events[-2.1, \infty) , this range no longer contained the lowest value point in the global context. The constraint optimisation procedure is as follows:



可见结果在约束的左边界处达到。

Visible results are achieved at the bounds of the left boundary.

控制迭代精度等选项, 可以使用的控制选项,如

Controls overlap accuracy, control options that can be used, e.g.


此例因为设置了太小的迭代次数限制导致没有收敛。 实际上, 最速下降法迭代一万次也没有收敛。 这是因为最速下降法收敛速度慢, 而且目标函数也比较复杂。

In fact, the most rapid drop has failed to occur 10,000 times. This is because the most rapid drop is slow and the target function is complex.

美化布局示例

欧易(OKX)最新版本

【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   全球官网 大陆官网

币安(Binance)最新版本

币安交易所app【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   官网地址

火币HTX最新版本

火币老牌交易所【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   官网地址
文字格式和图片示例

注册有任何问题请添加 微信:MVIP619 拉你进入群

弹窗与图片大小一致 文章转载注明

分享:

扫一扫在手机阅读、分享本文

发表评论
平台列表
美化布局示例

欧易(OKX)

  全球官网 大陆官网

币安(Binance)

  官网

火币(HTX)

  官网

Gate.io

  官网

Bitget

  官网

deepcoin

  官网
热门文章
  • 从 IPFS社区Meetup谈谈2020年的IPFS的发展历程

    从 IPFS社区Meetup谈谈2020年的IPFS的发展历程
    8月3日, IPFS社区Meetup 如期举办,这一次的社区Meetup由交流与演讲和闪电演示两部分组成,其实该会议主要带领我们回顾了IPFS在2020年的发展历程(包括项目进展、IPFS生态发展等),展示了IPFS及其生态。2020年对于IPFS而言是不平凡的一年,其唯一激励层Filecoin的主网即将上线,这让IPFS和Filecoin在全球范围内得到了前所未有的关注,也推动了IPFS的高速发展。接下来,我们一起走进IPFS在20...
  • 超10万人爆仓,比特币跳水,发生了什么

    超10万人爆仓,比特币跳水,发生了什么
    现货比特币ETF上市第二日,数字货币再迎来抛售。比特币一度跌破42000美元/枚,截止1月13日内跌幅超7%,报42562.1美元/枚。The current Bitcoin ETF is on the second day of the market and the digital currency is sold again. Bitcoin fell by over 7% to $4562.1 on 13 January.现货比特币ETF普遍跌6%左右。其中,DEFI跌...
  • 兴业基金调研远光软件、东芯股份

    兴业基金调研远光软件、东芯股份
    根据6月6日公布的公开市场信息和机构研究,世界安全基金会最近对下列两家上市公司进行了一项研究: 1) 光电软件(工程师基金参与公司专项研究) 其中一个亮点是该公司深入参与建造南方网中心和技术平台,导致南网市场在 " 九天 " 平台产品方面取得重大突破;该公司的Won-宇宙大厅已上线,而且,除了Won-宇宙之外,远洋宇宙的应用现已扩大到Won-宇宙发射、Won-宇宙-教师和政党建设-宇宙;该公司的Far-O-Cloud平台已经实现了完全成熟的国家生产,也可以在全国云中运作。...
  • 0.00003374个比特币等于多少人民币/美金

    0.00003374个比特币等于多少人民币/美金
    0.00003374比特币等于多少人民币?根据比特币对人民币的最新汇率,0.00003374比特币等于2.2826 1222美元/16.5261124728人民币。比特币(BTC)美元(USDT)人民币(CNY)0.00003374克洛克-0/22216.5261124728比特币对人民币的最新汇率为:489807.72 CNY(1比特币=489807.72人民币)(1美元=7.24人民币)(0.00003374USDT=0.0002442776 CNY)。汇率更新于2024...
  • $DOG暴涨400%,加密货币或许正在重新定义和计量“价值”

    $DOG暴涨400%,加密货币或许正在重新定义和计量“价值”
    近/克洛克-0/5,Meme币狗?走吗?去哪?那个?MOON($ DOG)连续上涨超过230%,突破前期高点,达到0.0062美元。在同一时期,比特币生态的许多主流L2协议代币下跌了50%以上。这些就是我们所说的“价值币”。虽然大起大落不能说明什么,但从过去的牛市来看,领头羊MemeCoin表现非凡。在上一轮牛市中,$DOGE的价格上涨了超过150倍,其市值接近900亿美元。还有其他MemeCoin,如$Shib、$People、$ELON、$AKITA等。2 vkwmkpm...
标签列表