机器学习领域近年来取得了显著进展,提供了多种多样的学习算法。这些算法的实际应用效果很大程度上决定了它们的价值。因此,将这些算法应用于新的任务并验证其有效性对于推动整个领域的发展至关重要。
然而,目前很少有机器学习研究人员发布与论文相关的软件或源代码。相比之下,生物信息学界已经形成了良好的开源软件传统,开源软件已成为进一步研究的基础。缺乏公开可用的算法实现成为了该领域发展的主要障碍之一。
我们相信,开源软件的广泛共享将在解决这一问题上发挥重要作用。开源模型有许多优势,包括更高的实验结果可重复性、更快地发现和修复错误、以及在其他学科和行业中的快速应用。然而,目前缺乏足够的动机来鼓励研究人员发布完善的软件。当前援引开源软件的方法也存在一定的局限性。
为了解决这个问题,本文提出了一种正式发布机器学习软件的方法,类似于ACM Transactions on Mathematical Software提供的方法。接下来,本文将探讨开源软件背后的原理,分析开源模型带来的积极影响,讨论当前的主要障碍,并提出可能的改进措施。
开源软件的基本理念非常简单:用户可以自由阅读、修改和重新分发软件的源代码。虽然存在多种开源软件许可协议,但它们都共享一个共同的目标,即允许信息自由流通和共享。开源模型更加强调合作和共享精神,每位贡献者都可以利用他人已完成的工作,从而避免重复劳动。
开源软件通常具备以下十个特性:
本文简要介绍了开源软件与科学研究(尤其是机器学习)之间的关系,并列举了开源软件的优点。尽管有人可能会认为开源软件的好处被夸大了,但事实上,很难找到确凿证据证明专有系统与开源软件之间的抄袭行为。
从道德、伦理和社会基础的角度来看,开源软件应该成为机器学习研究的首选发布方式。本文重点阐述了开源软件在机器学习研究中的特定优势,这些优势不仅促进了科学进步,还满足了软件使用者和开发者的需求。以下是七个关键优势:
最后,作者通过一个表格总结了开源软件带来的11个具体好处:
尽管开源模型发布实现具有许多优点,但目前很少有研究人员选择这一方式。主要原因可以归纳为以下几点:
为了提交高质量的机器学习开源软件实现,作者建议提交以下内容:
综上所述,采用开源模型来实现机器学习软件对整个领域都有很大的帮助。开源模型具有许多优点,如提高实验结果的可重复性、更快地发现和修复错误、加速科学研究以及在其他学科和行业中更快地采用机器学习方法。由于当前发布开源软件的动机不足,本文提出了一种发布机器学习软件的平台。此外,本文还讨论了理想的机器学习软件功能,这些功能最终将产生一个高度可用、灵活且可扩展的软件。本文呼吁所有开发机器学习算法的研究人员向JMLR提交机器学习软件实现,以促进高质量机器学习软件的开发。