题:
我想就无法对groundtruth进行验证的情况下人们如何设置算法参数展开讨论(可能是因为groundtruth无法获得或很难/乏味地获得)。
我已经阅读了许多论文并实现了底层算法,其中---据说一组参数是“凭经验设置的” ---而且我经常发现这些参数会影响算法的通用性(即使该方法所基于的理论是优雅,诱人和稳健的。
如果您能分享您的想法,我将不胜感激。并且,此问题没有正确或错误的答案。我只想知道,其他人如何处理这个问题。
背景/问题来源:
我是一名从事图像分析,计算机视觉和机器学习领域的计算机科学家,每当我设计新算法并且每次发现自己花费了大量时间来调整参数。
另外,我想,我的问题在涉及计算算法的任何领域都更普遍,我想邀请所有相关领域的人们的想法。
我想给您一个具体的例子,以帮助您思考:
---以特征检测为例(比如说圆形斑点或显着点)。您以不同的比例(比例参数)运行某些过滤器(需要参数),并可能将响应设置为阈值(阈值参数)。在这种情况下,通常无法获得验证的依据,从而无法自动调整参数。
---采用任何涉及大量信号处理组件的计算框架。总是有需要调整的参数,通常没有基础,当您主观调整数据集的随机小子集时,总有一天会遇到无法推广的情况。
当您为算法中的某些中间步骤设置参数时,此参数魔鬼会更麻烦。
而且我经常发现,不可能将为这些参数找到合适的值的问题作为具有目标函数的优化问题,您可以对其求导,从而使用标准的优化算法来找到合适的值。
同样,在许多情况下,将这些参数暴露给最终用户也是不可取的,因为我们经常为非计算最终用户(例如生物学家,医生)开发应用程序/软件,并且当您要求他们进行调整时,它们通常变得毫无头绪。除非它非常直观(例如大约对象大小)。
请分享您的想法。
I want to kick up a discussion ...
确实很好地表明您要求的内容不适合* .SE格式。