美文网首页机器学习与深度学习
14、如何定义机器学习问题

14、如何定义机器学习问题

作者: 攻城狮笔记 | 来源:发表于2019-02-23 19:37 被阅读23次

任何项目的第一步都是定义您的问题。您可以使用最强大,最闪亮的算法,但如果您正在解决错误的问题,结果将毫无意义。

在这篇文章中,您将学习在开始之前深入思考问题的过程。这无疑是应用机器学习的最重要方面。

问题是什么?

问题是什么?
照片归功于Eleaf,保留了一些权利

问题定义框架

我在定义一个新问题时使用一个简单的框架来解决机器学习问题。该框架帮助我快速了解问题的要素和动机,以及机器学习是否合适。

该框架涉及回答三个问题,以达到不同程度的彻底性:

  • 第1步:问题是什么?
  • 第2步:为什么问题需要解决?
  • 第3步:我如何解决问题?

第1步:问题是什么

第一步是定义问题。我使用了许多策略来收集这些信息。

非正式的描述

描述问题,就像您向朋友或同事描述一样。这可以为突出显示您可能需要填充的区域提供一个很好的起点。它还提供了一个句子描述的基础,您可以使用它来分享您对问题的理解。

例如:我需要一个程序来告诉我哪些推文会转发。

形式主义

在上一篇定义机器学习的博客文章中,您了解了Tom Mitchell的机器学习形式。这里再次刷新你的记忆。

据说计算机程序从经验E中学习关于某类任务T和性能测量P,如果其在T中的任务中的性能(由P测量)随经验E而改善。

使用这种形式来定义TPE.您的问题。

例如:

  • 任务T):将尚未发布的推文分类为转发或不转发。
  • 经验E):一个帐户的推文语料库,其中一些有转推,有些则没有转推。
  • 性能P):分类准确性,所有推文中正确预测的推文数量被视为百分比。

假设

创建一个关于问题及其措辞的假设列表。这些可能是经验法则和特定于域的信息,您认为这些信息可以让您更快地获得可行的解决方案。

突出可以针对实际数据进行测试的问题可能很有用,因为当假设和最佳实践在实际数据面前被证明是错误的时候会出现突破和创新。突出可能需要挑战,放松或收紧的问题规范区域也是有用的。

例如:

  • 推文中使用的特定词语与模型有关。
  • 转发的特定用户与模型无关。
  • 转推的数量可能对模型有影响。
  • 较早的推文比最近的推文更不具有预测性。
image.png

质疑一切!
照片归功于dullhunk,保留了一些权利

类似的问题

您看到了哪些其他问题或者您能想到的问题就像您要解决的问题一样?其他问题可以通过强调问题措辞的局限性来解决您试图解决的问题,例如时间维度和概念漂移(建模的概念随着时间的推移而变化)。其他问题也可以指向可用于检查性能的算法和数据转换。

例如:一个相关问题是电子邮件垃圾邮件歧视,它使用文本消息作为输入数据,需要二进制分类决策。

第2步:为什么需要解决问题?

第二步是深入思考为什么你想要或者需要解决问题。

动机

考虑一下解决问题的动机。问题解决后需要满足什么?

例如,您可能正在将问题解决为学习练习。这有助于澄清,因为您可以决定不想使用最合适的方法来解决问题,而是想要探索您不熟悉的方法以学习新技能。

或者,您可能需要将问题作为工作职责的一部分来解决,最终是为了保住您的工作。

解决方案优势

考虑解决问题的好处。它能够实现哪些功能?

重要的是要清楚解决问题的好处,以确保您充分利用它们。这些好处可用于将项目出售给同事和管理层以获得购买和额外的时间或预算资源。

如果它对您个人有益,那么请明确这些好处是什么以及您何时获得这些好处。例如,如果它是一个工具或实用程序,那么你可以用你现在不能做的那个实用程序做什么,为什么这对你有意义?

解决方案使用

考虑如何使用问题的解决方案以及您期望解决方案具有的生命周期类型。作为程序员,我们经常认为工作是在程序编写完成后立即完成的,但实际上项目只是开始维护生命周期。

解决方案的使用方式将影响您采用的解决方案的性质和要求。

考虑您是否要编写报告以显示结果,或者您希望操作解决方案。如果要实施解决方案,请考虑解决方案的功能和非功能需求,就像软件项目一样。

第3步:我如何解决问题?

在问题定义的第三步也是最后一步,探索如何手动解决问题。

逐步列出您将收集哪些数据,如何准备它以及如何设计程序来解决问题。这可能包括您需要执行的原型和实验,这些都是金矿,因为它们将突出您对可以探索的领域的问题和不确定性。

这是一个强大的工具。它可以突出显示使用手动实施的解决方案可以令人满意地解决的问题。它还刷新了迄今为止存在的重要领域知识,例如数据实际存储的位置,哪些类型的功能有用以及许多其他细节。

收集所有这些细节,并更新问题定义的前几部分。特别是假设和经验法则。

在描述机器学习问题的复杂问题之前,我们已经考虑过手动指定的解决方案。

摘要

在这篇文章中,您了解了明确解决问题的价值。您发现了一个三步框架,用于在步骤中使用实用策略定义您的问题:

  • 第1步:问题是什么? 非正式地和正式地描述问题并列出假设和类似问题。
  • 第2步:为什么需要解决问题? 列出您解决问题的动机,解决方案提供的好处以及解决方案的使用方式。
  • 第3步:我如何解决问题? 描述如何手动解决问题以刷新领域知识。

相关文章

  • 14、如何定义机器学习问题

    任何项目的第一步都是定义您的问题。您可以使用最强大,最闪亮的算法,但如果您正在解决错误的问题,结果将毫无意义。 在...

  • Hands-on ML Chapter-1

    The Machine Learning Landscape Exercises 您如何定义机器学习? 机器学习是...

  • 2、实用机器学习问题

    什么是机器学习?我们可以阅读机器学习的权威定义,但实际上,机器学习是由正在解决的问题定义的。因此,了解机器学习的最...

  • [人工智能技术]关于机器学习的十个实例

    机器学习是什么? 机器学习是什么?这个问题的答案可以参考权威的机器学习定义,但是实际上,机器学习是由它所解决的问题...

  • 机器学习入门总结(一):概述

    什么是机器学习? 第一个机器学习的定义来自于Arthur Samuel,他定义机器学习为:在不直接针对问题进行编程...

  • Machine Learning 机器学习主要术语

    问题构建 (Framing):机器学习主要术语 什么是(监督式)机器学习?简单来说,它的定义如下: 机器学习系统通...

  • 企业如何采用机器学习

    摘要:向机器学习专家学习如何理解机器学习开发生命周期,以及如何建立一个团队通过机器学习来解决他们的业务问题。 毫无...

  • 个性化推荐系列之初步认识机器学习

    我们都知道,关于机器学习,科技界的定义是,可以利用机器学习模拟人的思维方式去处理问题/数据;但是光看这个定义,还是...

  • 传统机器学习预测客户流失

    一、机器学习预测客户流失 Action,直接进入主题,尝试使用机器学习,预测客户流失。那么先把问题定义好。 什么是...

  • (一)机器学习的基本概要

    Author: Pan Date:2020/7/13 1.机器学习的定义与其中牵扯到的问题 统计机器学习究竟是什么...

网友评论

    本文标题:14、如何定义机器学习问题

    本文链接:https://www.haomeiwen.com/subject/iczpyqtx.html