模型开发
媒体对模型和算法开发的报道越来越多,但如果你同数据科学家交谈,他们中的大多数人都会告诉你,训练数据的匮乏以及数据科学的产品化是更加紧迫的问题。通常来说,市面上已有足够多的简单明了的用例,让你可以开发你喜欢的(基本或高级的)算法,并在以后进行调整或替换。
由于工具使算法的应用变得容易,因此,先回想一下如何评估机器学习模型的结果,这很有必要。尽管如此,不要忽视了你的业务指标和目标,因为它们未必与调试得最好或表现得最好的模型完全相符。关注与公正和透明有关的事情进展,研究人员和企业正开始检查、解决这方面的问题。对隐私的担忧,加之设备的激增,催生了不依赖于集中式数据集的技术。
深度学习正逐渐变成数据科学家必须了解的算法。深度学习最初用于计算机视觉和语音识别,现在开始涉及数据科学家能想到的各种数据类型和问题。其中的挑战包括,选择适当的网络结构(结构工程是新的特征工程),超参数调整,以及描述问题和转换数据以适合深度学习。(巧合的是,今年我见过的最有趣的大型数据产品之一,并不是基于深度学习。)
很多时候,用户更喜欢可解释的模型(某些情况下,黑盒模型不被人们所接受)。考虑到基本机制易于理解,可解释的模型也更容易改进。随着深度学习的兴起,企业开始使用那些能解释模型预测原理的工具,以及能解释模型从何而来(通过追踪学习算法和训练数据)的工具。
工具
我不想列出一个工具清单,因为可列举的工具实在太多了。帮助我们摄取、整合、处理、准备和存储数据以及部署模型的工具都非常重要。以下是对机器学习工具的几点看法:
· Python和R是最流行的机器学习编程语言。对于那些想使用深度学习技术的人来说,Keras是最受欢迎的入门级语言。
· 虽然笔记本电脑似乎是不错的模型开发工具,但集成开发环境(IDE)在R用户中深受欢迎。
· 通用机器学习和深度学习的库有很多,其中一些更善于推进从原型到产品的转变。
· 推进从单机到集群的扩展是重要的考虑事项。在这方面,Apache Spark是使用广泛的执行框架。经过一系列的数据整理后,你的数据集往往适合部署到稳定的单一服务器上。
· 供应商开始支持协作和版本控制。
· 最后,你可能需要数据科学工具来无缝整合现有的生态系统和数据平台。
企业如果想评估哪些问题、哪些用例适合于运用机器学习,眼下就是一个很好的时机。我总结了一些近期的趋势和尚未解决的瓶颈,你从中得出的主要结论应该是:现在可以开始使用机器学习了。先从已经拥有一部分数据的问题入手,然后建立出色的模型。