在进行探索性数据分析和开发算法时,我发现我的大部分时间都花在了可视化、编写一些代码、在小数据集上运行、重复的循环中。我拥有的数据往往是计算机视觉/传感器融合类型的东西,算法是视觉密集型的(例如对象检测和跟踪等),现成的算法在这种情况下不起作用。我发现这需要很多迭代(例如,拨入算法类型或调整算法中的参数,或获得正确的可视化),而且即使在小数据集上运行时间也很长,所以所有这些都需要一段时间。
如何加快算法开发本身并使其更具可扩展性?
一些具体的挑战:
如何减少迭代次数?(尤其是当什么样的算法,更不用说它的细节,如果不尝试不同的版本并检查它们的行为似乎是不容易预见的)
在开发过程中如何在更大的数据集上运行?(通常从小数据集到大数据集是在看到一堆新行为和新问题时)
如何更快地调整算法参数?
如何将机器学习类型的工具应用到算法开发本身?(例如,不要手动编写算法,而是编写一些简单的构建块并以从问题中学习的方式组合它们等)