从基线模型开始:别担心,模型最开始都让人不忍直视
作者:网友投稿 时间:2018-05-19 01:49

大数据文摘作品
编译:张南星、惊蛰、荆浩男
一、怎样高效开发机器学习产品
想要开发通用AI,首先你得掌握逻辑回归模型。
从最基础的开始
在大多数领域,当人们尝试用科学的方式理解世界时,都会选择先宽泛研究整体的内容,而不是立马深入到重要的细节之中。
譬如在物理学领域,我们常常从简单的模型开始(牛顿物理学)做研究。然后,我们在逐渐认识到最初的一些假设并不正确时,就会慢慢开始使用更复杂的模型。这种方式可以以最简单的方法高效地解决问题。
凡事力求简单,但不要过于简单。——阿尔伯特·爱因斯坦
同样的思维模式,即从最简单的模型开始建造,也可以应用于AI工程之中。并且在大多数情况下,这样的方式都很有价值。
事实上,在Insight上目睹成百上千个项目从想法发展成实际产品之后,我们发现将一个简单模型作为基础版本,往往能让最终产品变得更棒。
但在解决复杂问题时,简单的解决方案(比如下文中讨论到的基线模型)存在诸多不足:
简单的解决方案有时会忽略输入中的重要内容。例如,简单的模型常常会忽略词语在语句中的顺序,或者变量之间的关系。
在生产比较细致的产品时,这些模型往往有些力不从心。因此,大多数简单模型都需要配合使用启发式算法或者人工制定的规则才会面世。
它们研究起来可能并不那么有趣,而且可能没法让你学到自己渴望的前沿研究知识。
这些简单解决方案产出的错误输出常常看起来非常愚蠢,所以标题中用了“不忍直视”这个词。但是,正如本文所说的,在项目启动时,简单模型的价值就会大大体现,因为这些模型可以帮助我们更好地理解实际问题,从而告知我们开发出最终成功产品的最佳路线。
用George E. P. Box的话来说:“所有的模型都是错的,但至少其中一些会有点用处。”
再换句话说,如果你只想找点乐子,那从复杂的模型开始没问题;但是如果你希望真正解决某个问题,并开发真正产品的话,那就从简单得“不忍直视”的模型开始吧。
二、什么是基线模型?
“当从散点图中预测数据关联性比画星座图更难的时候,我不相信线性回归得到的结果”:

左:方差为0.06的线性回归模型
右:Rexthor“遛狗”模型
不同的分布类型需要不同的基线模型。下面是一些值得考虑的基线模型:
线性回归:从一系列特征值中预测连续值的首要可靠方法,例如价格和年龄
逻辑回归:当需要对结构化数据或者自然语言进行分类时,逻辑回归模型能迅速给出可靠的结果。
梯度提升决策树:不可错过的Kaggle经典!在和时间或者通用结构化数据相关的预测处理中,忽略梯度提升决策树简直是不可能的事。虽然这个模型比其他基线模型在理解和使用上稍难一些,但是效果会很不错。
简单脑回框架:恰当调整了的VGG或者对部分变量进行再训练了的U-net,对大多数图像分类、探测或者分类问题来说是一个好的开头。
摆在你面前可供选择的基线模型还有很多!
到底选择哪个基线模型是由数据类型及任务目标决定的。比如,当你需要从各种特征值中预测房价时(即从一系列特征值中预测某个值),线性回归模型就比较合适,但如果是建造语音识别算法,这个模型就不太适用。在选择最适合的基线模型之前需要再三思考这个问题:你希望用这个模型得到什么?
三、为什么从基线模型开始?

从部署模型到获得结果的过程
部署一个模型并不轻松,在实施之前必须确保对这个模型足够了解。在项目开始时,优先级最高的事项是预测未知风险。即使基线模型并不是终版模型,但是它能让你迅速迭代,从而降低不必要的时间成本。下面是支持这个论点的一些理由:
基线模型只会花费你少于十分之一的时间,却可以导出超过90%的结果。
把你的产出效率提高9倍!



