快捷导航
科技信息

学术科研无从动手?27 条呆板学习避坑指南,让你的论文发表少走弯路

By 超神经内容一览:假如你刚打仗呆板学习不久,而且未来盼望在该范畴开展学术研究,那么这份为你量身打造的「避坑指南」可千万不要错过了。关键词:呆板学习 科研规范 学术研究呆板学习学术小白,怎样优雅避坑坑、

By 超神经

内容一览:假如你刚打仗呆板学习不久,而且未来盼望在该范畴开展学术研究,那么这份为你量身打造的「避坑指南」可千万不要错过了。

关键词:呆板学习 科研规范 学术研究

呆板学习学术小白,怎样优雅避坑坑、让本身的论文顺遂发表?

来自苏格兰赫瑞瓦特大学数学与盘算机科学学院的Michael A. Lones 副教授,曾在 2021 年专门发表了一篇论文--「How to avoid machine learning pitfalls: a guide for academic researchers」,对此举行了详细叙述。

阅读完备论文 (V2):

https://arxiv.org/pdf/2108.02497.pdf

Michael A. Lones重要研究方向包罗优化、呆板学习

数据科学、复杂体系和非尺度盘算

以及在生物学、医学、呆板人和安全题目中的应用

在这篇论文中,作者从学术研究的视角出发,联合本身的科研履历及教学履历,收录了在使用呆板学习技能的完备链路中,频仍出现、必要特殊关注的 5 大题目,并提出了相应的办理办法。

实用人群:

对 ML 范畴比力生疏,只具备根本 ML 知识的同砚或学者

温馨提示:

本文聚焦学术界广泛关注的题目,如:怎样严格评估和比力模子,使得论文能顺遂发表

接下来,我们将依照 ML 模子训练的完备流程,分阶段睁开叙述。

阶段 1:创建模子前

许多同砚一上来就急着训练和评估模子,每每忽略了更告急的「做功课」,这些「功课」包罗:

* 项目的目的是什么

* 实现这一目的,必要怎样的数据

* 数据会不会有范围性,假如有怎样办理

* 这一范畴的研发希望怎样,已经做了什么

这些前置工作没有做好,光发急跑模子,那么终极很大概出现模子无法证明预期结论、科研工作无法发表等尴尬局面。

1.1相识并分析数据

数据泉源可靠、网络方法科学且数据质量高,会对论文发表大有裨益。这里必要留意,被广泛使用的数据集不愿定都质量好,也有大概是由于它轻易获取。选取数据前先举行一些探索性的数据分析,清除数据的范围性。

1.2 不要检察全部数据,开始前就把测试数据区分出来

测试集的信息走漏到训练过程,是呆板学习模子不能泛化的一个常见缘故起因。为此,数据探索性分析阶段,不要过于过细地检察测试数据,制止故意或偶然地做出无法测试的假设,限定模子的通用性。

温馨提示:

做出假设是可以的,但是这些假设应该只被纳入模子的训练 (training) 中,而非测试 (testing) 中。

1.3 预备富足的数据

数据不敷大概低沉模子的概括性和通用性,这取决于数据集的信噪比 (Signal-to-Noise Ratio, SNR)。在呆板学习研究范畴中,一个常见的题目是数据量不敷,这时可以通过交织验证、数据加强等技能,进步现有数据的可用性。

1.4 积极向该范畴专家讨教

范畴专家具备丰富的科研履历,可以资助我们明白必要办理的题目、最符合的特性集和呆板学习模子,以及引导我们研究效果的发布,起到事半功倍的效果。

1.5 做好文献调研

学术进步是一个迭代的过程,每一项研究都提供了可以引导下一项研究的信息。忽视从前的研究,很大概会让本身错过有代价的信息。与其写论文的时间,才绞尽脑汁地表明为什么研究同样的课题、为什么不在现有的效果上开始研究,不如在开始工作前就做一个文献综述。

1.6 提前思索模子的摆设题目

假如学术研究的终极目的,是创建一个可以在现实天下中摆设的呆板学习模子,则必要尽早思量摆设题目,如情况限定对模子复杂度的影响、是否偶然间限定、怎样与软件体系联合等等。

阶段 2:可靠地创建模子

以一种有构造的方式创建模子非常告急,这使我们可以精确地使用数据,并充实思量模子的选择。

2.1 测试数据不能到场到模子训练过程中

一但测试数据到场到了模子的设置、训练或选择中,会极大影响数据的可靠性和通用性,这也是已发布的呆板学习模子常常不能通用于现实天下数据的一个常见缘故起因。

错误示例(留意规避):

* 数据预备期间,用整个数据集变量的均值和范围信息举行 variable scaling(精确做法是只在训练数据中举行)

* 在分割数据之前举行特性选择

* 使用雷同的测试数据评估多个模子的通用性

* 在分割测试数据之前应用数据加强

为了制止以上题目出现,最好的办法就是在项目开始前,就分别出一个数据子集,而且在项目竣事时只使用这个独立的测试集来测试单一模子的通用性。

温馨提示:

时间序列数据的处理处罚要特殊警惕,由于数据的随机拆分很轻易造成走漏和过拟合。

2.2 实验多个差异模子

天下上不存在放之四海皆通用的呆板学习模子,我们的研究工作就是要找到实用于特定题目的呆板学习模子。Python、R、Julia 等当代呆板学习库,只需对代码举行少量修改,就可以实验多种模子,找到最有效的模子。

温馨提示:

* 不要使用不符合的模子,使用验证集而非测试集来评估模子

* 比力模子时,要优化模子的超参数,并举行多次评估,并在发布效果时改正多重比力。

2.3 不要使用不符合的模子

当代呆板学习库低沉了呆板学习的实验门槛,同时也使得我们很轻易选用不符合的模子,如将实用于 categorical feature 的模子应用于包罗 numerical feature 的数据集,大概在该使用回归模子的时间使用分类模子。在选择模子时,应尽大概选用适实用例的模子。

2.4 深度学习有些时间并不是最优解

固然深度神经网络 (DNN) 在某些任务上表现精彩,但并不意味着 DNN 实用于全部题目,尤其是当数据有限、 underlying pattern 相当简朴,或模子必要可表明的时间,DNN 的表现大概并不如某些 old fashioned 呆板学习模子,如随机森林、SVM。

2.5 优化模子的超参数

超参数对模子的性能影响巨大,且通常必要与特定命据集相匹配。无目的地举行测试,大概并不是找到符合超参数的最佳方法。保举使用超参数优化计谋,如 random search 和 grid search。

温馨提示:

对于超参数数目巨大或训练资源较高的模子而言,这些计谋并不实用,可以借助 AutoML、数据发掘 pipeline 等技能来优化模子的选择及其超参数。

2.6 优化超参数及选择 feature 时必要额外仔细

超参数优化和特性选择是模子训练的一部门,不要在模子训练开始前,对整个数据集举行特性选择,这会使得信息从测试集走漏到训练过程中。优化模子的超参数或特性,最好使用与训练模子完全雷同的数据,一种常见的技能是嵌套交织验证(也称双重交织验证。

阶段 3:妥当地评估模子

不公道的模子评估非常广泛,这会拦阻学术研究的希望。因此,必要审慎思索怎样在实验中使用数据、衡量模子的真实性能并举行陈诉。

3.1 使用适当的测试集

使用测试集来衡量呆板学习模子的通用性,并确保测试集的数据是符合的。测试集不应与训练集重叠,且必要涵盖更广泛的条件,如一个物体的拍照数据集,假如训练集和测试集都是在晴天的室外网络的,测试集就不是独立的,由于没有捕获到更广泛的气候条件。

3.2 分割数据前不要举行数据加强

数据加强有利于平衡数据集和进步呆板学习模子的通用性和妥当性,必要留意的是数据加强应该只应用于训练集,不涉及测试集,以防出现过拟合。

3.3 使用验证集

使用一个单独的验证集来衡量模子性能,这包罗一组不直接用于训练,而是用于引导训练的样本。验证集的另一个长处是可以举行 early stopping。

3.4 对模子举行多次评估

模子的单一评估并不可靠,大概低估或高估了模子的真正性能,为此,必要对模子举行多次评估,大多涉及到使用差异的训练数据子集对模子举行多次训练。交织验证 (Cross-Validation) 是一种特殊盛行且种类浩繁的方法,如 Ten-fold Cross-Validation。

温馨提示:

陈诉多次评估的均值和尺度差的同时,发起生存单个分数纪录,以备后续使用统计查验 (statistical tests) 对模子举行比力。

3.5 生存一些数据来评估终极的模子实例

对模子实例的通用性举行可靠评估的最佳方法,大概就是使用另一个测试集。以是,假如数据量充足大,最好先生存一些,并用其对终极选定的模子实例举行无弊端 (unbisded) 的评估。

3.6 不要对非平衡数据集使用正确率

审慎选择评估呆板学习模子的指标,比方,分类模子最常用的指标是正确率 (accuracy),假如是平衡数据集(每个种别在数据会合都有雷同数目的样本代表)效果就会很好;假如优劣平衡数据集,正确率则大概是一个非常具有误导性的指标。

在这种情况下,最好使用 F1 score、科恩卡帕系数 (κ) 或马修斯相干系数 (MCC) 等对 class size imbalance 不敏感的指标。

阶段 4:公平地比力模子

对模子举行比力是学术研究的根本,但假如以不公平的方式举行比力,而且发表,就会带偏其他研究职员。以是,必要确保在同一条件下评估差异模子,并精确使用统计查验 (statistical tests)。

4.1 对于模子而言,并不是数字越高性能越好

论文中常出现这种表述「此前研究中的正确率是 94%,本文模子正确率高达 95%,因此更好」。各种缘故起因表明,更高的数字不等同于更好的模子,假如模子是在同一个数据集的差异分区上训练或评估的,大概性能差异教小;假如是用了完全差异的数据集则大概性能差异巨大。没有举行雷同数目的超参数优化也会影响模子性能差异。

因此,要想对两个模子科学地举行性能比力,应该将模子优化到雷同水平,并举行多次评估,然后用统计测试的方法确定性能差异是否明显。

4.2 用统计查验比力模子

保举用统计查验 (statistical tests) 比力两个模子的性能差异。广义上讲,比力呆板学习模子的 test 分为两类:第一类用于比力同类模子实例,如比力两个训练好的决议树时,可以选用 McNemar 查验;第二类实用于更通用的模子比力,如比力决议树和神经网络哪个更适适时,选用曼-惠特尼 U 查验。

4.3 对多重比力举行校正

用统计查验比力两个以上模子有些复杂,multiple pairwise test 雷同多次使用测试集,这大概导致对明显性 (significance) 过于乐观 (overly-optimistic) 的表明。

保举使用多重查验 (multiple test) 校正来办理这个题目,如邦费罗尼校正(Bonferroni correction)。

4.4 不要过于信任社区基准的效果

对于某些范畴的题目,许多人会选用基准数据集来评估新呆板学习模子的性能,由于各人都是使用雷同的数据来训练和测试模子,那么比力起来就会更加直观。这种方法有一些重要缺点。

起首,假如测试集的访问不受限,则不能包管别人没有把它作为训练过程的一部门,这会导致对于效果的太过乐观。别的,纵然每个使用数据的人只使用了一次测试集,但总体而言,测试集被社区使用了许多次,这也会导致模子过拟合的发生。为此,应该审慎地解读基准数据集的效果,对性能的进步举行公道研判。

阶段 5:陈诉效果

学术研究必要对知识有贡献,这要求陈诉研究工作的团体情况,包罗哪些工作乐成、哪些失败。呆板学习通常和 trade-offs 相干,一个模子在全部方面都比另一个模子好是很少见的。以是在陈诉效果时必要表现这一点。

5.1 陈诉必要透明

把全部研究工作都透明地分享出来,这利于其他人重复这项实验,也方便人们比力模子。清晰地纪录实验及写出整洁的代码,对本身和他人都有长处。呆板学习社区越来越留意实验的可复现,工作流程纪录不充实,大概会影响后续发表。

5.2 多种方式陈诉性能

在评估模子性能时,一个更严谨的方法是使用多个数据集,这能资助降服与单个数据集相干的任何缺陷,并给出模子性能的全面形貌。为每个数据集陈诉多个指标是很好的做法,由于差异指标能出现差异的效果,增长工作的透明度。

5.3 只针对数据举行归纳

不要提出无效结论,这会把其他研究职员带入邪路。一个常见的错误是,发表训练和评估模子的数据不支持的概括结论。模子在一个数据集上表现很好,不意味着在其他数据集上也做得好。固然可以通过使用多个数据集得到可靠的 insights,但从实验中研究和推断出的东西总是有限的。不要夸大发现,意识到范围性。

5.4 审慎陈诉明显性差异

上文探究的统计查验,可以资助查验模子间的差异。但统计查验并不完善,大概会低估或高估模子的明显性,出现假阳或假阴的题目。别的越来越多的统计学家主张放弃使用置信度阈值 (confidence threshold)、直接陈诉 p 值来测定模子明显性。

除了统计明显性,另一个要思量的题目,是两个模子间的差异是否真的告急。由于只要样本充足,总是能找到明显的差异,哪怕现实性能差异微乎其微。以是在判定告急性时,可以衡量效应值 (effect size),方法包罗 Cohen’s d statistic(更广泛)、Kolmogorov Smirnov(效果更好,保举)等。

5.5 关注模子运行原理

训练过的模子包罗浩繁有效信息,但许多作者只陈诉模子的性能指标,对模子原理不作表明。研究的目的不是得到比别人稍高的正确率,而是总结知识并分享给研究社区,进而增长工作效果发表的大概性,如,对于决议树一类的简朴模子,提供模子可视化;对于深度神经网络一类的复杂模子,思量使用 XAI(可表明人工智能)技能提取相干信息。

以上就是「避坑指南」的完备内容,等待每位刚打仗呆板学习的同砚,都能收好这份宝典、常读常新,顺遂找到研究方向、选好课题,并早日顺遂发表论文!

等待各位的好消息~

参考链接:

[How to avoid machine learning pitfalls: a guide for academic researchers]

https://arxiv.org/pdf/2108.02497.pdf

—— 完 ——

收藏 邀请
上一篇:融资1.3亿美元!阿联酋电信埃及扩建底子办法下一篇:电信运营商该怎样在泛终端圈“狂飙”?
我有任务需求要发布
专业服务商主动承接
快速解决你的需求

专注IT众包服务

平台只专注IT众包,服务数 十万用户,快速解决需求

资金安全

交易资金托管平台,保障资 金安全,确认完成再付款

实力商家

优秀软件人才汇集,实力服务商入驻,高效解决需求

全程监管

交易过程中产生纠纷,官方100%介入受理,交易无忧

  • 微信访问
  • 手机APP