首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“黑箱”系统中最优参数的求取

“黑箱”系统中最优参数的求取
EN

Stack Overflow用户
提问于 2013-07-17 02:37:46
回答 1查看 163关注 0票数 2

我正在开发机器学习算法,根据训练数据对图像进行分类。

在图像预处理阶段,我可以修改几个参数,这些参数影响我输入算法的数据(例如,我可以在提取SURF特征时改变Hessian阈值)。因此,到目前为止的流动情况如下:

param1,param2,param3.=>黑匣子=>准确率%

我的问题是:有这么多参数可供我使用,我如何系统地挑选给我优化结果/精度的值?一种天真的方法是运行我嵌套的循环(假设i参数),然后迭代所有的参数组合,但是如果从我的“黑箱”系统中计算精度需要5分钟,这将需要很长很长的时间。

话虽如此,在黑匣子系统中,是否有任何算法或技术可以搜索最优参数?我正在考虑上一门关于离散优化的课程,但我不确定这是否是我时间的最佳利用。

谢谢你的时间和帮助!

编辑(回答注释):我有5-8个参数。每个参数都有自己的范围。一个参数可以是0-1000 (整数),而另一个参数可以是0到1(实数)。没有什么能阻止我多线程黑匣子评估。

此外,黑匣子的某些部分对它们也有一些随机性。例如,一个阶段是使用k均值聚类.每个黑匣子的评估,集群中心可能会改变。我运行k-意思是几次(希望)避免局部optima。此外,我对黑匣子进行了多次评估,并找到了中位精度,以进一步减少随机性和离群点。

EN

回答 1

Stack Overflow用户

发布于 2016-05-19 00:17:04

作为局部解,在n个参数导致最优值的区域内,可以递归地搜索中等分辨率和范围的网格搜索。

每个步骤的n维结果将被用作下一次迭代的起点。

关键是对于每一次迭代,在绝对条件下,分辨率保持不变(即保持迭代周期不变),但范围缩小,从而减小了螺距/颗粒步长。

我称之为“收缩网格”:)

请记住,虽然它避免了完全的蛮力复杂性,但在最后的迭代中它只达到了详尽的解析(这就是定义的,最后的迭代)。

此外,所述过程仅限于可能包含或不包括全局最小值的点的子集,即它可能导致局部极小值。

(你总是可以追逐你的尾巴,尽管你可以用一些次初始分辨率来抵消初始网格,并比较结果.)

玩得开心!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17690157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档