当前位置: 首页 > 科技观察

数据科学面临的共同挑战是什么?

时间:2023-03-19 16:11:13 科技观察

进入2017年下半年,是时候看看使用数据科学和机器学习的公司所面临的共同挑战了。假设您的公司已经在大规模收集数据,需要分析工具,并且您认识到并优先考虑数据科学可以发挥重要作用(包括改进决策或业务运营、增加收入等)。收集数据和确定感兴趣的问题是一项不小的壮举,但假设您在这些方面已经领先一步,那么剩下的挑战是什么?数据科学是一个广泛的话题,所以让我澄清一下:是监督机器学习的当前使用状态。一切都从(训练)数据开始假设您有一个处理数据摄取和集成的团队,以及一个维护数据平台(“真实来源”)的团队,新的数据源不断涌现,领域专家负责计算他们出去了。此外,由于我们主要讨论监督学习,因此缺乏训练数据仍然是机器学习项目中的头号瓶颈也就不足为奇了。有一些很好的研究项目和工具可以快速创建大型训练数据集(或扩充现有数据集)。斯坦福大学的研究人员表明,可以使用弱监督和数据编程来训练模型,而无需使用大量手工标记的训练数据。深度学习研究人员在生成模型方面的初步工作已经在计算机视觉和其他领域的无监督学习中取得了可喜的成果。“考虑特征而不是算法”,这是在机器学习环境中评估数据的另一种有用方法。友情提示:数据增强可能会改进你现有的模型,在某些情况下,甚至有助于缓解冷启动问题。大多数数据科学家可能已经使用开源数据或通过第三方数据提供商扩充了他们现有的数据集,但我发现数据扩充有时会被忽视。人们觉得获取外部数据、对其进行规范化和试验不如开发模型和算法有吸引力。将数据科学项目从原型产品化为产品是许多用例的目标。为了使这个过程更有效率,最近出现了一个新的工作角色——机器学习工程师。还有一组新工具可促进从原型到产品的过渡,有助于跟踪与分析产品相关的上下文和元数据。机器学习在产品中的使用仍处于早期阶段,最佳实践才刚刚开始出现。随着高级分析模型变得越来越普遍,有几件事需要考虑,包括:部署环境:您可能需要与现有的日志记录或A/B测试基础架构集成。除了将稳定、高性能的模型部署到服务器之外,部署上下文越来越多地包括如何以及何时将模型部署到边缘(移动设备是一个常见的例子)。用于将模型部署到边缘设备的新工具和策略已经出现。规模、延迟、新鲜度:训练模型需要多少数据模型推理的响应时间应该是多少模型重新训练和数据集更新的频率后者表明你有一个可重复的数据管道。偏差:如果你的训练数据不具有代表性,那么你将得到次优(甚至不公平)的结果。在某些情况下,您可能能够利用倾向得分或其他方法,并相应地调整数据集。监控模型:我认为人们低估了监控模型的重要性。在这方面,学过统计学的人更有竞争优势。了解模型何时退化以及退化多少可能很棘手。概念漂移可能是一个因素。对于分类器,一种策略是将模型预测的类分布与观察到的预测类分布进行比较。您还可以设置不同于机器学习模型评估指标的业务目标。例如,推荐系统的任务可能是帮助发现“隐藏或长尾”内容。关键应用程序:部署在关键环境中的模型必须比普通消费者应用程序更稳定。此外,此类环境中的机器学习应用程序必须能够“连续”运行数月(不会出现内存泄漏等故障)。隐私和安全:一般来说,如果你能让用户和企业相信他们的数据是安全的,他们可能更愿意共享数据。如上所述,使用附加功能扩充的数据往往会产生更好的结果。对于在欧盟开展业务的企业来说,一个迫在眉睫的问题是《一般数据保护条例》(GDPR)将于2018年5月生效。在其他领域,对抗性机器学习和安全机器学习(包括能够处理加密数据)方面的实践研究正在开始出现。模型开发媒体对模型和算法开发的报道越来越多,但如果你与数据科学家交谈,他们中的大多数人会告诉你,训练数据的稀缺性和数据科学的产品化是更紧迫的问题。一般来说,有足够多的直接用例,您可以开发自己喜欢的算法(基本或高级),并在以后调整或替换它。由于工具使算法的应用变得容易,因此首先回顾一下如何评估机器学习模型的结果是很有用的。不过,不要忽视您的业务指标和目标,因为它们可能与优化最佳或性能最佳的模型不完全匹配。关注与公平性和透明度相关的发展,研究人员和企业正开始研究和解决这些问题。对隐私的担忧,加上设备的激增,导致出现了不依赖集中式数据集的技术。深度学习正逐渐成为数据科学家必知的算法。深度学习最初用于计算机视觉和语音识别,现在涉及数据科学家能想到的每一种数据类型和问题。其中的挑战包括,选择合适的网络结构(结构工程是新的特征工程)、超参数调整、描述问题和转换数据以进行深度学习。(巧合的是,我今年看到的最有趣的大数据产品之一并不是基于深度学习的。)很多时候,用户更喜欢可解释的模型(在某些情况下,不接受黑盒模型)。鉴于底层机制易于理解,可解释模型也更容易改进。随着深度学习的兴起,公司正在转向解释模型如何预测以及模型来自何处的工具(通过跟踪学习算法和训练数据)。工具我不想列出一个工具列表,因为有太多无法列出。帮助我们摄取、集成、处理、准备和存储数据以及部署模型的工具都很重要。以下是关于机器学习工具的一些想法:Python和R是最好的机器学习编程语言。对于那些想要使用深度学习技术的人来说,Keras是完美的入门级语言。虽然笔记本电脑似乎是模型开发的好工具,但集成开发环境(IDE)在R用户中很受欢迎。有许多用于通用机器学习和深度学习的库,其中一些库更擅长从原型到生产。促进从单机扩展到集群是一个重要的考虑因素。在这方面,ApacheSpark是一个广泛使用的执行框架。经过一系列的数据整理,你的数据集往往适合部署在稳定的单台服务器上。供应商开始支持协作和版本控制。最后,您可能需要数据科学工具来与现有生态系统和数据平台无缝集成。现在是组织评估哪些问题和用例适合应用机器学习的绝佳时机。我总结了一些最近的趋势和未解决的瓶颈,你应该从中得出的主要结论是:现在是开始使用机器学习的时候了。从您已经拥有一些数据并构建出色模型的问题开始。