在进行机器学习比赛时,将不同角度的解决方案组合在一起往往是个好主意。我和Daniel在以前的医疗比赛中一起合作过,知道他是一个非常聪明的人,且他的参赛思路一般和我不同。他是从研究的角度来看问题,而我一般以工程的角度来看问题。当我们合作时,我们确信结合两者互补的方法,能有一个很棒的解决方案。 我们这次组队,一开始就发现两个人对LIDC数据集中的恶性信息有完全相同的观察角度,解决方案也很相似,感到有点失望。不过幸运的是,剩余部分的设计方法完全不同,结合后显著改进了LB排名和本地CV值。下面列举出一些主要的区别。
表3:Julian和Daniel之间设计方法的差异 强强联合是一个很好的选择。虽然我因为LB得分感到担忧,但Daniel觉得应该主要关注本地CV值。所以最终我减少研究本地CV值和LB的匹配关系,并着重于改进本地CV值。在最后的排行榜上,证明这是一个很好的决定,因为在最后,第二阶段的排行榜与本地CV值相当匹配,我们获得了比赛的第二名。尽管有许多队伍,在第一阶段取得了很好的排行榜得分,后来被证明模型过拟合。 总结与感想 我们在观察网络对CT图像的结节检测时,模型效果很好。第一阶段,logloss为0.43,公开排行榜的ROC准确率为0.85,第二阶段,logloss为0.40,私人数据集的ROC准确率更高。这让我很兴奋,因为在这个数据集上,我们的模型已经是一位训练有素的放射科医生了。 对于放射科医师来说,这个自动结节检测的模型可能很有帮助,因为在实际判断中,部分结节容易被忽视。模型对肿瘤恶化程度的评估效果也很好,但训练样本量只有1000个,所以应该有很大的改进空间。 在Daniel和我合作的解决方案中,应用了相当多的工程办法,许多步骤和决定是基于经验和直觉来确定的。我们没有足够的时间来准确地验证所有方法的效果。下面提出进一步研究的一些建议。 1.建立放射科医师基准线。根据一个放射学家在这个数据集上的具体表现,建立一个具有参考意义的基准。 2.对NDSB数据集的恶性肿瘤标注。在这场比赛中,训练样本只有约1000个结节。输入更多精确标记的例子,肯定进一步提升算法准确度。 3.尝试更多不同的神经网络结构。我花了很少时间来选择效果最佳的网络结构,可能会错过一些效果更好的结构。 相关资源 这次比赛的Kaggle地址(含说明、数据集等):https://www.kaggle.com/c/data-science-bowl-2017/ 文中提到的另一个比赛LUNA16:https://luna16.grand-challenge.org/ 该项目的完整程序请查看GitHub链接:https://github.com/juliandewit/kaggle_ndsb2017 Dan Hammack也公布了他的代码:https://github.com/dhammack/DSB2017/ (完) 招聘 量子位正在招募编辑记者、运营、产品等岗位,工作地点在北京中关村。相关细节,请在公众号对话界面,回复:“招聘”。 One More Thing… 今天AI界还有哪些事值得关注?在量子位(QbitAI)公众号会话界面回复“今天”,看我们全网搜罗的AI行业和研究动态。笔芯~ 另外,欢迎加量子位小助手的微信:qbitbot,如果你研究或者从事AI领域,直播,小助手会把你带入量子位的交流群里。 追踪人工智能领域最劲内容 (责任编辑:本港台直播) |