Renascence架构原理——最优化算法

简介: 最优化算法背景通过公式生成ADF之后,根据下层函数库的配置,在结构不变的情形下,ADF是可以通过一系列值在0-1之间的参数进行调节的。也即ADF可表示为固定维数n的实数集,因此需要解决的问题就是在给定的目标下,求一组使目标值最大的参数。 max(f(x0,x1,x2,x3,...,xn)),xi∈[0,1]max(f(x_0, x_1, x_2, x_3, .

最优化算法

背景

通过公式生成ADF之后,根据下层函数库的配置,在结构不变的情形下,ADF是可以通过一系列值在0-1之间的参数进行调节的。也即ADF可表示为固定维数n的实数集,因此需要解决的问题就是在给定的目标下,求一组使目标值最大的参数。

max(f(x0,x1,x2,x3,...,xn)),xi[0,1]

由于架构本身并不知道ADF运行的函数实现,因此目标函数是完全未知的,无法用梯度下降/牛顿迭代法等处理,更不用说线性规划的那些解法了。

这时候可选择的,就是穷举法或启发式算法。

最优化算法

穷举——网格搜索

学过支持向量机SVM的人应该都瞄过这个算法,是用来优化RBF核中的两个参数的。
很简单的一个算法,设定精度,n层for循环穷举所有的参数值即可。
直接写段代码说明吧:

//精度设为0.001,两个参数
double maxP = 0.0;
double max_x0 = -1;
double max_x1 = -1;
for (double x0=0.0; x0<=1.0; x0+=0.001)
{
    for (double x1=0.0; x1<=1.0; x1+=0.001)
    {
        double currentP = f(x0, x1);
        if (currentP > maxP)
        {
            maxP = currentP;
            max_x0 = x0;
            max_x1 = x1;
        }
    }
}

在具体实现时,由于n是可变的,不能直接写n个for循环,需要用一个进位算法实现,不详述。

全随机——蒙特卡洛算法

完全随机地取若干组参数值,然后取其中最大的一组。

目录
相关文章
|
28天前
|
机器学习/深度学习 存储 算法
神经网络分类算法原理详解
神经网络分类算法原理详解
50 0
|
28天前
|
设计模式 安全 Java
【分布式技术专题】「Tomcat技术专题」 探索Tomcat技术架构设计模式的奥秘(Server和Service组件原理分析)
【分布式技术专题】「Tomcat技术专题」 探索Tomcat技术架构设计模式的奥秘(Server和Service组件原理分析)
33 0
|
16天前
|
机器学习/深度学习 自然语言处理 算法
|
1天前
|
JSON API 数据库
后端架构设计与优化:打造高性能应用后端
后端架构设计与优化:打造高性能应用后端
10 2
|
2天前
|
算法 数据可视化
【视频】Copula算法原理和R语言股市收益率相依性可视化分析
【视频】Copula算法原理和R语言股市收益率相依性可视化分析
|
2天前
|
机器学习/深度学习 自然语言处理 算法
【视频】K近邻KNN算法原理与R语言结合新冠疫情对股票价格预测|数据分享(下)
【视频】K近邻KNN算法原理与R语言结合新冠疫情对股票价格预测|数据分享
10 0
|
2天前
|
机器学习/深度学习 算法 大数据
【视频】K近邻KNN算法原理与R语言结合新冠疫情对股票价格预测|数据分享(上)
【视频】K近邻KNN算法原理与R语言结合新冠疫情对股票价格预测|数据分享
|
2天前
|
机器学习/深度学习 人工智能 算法
揭秘深度学习中的优化算法
【4月更文挑战第24天】 在深度学习的广阔天地中,优化算法扮演着至关重要的角色。本文将深入探讨几种主流的优化算法,包括梯度下降法、随机梯度下降法、Adam等,并分析它们的特点和适用场景。我们将通过理论分析和实例演示,揭示这些优化算法如何帮助模型更高效地学习参数,从而提高模型的性能。
|
4天前
|
数据可视化 算法
【视频】Copula算法原理和R语言股市收益率相依性可视化分析-1
【视频】Copula算法原理和R语言股市收益率相依性可视化分析
16 0
|
11天前
|
算法
R语言使用随机技术差分进化算法优化的Nelson-Siegel-Svensson模型
R语言使用随机技术差分进化算法优化的Nelson-Siegel-Svensson模型
20 0