Py学习  »  机器学习算法

应用机器学习时被遗忘的两个步骤

AI前线 • 5 年前 • 370 次点击  

应用机器学习时被遗忘的两个步骤

译者 | 郝毅
编辑 | Vincent
AI 前线导读:对于某些应用,人类设计的 AI 系统会表现的无能为力。但是对于另一类应用,专家则可以设计一些智能系统并保证其正确性;这些 AI 应用是节省成本和提高性能的最佳解决方案(例如,在某些安防应用中)。因此,保证机器学习决策结果的正确性是一个关键问题,本文针对该问题提出三点关键步骤。

更多干货内容请关注微信公众号“AI 前线”,(ID:ai-front)

如何入门机器学习 (ML)

关于人工智能(AI)和机器学习(ML)如何改变商业实践的故事越来越多,数据科学从业者被要求仅用模糊的或高层次的商业目标来“应用机器学习”。在实施人工智能和从数据中创造商业价值方面存在很大差距,数据科学中的许多尚未解决的问题是导致这些差距的原因。本文试图展示 AI 从业人员和企业管理人员如何弥合这一差距。入门 AI 的顺序不同于大多数人所想的,应该遵循以下步骤:


  • 设立目标

  • 分析数据

  • 定义模型

大多数人都会忽略前两个步骤,而急于求成的同时往往会适得其反。通过仔细地分析需求、应用和商业约束之后,你将得到非常详细的问题描述。这样,就可以使用机器学习的知识来更好地解决问题。

1. 设立目标

如果没有一个正确的目标问题,机器学习不一定能得到好的结果。使用机器学习前,需要明白自己追求的目标是什么,并给它一个明确的定义。为了使用机器学习,在实际的商业案例中,需要做许多方面的评估和考察,但是首先,需要搞清楚的就是你期望的结果是什么:

定义问题

目标结果需要足够的详细,你应当先问自己几个这样的问题:

  • 机器学习模型应该输出什么? 它是对观察到的数据的预测,还是在某种情况下的行动建议?例如,你需要一个模块来帮助一个骑自行车的机器人在一条滑坡上保持平稳。那么你是否需要一个模型来预测自行车在给定情况下的行驶状态?或者是能够最快调整自行车运行轨迹的模型?

  • 模型的预期计算速度应该是多少? 使用的软硬件能否为机器学习模型的准确预测提供良好的平台?

  • 模型的可扩展性如何? 回到上面关于自行车机器人的例子:你的模型是只在某个特定型号的自行车上工作就行还是在多个不同的自行车上都能良好运行?

测量问题

假设有人给你一个预训练的模型。我们需要先对其性能进行评估,比如对于给定的输入,模型应当能输出预期的结果,并且应当测量对于大量的输入预训练模型的预测成本是多少。

你还应该考虑如何向机器发出信号,说明结果是好的。这可以像使用真伪机一样简单(例如,某个项目是否成功),或者更复杂的方法是由应用程序决定。

使用问题

从商业角度来看,这个问题值得解决吗?


  • 消费者会乐意为 ML 技术买单吗?

  • 或者 ML 能降低制造成本吗?

  • 也许,使用 ML 只会提供额外的营销优势?(想想苹果的 Siri)

应用 ML 需要在 ML 工程专业进行投资,以及基础设施的设置和维护。因此一定要确认 ML 带来的回报是否能够支撑得起其成本。

训练与测试

当你训练一个模型时,你的目标是提高它的性能。在测试过程中,你只需使用一个预训练模型来生成预测结果,但是模型不会学到任何新的东西。

重要的是要记住,测试的计算要求明显小于训练。要训练一个模型,你需要访问你所有的训练数据,耗费很久的训练时间。根据你的 ML 任务,一个更好的游戏计算机可能提供足够的计算能力来训练你的模型;而在某些情况下,则可能需要一个计算集群。一旦模型被训练,你通常可以删除大部分的训练数据,并将模型保存为一个小文件。许多 ML 模型只需要很少的资源,例如嵌入式设备或手机来测试。这已经暗示了训练和测试的分离。

对于训练过程,软件基础设施所需的复杂性和敏捷性比测试过程高得多。这种分离提供了训练作为服务的商业模型(也称为订阅模型)。

2. 分析数据

AI 不能学到所有的东西,因此训练过程需要大量的数据。主要考虑因素包括设计数据、数据可防卫性、数据采集、数据结构、数据清洗以及隐私和法律问题。良好数据的标准如下:

  • 可量化: 数据应当是可以量化的,可以使简单的是或否的,或者是更详细的测量结果。

  • 同分布:训练数据应该服从独立同分布。通常,这意味着确保你正在使用的数据集是一致测量和记录的。当你收集更多的数据,你需要确保一致的测量。

  • 多样性:你应该有一个足够大的样本大小以覆盖整个空间的潜在结果。这应包括足够的覆盖范围的罕见的事件,模型应当能够区分随机错误和罕见事件。例如,如果你想建立一个爱预测未来股票市场的崩溃,仅使用 2009 年至 2017 年的数据会限制太多。

  • 捕获额外数据:一些额外数据会影响到模型的预测结果,因此需要采集这些信息以产生良好的预测。打个比方,如果想要一辆汽车的价格,仅知道方向盘的大小和油箱容量是远远不够的,如果知道里程和车型将更好预测它的价格。

3. 成功建模

这是管理人员希望使用 AI 的最初原因。在机器学习中,模型是非常重要的部分,机器学习研究者通常会在这方面积累很多。然而,机器学习的成功实施需要从一开始就将深层的战略和设计整合起来。

简而言之,在目标结果和数据限制未知时,不能盲目的设计一个机器学习模型。一个好的模型应该具备以下几点:

  • 可行性和可用性:在给定的数据、技术约束和设计约束的情况下,目标问题是否有可能被解决?在没有测试的情况下,很难解决先验问题。

  • 可扩展性:这决定了模型的计算效率。当增加数据大小时,应当考虑到计算和训练成本的增加。考虑到模型的扩展,基础设施的成本是不可忽视的。

人工智能的实现面临的主要问题是商业和产品策略。这并不是说技术部分容易实现,而是技术约束往往是已知问题,是可以解决的。对于 AI,我们知道其能力,也知道它能够完成哪些工作。

AI 和 ML 的未来仍存在一些不确定性。一般来说,即使是经验丰富的数据科学家也不可能预测需要多少数据来训练模型。此外,模型训练过程中的微调也需要依靠丰富的经验,以及训练过程中模型对数据中的异常值敏感程度也难以掌握。

最后,将一个训练过程从早期的原型移植到成熟的产品所需的时间具有高度的不确定性。这种情况下,需要记住大多数机器学习算法具有很强的随机性。即使在相同的数据集上训练,模型的模型的表现也会有所差异,而在不同的数据集上训练,这种差异会更大。一般来说,获取数据需要巨大的时间成本,而自动化的模型训练方法则在获得一个成熟化的产品过程中起着不可或缺的作用。这就需要在最开始的原型阶段由机器学习专家的人为的设定一些过程:数据清洗、对特定数据集的训练过程的调整和自动模型选择。

因此,将每个机器学习项目都是视为一个具有高风险和潜力的研究项目是明智的。机器学习不是魔法——它是一个非常强大的工具,但只有在一些需要它的应用上才能发挥作用。

查看英文原文:

https://medium.com/axiomzenteam/the-two-steps-people-forget-to-take-when-applying-machine-learning-dc0e3797442b



今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/cu7FOWQcb4
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/12118
 
370 次点击