当前位置: 首页 > 科技观察

如何写出好的机器学习论文?

时间:2023-03-15 23:02:44 科技观察

本文经AI新媒体量子比特(公众号ID:QbitAI)授权转载,转载请联系出处。还在教学阶段钻研的研究生和新从业者,想不想在机器学习研究中少走弯路?或许下面这篇论文可以帮到你:《如何避免机器学习研究中的陷阱?一本给学术研究人员的指南》作者是英国赫瑞瓦特大学数学与计算机科学学院副教授,爱丁堡机器人中心成员。博士毕业十余载。这篇17页的论文主要介绍了机器学习学术研究中的一些常见错误以及如何避免这些错误。该指南涵盖了机器学习过程的五个方面:如何准备建模、如何构建可靠的模型、如何稳健地评估模型、如何公平地比较模型以及如何报告结果。一位从事机器学习研究的研究人员称赞这篇论文很有价值,因为他在博士学习和工作期间多次遇到论文中提到的错误。他准备让所有新入职的工程师好好看看。很多人认为指南的意见可能不受欢迎,因为其中很多是研究人员应该知道的基本常识,比如多次重复实验,报告均值和方差以进行严格比较,但它们只是为了方便或使数据看起来更好,并被选择性地忽略。让我们仔细看看作者常犯的错误。建模前的准备为了得到一个符合预期目的的模型并顺利发布结果,建模前需要准备以下6点:1.一定要花时间研究你要使用的数据集。货源可靠,质量好。确保。2.但是不要看测试数据,防止先入为主的做出某些假设,导致最终模型通用性差。3.保证数据量足够大。当然,不保是常有的事。解决方案:比如评估模型时交叉验证数据,使用数据扩展技术(当数据集中某些类型的数据不够用时也可用)。但一般来说,如果数据不够,模型不能设计得太复杂,否则分分钟就会过拟合。4.与相关领域的专家交谈以防止研究脱节,他们还可以帮助您向最合适的期刊/受众发表论文。5.检索相关文献。虽然发现别人已经研究过了很郁闷,但是你写论文的时候怎么解释为什么要覆盖同一个领域。6.一定要提前考虑模型部署的问题:大部分学术研究最终都会落地,对吧?考虑落地场景的资源和时间限制来设计模型。如何建立可靠的模型1.不要让测试数据参与训练过程(这一点前面也强调过)。2.尝试不同的ML模型,不要生搬硬套,具体问题具体分析,找到最适合解决你问题的模型。“凑合”的示例包括将期望分类特征的模型应用于由数字特征组成的数据集,将假设变量之间没有依赖关系的模型应用于时间序列数据,或仅信任最新模型(旧模型不一定是旧模型)).合适的)。3.一定要优化模型的超参数。最好使用某种超参数优化策略,这样写论文的时候便于组织。除了数据挖掘实践之外,AutoML技术还可用于优化模型及其超参数的配置。4.进行超参数优化和特征选择时要小心:为防止测试集“泄漏”,在模型训练开始之前不要对整个数据集进行特征选择。理想情况下,您应该使用与训练模型完全相同的数据。实现此目的的常用技术是嵌套交叉验证(也称为双重交叉验证)。如何稳健地评估模型不公平地评估模型很容易给学术研究蒙上阴影。作者一共做了5点:1.一个模型在训练集上的表现几乎没有意义,保证测试集和训练集的独立性。2.连续迭代多个模型时使用验证集,用之前的数据指导下一次配置。不要让测试集参与。可以根据验证集来衡量模型:当分数开始下降时,停止训练,因为这是模型开始过度拟合的迹象。3.多次评估模型,防止低估/高估性能。十折交叉验证是最标准的做法,分层对于非常小的数据类也很重要;需要报告多次评价的均值和标准差;还建议保留个人分数记录,以备日后使用统计测试模型进行比较。4.保留一些测试数据以公正地评估最终模型实例。5.不要在不平衡的数据集上使用准确性指标。该指标常用于分类模型,对于不平衡的数据集应使用kappa系数或马修斯相关系数(MCC)指标。如何公平地比较模型是一个非常重要的部分,但令人惊讶的是,很多人都不对。作者表示,要保证不同模型在同一环境下进行评估,多角度探索,正确使用统计检验。1.数字越大并不代表模型越好。每个模型都应该优化到相同的程度,多次评估,并使用统计测试来确定性能差异是否显着。2.如果你想让人们相信你的模型是好的,你必须做统计检验。3.多重比较校正:如果你以95%的置信度做20次成对检验,其中一个可能会给你错误的答案。这被称为多重效应。最常见的解决方案是Bonferroni校正。4.不要总是相信公共基准测试的结果。使用基准数据集评估新的ML模型已经司空见惯,你认为这会使结果更加透明,事实上:如果测试集具有不受限制的访问权限,你无法确保其他人在训练过程中没有使用它;多次使用的公共测试集上的许多模型可能会过度拟合;一切都以乐观的结果告终。5.考虑组合模型。如何报告结果学术研究的目的不是自我膨胀,而是贡献知识的机会。为了有效地贡献您的想法,您需要提供研究的全貌,包括哪些有效,哪些无效。1.对您的发现保持透明,以便其他人可以更轻松地以您的工作为基础。分享你的代码也会让你对编码更加认真。2.提供关于多个测试集的报告,报告每个数据集的多个指标(如果报告F值,请说明这是F1分数还是精确率和召回率之间的其他平衡;如果报告AUC,请指出这是否是ROC曲线下或PR下的面积);3、不要超出结果一概而论,不要夸大其词,注意数据的局限性。4.报告统计显着性时要小心:越来越多的统计学家认为最好不要使用阈值,而是只报告p值,留给读者去解读。除了统计显着性之外,还需要考虑的另一件事是两个模型之间的差异是否真的显着。5.最后,返回并全面查看您的模型。除了上报业绩指标,看看它能解决多少实际问题。以上就是全部内容。作者表示有些观点可能存在争议,文中未详尽,所以提供了很多参考链接供大家进一步参考。此外,理论总是落后于实践。我们今天认为正确的东西明天可能就不正确了。因此,大家应该以开放的心态面对机器学习,紧跟最新的技术进步,虚心接受新知识。更多意见欢迎在评论区补充。指南地址:https://arxiv.org/abs/2108.02497