5 Steps to Thinking Like a Designer in Machine Learning

这是 Kevin Dalias 的一篇客座文章。

我最近有机会参加了在圣克拉拉举行的 Strata 2014 会议,这是我第一次参加这个会议,我试图参加尽可能多的会议,以了解当今数据科学的真正核心。当然,我听到了许多常见的“数据科学家必须是……”这样的要点,但随着会议一 सत्र又一 सत्र地进行,一个关于这个列表的新补充开始在我脑海中成形。

在听了大约十多位机器学习领域的杰出贡献者的演讲后,我终于明白了。当今顶尖的数据科学家不仅仅是科学家,他们还是设计师。

Think like a Designer

像设计师一样思考
照片作者:_dChris,部分权利保留

我们都听过这样一句话:数据科学家是 统计学家、领域专家和机器学习黑客 的结合体,但在当今形势下,这已经不够了。一个好的数据科学家不仅需要具备以上所有能力,还需要是一名优秀的设计师。设计师会花时间仔细思考某个项目为何以及如何进行,并考虑哪些方面和体验能将机器学习应用从功能性提升到卓越性,从而为最终用户带来非凡的体验。换句话说,设计师不会忘记他们最初设计的原因:是为了人。

所以,在着手进行下一个机器学习项目之前,请花时间像设计师一样思考。

1. 问自己机器学习项目的“谁、什么、如何和为什么”

这一点受到了 Max Shron 的启发——他是一位受人尊敬且极具魅力的前 okCupid 数据科学家。在 Max 的演讲中,他极力强调了背景在任何数据科学或机器学习项目中的重要性。仅仅了解数据以及从A点到有效模型的路径是不够的。

在当今的机器学习领域,你需要花时间去了解请求背后的人——他们的动机、困难、观点和价值观。所以在开始之前,请问自己一些问题。

  • 谁在寻求我的帮助? 他们在组织中的角色是什么,为了在这个角色中取得成功,他们个人需要完成什么?
  • 他们通常使用什么数据?更重要的是,他们目前从这些数据中寻求什么含义? 机器学习应用还能提供哪些额外的见解?
  • 我如何才能可靠地访问和清理我需要的数据来驱动我的应用程序? 一旦我有了稳定的数据供应,我如何确保我的模型能够随着不断变化的需求而演进?
  • 我为什么在这里? 为什么这个项目对请求者来说是优先事项?如果我成功了,请求者的日常生活会有什么改变?

通过花时间思考项目中的人们,你就能够交付一个最终产品,这个产品不会感觉像一个难以理解的工具,而是能自然地融入他们已有的复杂工作流程。请记住,我们作为机器学习者的目标是赋予用户超人的数据处理能力,虽然我们是机器学习专家,但我们的利益相关者和客户才是真正的领域专家。

2. 设计以透明为目标

机器学习是一个非常令人兴奋的领域,但它仍然是一个技术性很强、普通人难以理解的领域。因此,机器学习应用对最终用户来说常常像一个黑匣子,这种缺乏透明度和理解会让普通用户难以信任和依赖你的机器学习算法。幸运的是,当你像设计师一样处理机器学习项目时,这个挑战很容易克服。

Collaborate on Design

协作设计
照片作者:_dChris,部分权利保留

在设计机器学习应用程序时,请花时间记录和解释你选择的输入、清洁数据的方法以及驱动应用程序的底层思想或概念。

此外,请谨慎使用易于理解的方法,如决策树或基于规则的方法。你的发现和见解完全有可能挑战甚至直接否定一些长期存在的信念,因此让最终用户能够理解驱动这些学习过程很重要。这样,用户就能自信地解释和理解你的机器学习应用程序的输出。

因此,当你开始考虑你的最终产品时,请牢记,用户应该能够轻松直观地深入了解底层数据和信息。

3. 考虑用户将如何与你的机器学习项目互动

如果你花时间完成了第1步中的每个问题,那么你就能很好地开始理解最终用户将如何与你的机器学习应用程序及其输出进行交互。从问几个问题开始:

  • 在什么情况下会使用这些信息?
  • 这些信息会与外部共享吗?
  • 用户是否想更改或帮助指导分类或识别集群?

在确定模型或方法之前很久,你需要仔细考虑交付这些信息的界面最终对用户来说看起来和感觉起来会是怎样的。当你仔细考虑上述问题时,你就能不仅满足期望,还能设计出能够轻松融入用户工作流程的机器学习应用程序和界面。

例如,如果你的机器学习应用程序将提供与外部客户共享的见解,你可以主动设计一个预先准备好并批准共享的导出或输出报告。采取这种理解用户体验的方法将帮助你设计一个增强用户日常目标的工具,而不是增加他们日常工作的负担。

4. 动笔勾勒出你最终产品的线框图

虽然你应该从一开始就考虑界面设计,但重要的是不要一开始就过度打磨机器学习应用程序的最终输出或界面。尽管直接使用 HTML/CSS 设计用户与之交互的流畅界面非常有吸引力,但这从根本上是错误的。

Create a wireframe

创建线框图
照片作者:jm3,部分权利保留

一旦你投入时间选择颜色和布局,就会发生几件事,这些对你并没有好处。首先,你会个人地对你的设计产生一些依恋感,其次,为你设计的人会在提供反馈时更加犹豫,因为他们会觉得自己在批评而不是贡献。这个挑战有一个简单的解决方案:老式的笔和纸。

从一个完全粗糙的草图开始,勾勒出你的界面可能的样子,并用这个草图开始 UI 设计对话。当你带着一个简单的纸上草图去接触最终用户时,他们会更愿意提供反馈和要求更改,因为产品看起来不像已经定型了。

你还有一个额外的好处,就是帮助最终用户成为项目的贡献者。这意味着他们会对机器学习项目产生更强的归属感,并且更可能在同事和客户中宣传它。

现在,有了草图,是时候开始与用户进行第一次(也是多轮中的第一轮)反馈了。

5. 设计提供反馈的简便方式

我已经接受了这个事实:我永远不会第一次就把设计做好。不是因为我是一个糟糕的设计师或机器学习工程师,而是因为我缺乏我的最终用户所拥有的领域专业知识。所以,很多时候我自认为重要的功能或输出在现实世界中实际上是微不足道的或不必要的。因此,我鼓励你将任何开发项目视为一个持续的对话。

首先,征求对你的粗糙草图和概念的反馈,并允许用户提供关于哪里有问题以及哪些地方还不到位的意见和指导。认真对待这些反馈,然后回到开发中。

在开发过程中,请务必及时向客户更新进度,并在此过程中征求反馈。这可以像每天简短的晨会一样频繁进行,或者对于更忙的客户来说,每周进行一次肯定会很有帮助。这种来回的交流将带来额外的见解,以确保你的产品与用户的需求高度匹配。

即使你的项目接近完成,我也建议你始终为最终用户构建简便的方式来提出建议或请求调整。无论是内置在界面中的一个小的“建议”字段,还是仅仅一个电子邮件地址,许多用户都会提供有见地的指导和想法。从这些反馈中,模式会逐渐显现,你就能锁定最重要和影响最大的需要进行的更改。

当你完成所有 5 个步骤后,你就能完美地在下一个机器学习项目中像设计师一样思考。这种方法最终将使你的工作更易于访问、更有用且更具可操作性。毕竟,如果用户不使用机器学习应用程序,那么它有什么用呢?

设计愉快!

Kevin Dalias

Kevin Dalias

客座作者

我叫 Kevin Dalias,目前是旧金山 Conversant 的高级分析师。

我每天通过机器学习以及对发布商和用户在线行为的分析,帮助广告商做出更明智、更快捷的决策。

在过去一年里,我爱上了机器学习,我在产品分类和发布商聚类方面的工作为我的客户的联盟计划带来了出色的增长。

你几乎可以在旧金山的任何 Python Meetup 上找到我,同时,我也很乐意通过 TwitterLinkedIn 与你交流。

2 条关于《5 Steps to Thinking Like a Designer in Machine Learning》的回复

  1. Jesús Martínez 2018年3月19日下午1:46 #

    很棒的文章!我通常发现,当我将一个项目视为一个产品而不是一个在数据上运行算法的独立脚本时,它会更具吸引力、更实用、更有趣。总的来说,或者至少对于机器学习从业者来说,我发现这种方法更接近我们开发人员和软件工程师日常所做的事情。因此,从这个角度看,机器学习就不会显得那么陌生了。

    你觉得呢?

留下回复

Machine Learning Mastery 是 Guiding Tech Media 的一部分,Guiding Tech Media 是一家领先的数字媒体出版商,专注于帮助人们了解技术。访问我们的公司网站以了解更多关于我们的使命和团队的信息。