- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我需要为我的最新研究项目进行参数优化。我有一个算法,目前有 5 个参数(四个双 [0,1] 和一个标称值,有 3 个值)。该算法使用这些参数来计算一些东西,然后我计算精度、召回率和 FMeasure。单次运行大约需要 1.8 秒。目前,我正在以 0.1 的步长检查每个参数,这向我展示了全局最大值的大致位置。但我想找到精确的全局最大值。我研究了梯度下降,但我真的不知道如何将其应用到我的算法中(如果可能的话)。任何人都可以指导我如何实现这样的算法,因为我对这类工作还很陌生。
干杯,丹尼尔
最佳答案
您当然可以比网格搜索做得更好。
在应用像梯度下降这样的算法之前,你必须确保你的参数空间不包含局部最大值,或者至少你的起点接近全局最大值并且你的步长足够适合你到达它.
对于您的情况,我建议您先尽可能多地随机抽取样本。这是一种比网格搜索更好的探索参数空间的方法。通过这种方式收集到足够的数据后,您可以使用模式查找算法,例如 mean shift或其更快的衍生物之一,或直接进行优化。由于您没有参数空间的雅可比行列式,因此可以使用 Broyden's method ,它迭代地逼近它或 secant method ,例如 BFGS .
另请参阅此相关问题:How can I adjust parameters for image processing algorithm in an efficient way?
关于java - 真实世界参数优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14013266/
在 unsafeDupablePerformIO 的定义( source 、 docs )中,我找到了对唯一的 realWorld# 的引用。所以我想知道所有这些以 # 结尾的函数或值是在哪里定义的?
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题吗? 更新问题,以便 editing this post 提供事实和引用来回答它. 关闭 5 年前。 Improve
在现代 v8 Javascript 中,String.prototype.slice 的算法复杂度是多少? 明确地说,我正在寻找真实世界的实用数据或经验法则。 快速测试 我试图通过在最新的 Chrom
我正在阅读文章 Double-checked locking and the Singleton pattern ,关于如何破坏双重检查锁定,以及 Stack Overflow 上的一些相关问题。 我
Goerzen 等人 present CSV 文件解析器的简单实现,用于向 Real World Haskell 的读者介绍 Parsec 解析组合器库。 这是他们的简洁程序的一个版本: import
ResultBox1->Text = (sin(TextBox1->Text)) * TextBox2->Text 这就是我想要的工作,但我正在处理字符串 我似乎无法转换字符串,进行触发,然后转换回字
我想验证给定的字符串是 URL。匹配文本中的 URL 也很好,但不是必需的。我已经搜索并进行了实验,但到目前为止,我还没有找到可以满足这些要求的东西: 不得接受在被视为链接时会带来安全风险的字符串。例
在第3章,有一个例子叫“MySecond.hs”,我真的不明白是这样的代码: safeSecond :: [a] -> Maybe a 它总是在文件的第一行,删除它不会造成任何麻烦。任何人都可以启发我
我正在尝试使用 HTML Canvas 表示 LED 矩阵的闪烁。对我来说重要的是,每个 LED 的尺寸和它们之间的距离代表它们在现实世界中的真实尺寸(例如,以毫米为单位)。 如果我为一台计算机找到一
根据another question ,现实世界 Haskell 的部分内容现已过时。我只学习了第 5 章,但在将一个简单示例编译为可执行二进制文件时遇到问题。 给出了两个模块: module Sim
我正在尝试通过 mentioned chapter 。在阅读和思考练习时,我遇到了一些困难。 首先,fill 和 nest 函数的签名不应该是 :: Int -> Doc -> String 吗?我认
第 3 章定义了以下递归类型来表示二叉树: data Tree a = Node a (Tree a) (Tree a) | Empty deriv
这个问题不是重复的 A question with the same title already exists ,但 answer在我看来,只部分解决了它,我也对它没有解决的问题感兴趣。 前言 真实世
我是一名优秀的程序员,十分优秀!