【ML/NLP】baseline

知乎@金柔

Baseline就是参照物,可以是最基础的模型,业界的普遍做法或者你要去pk的对手玩法。选取什么作Baseline那就看你的目的咯

知乎@walle

在CVPR2016的best paper, 也就是何凯明的Deep Residual Learning for Image Recognition一文中,对于34层残差卷积神经网络和34层普通卷积神经网络,做了对比,在对比中普通CNN被称为plain baseline(3.3开头处);ICCV2017的一片使用GAN进行数据增强的文章Unlabeled Samples Generated by GAN Improve the Person Re-indentification Baseline in vitro 中在abstract中描述自己的结果比一个强大的baseline准确率提高了0.6%
由此二者结合一些网上的资料可见,baseline一词应该指的是对照组,基准线,就是你这个实验有提升,那么你的提升是对比于什么的提升,被对比的就是baseline

知乎@刘宇波

Baseline Model的意义,是让我们了解这个问题的基线在哪里,从而让我们不再迷信一个绝对的数值。你告诉我你的预测准确度是99.9%,严格意义来讲是没有意义的。因为如果你的Baseline Model的准确率也是99.9%,你的算法等于没有做任何事情;而如果你的Baseline Model的准确度是99.99%,你的算法反而让结果变差了。但是如果你的Baseline Model的准确率是50%,你的算法结果准确率哪怕仅仅是60%,也是挺不错的一个改善。


知乎@Anonymous:Benchmark和baseline的区别


Benchmark和baseline都有性能比较的意思。
先看看字典定义。

benchmark:N-COUNT A  benchmark is something whose quality or quantity is known and which can therefore be used as a standard with which other things can be compared.

通俗的讲,一个算法之所以被称为benchmark,是因为它的性能已经被广泛研究,人们对它性能的表现形式、测量方法都非常熟悉,因此可以作为标准方法来衡量其他方法的好坏
这里需要区别state-of-the-art(SOTA),能够称为SOTA的算法表明其性能在当前属于最佳性能。如果一个新算法以SOTA作为benchmark,这当然是最好的了,但如果比不过SOTA,能比benchmark要好,且方法有一定创新,也是可以发表的。

baseline:N-COUNT A  baseline is a value or starting point on a scale with which other values can be compared.

通俗的讲,一个算法被称为baseline,基本上表示比这个算法性能还差的基本上不能接受的,除非方法上有革命性的创新点,而且还有巨大的改进空间和超越benchmark的潜力,只是因为是发展初期而性能有限。所以baseline有一个自带的含义就是“性能起点”。这里还需要指出其另一个应用语境,就是在算法优化过程中,一般version1.0是作为baseline的,即这是你的算法能达到的一个基本性能,在算法继续优化和调参数的过程中,你的目标是比这个性能更好,因此需要在这个base line的基础上往上跳。

简而言之,
benchmark一般是和同行中比较牛的算法比较,比牛算法还好,那你可以考虑发好一点的会议/期刊;
baseline一般是自己算法优化和调参过程中自己和自己比较,目标是越来越好,当性能超过benchmark时,可以发表了,当性能甚至超过SOTA时,恭喜你,考虑投顶会顶刊啦。


8种常见机器学习算法比较

算法选择参考:之前翻译过一些国外的文章,有一篇文章中给出了一个简单的算法选择技巧:

1. 首当其冲应该选择逻辑回归,如果它的效果不怎么样,那么可以将它的结果作为基准来参考,在基础上与其他算法进行比较;

2. 然后试试决策树(随机森林)看看是否可以大幅度提升你的模型性能。即便最后你并没有把它当做为最终模型,你也可以使用随机森林来移除噪声变量,做特征选择;

3. 如果特征的数量和观测样本特别多,那么当资源和时间充足时(这个前提很重要),使用SVM不失为一种选择。

通常情况下:【GBDT>=SVM>=RF>=Adaboost>=Other…】,现在深度学习很热门,很多领域都用到,它是以神经网络为基础的,目前我自己也在学习,只是理论知识不是很厚实,理解的不够深,这里就不做介绍了。

算法固然重要,但好的数据却要优于好的算法,设计优良特征是大有裨益的。假如你有一个超大数据集,那么无论你使用哪种算法可能对分类性能都没太大影响(此时就可以根据速度和易用性来进行抉择)。

你可能感兴趣的:(NLP)