机器学习转化价值最关键的一步是什么?一个陷阱无数的业务问题,如何巧妙地转化为机器学习问题?为了平衡机器学习开发的人力和时间成本,我们如何找到***产出比?在范式大学第一期公开课上,第四范式联合创始人兼产品经理田峰结合丰富的职业经验,系统梳理了上述问题的解决方案。大家好,我是第四范式联合创始人田峰,很高兴在这里和大家分享机器学习的MVP模型!我们曾经在第四范式知乎专栏发过一篇文章《年薪百万的机器学习专家,为什么不产生价值?》。这篇文章中的机器学习专家花了很多时间搭建平台,做数据清洗、处理和机器学习建模,但并没有给公司带来预期的价值。哪里有问题?基于第四范式在机器学习行业应用的大量成功案例和经验,今天我们就来分析一下。如果我们想利用机器学习来提升商业价值,在搭建平台、处理数据、训练算法之前,第一步应该做什么?我们今天不谈技术、算法或平台,但我们今天谈的是机器学习产生价值过程中最关键的步骤之一。本次分享,我们将从几个方面来分析这个问题:最后,机器学习是不是最好的良药?我们首先要想清楚,机器学习作为一种特别强大的技术,到底能解决什么样的问题。其次,一个业务问题可能有各种各样的陷阱。假设我们初步确定它可以通过机器学习来解决,那么应该采取什么样的转化来避免这些陷阱,把业务问题变成机器学习问题。第三,如果有一个很好的问题可以转化为机器学习,我如何设计机器学习的发展节奏,估计它的投入产出比,如何分阶段推进问题的建模和应用。这就是我今天要介绍的,机器学习的MVP。机器学习的最小可用产品目前互联网技术接受一个最小可用产品的概念,MVP,即开发团队和设计团队用最小的成本,最大程度地验证产品的可行性。这个产品的可行性是指需求是否真的存在,一个产品满足需求的方式是否正确。机器学习也是如此。我们对机器学习的投入是长期的、持续的,带来的收益和回报也是巨大的。在开始之前,我们肯定会想以相对较低的成本知道:现在引入机器学习是否有可能影响我们面临的业务,产生价值的潜力有多大。所以在我们真正使用机器学习做一个业务之前,我们可以通过两个步骤来做一个机器学习MVP:第一步:我们需要选择合适的业务问题,并不是所有的问题都可以设置在机器学习的框架里面,有些适合机器学习解决方案,有些不适合机器学习解决方案。在任何技术项目管理中,用坏方法解决好问题总比用好方法解决错误问题要好。Step2:当我们找到一个可以用机器学习解决的问题后,我如何证明机器学习可以用最少的时间和人力成本解决它,并带来令人满意的投入产出比。选择正确的问题:从分类器开始让我们先看看机器学习擅长解决哪些问题。我举个例子,就是周志华老师西瓜书里的例子。非常经典、简单、深刻。这道题的意思是我要判断一个西瓜是好是坏。这个问题的业务场景是什么?一个西瓜不交易不拆开怎么知道好坏。如果我知道,我可以用同样的价格买到更好的西瓜;如果我是一个瓜商,有一套标准,我可以更好地管理我的货物。回到问题,西瓜是好是坏,这是一个典型的机器学习二分类问题。首先,我们需要找到可以用来判断西瓜好坏的数据。我们不能把西瓜买卖后的数据放到分析中去。比如我买了一个西瓜,我就知道它好不好,那这个就不值钱了。所以,在不破坏西瓜的前提下,这时候可以利用的数据是西瓜的产地,西瓜的质地,重量,比重,敲西瓜的声音是浑浊的还是清脆的,西瓜皮的质地等。打开西瓜就知道的数据。刚才我们的目标已经很明确了,好坏,好是1,坏是0,我什至可以定义一个分数,一个0到1之间的数字,但是总体上我可以设定一个机器学习目标,我们称之为标签。选择正确的问题:真实世界建模这似乎是一个简单的场景,就好像一旦我们有了这样的数据,我们就可以尝试构建一个机器学习模型。然而,在现实中,当我们想用机器学习来解决实际问题时,有那么简单吗?现实世界中往往存在许多陷阱。这些陷阱是什么?***,西瓜好吃吗?它是如何定义的?大么?还是甜的?皮厚吗?肉质脆吗?模型学习的评价因子和样本也需要基于这个标准来建立。如果我们仅仅根据西瓜的大小来定义样本,而实际的应用场景是综合判断西瓜好坏,那么我们可能得不到想要的好结果。二、西瓜好不好?标准是什么?是用科学的方法和仪器测量出来的吗?还是由专家评估?如果是后者,评估者是同一个人吗?判断标准一样吗?现实中很可能不一样,所以想办法消除Label的偏差。第三,在互联网场景中,往往需要满足每个人的个性化需求。有的人喜欢甜甜的西瓜,有的人喜欢清脆的西瓜。将问题定义为区分好西瓜合适吗?因为每个人对好西瓜的定义都不一样。这个问题可以转化为向用户推荐西瓜。他(她)会喜欢吗?四、什么是真正的应用环境?假设我们需要一个在线实时西瓜分类,当你拿到一个西瓜时,你可以立即判断它是好是坏。是不是说有些不能立即获得的特性就不能使用了?如果判断一个好瓜的标准在不断变化,或者说这个瓜本身的特性在不断变化,模型也需要能够跟上这种变化,根据新的数据和反馈做自我更新迭代.这就是我们构建模型更新的方式。可以看出,即使是简单的问题,我们也需要考虑业务的方方面面,明确哪些因素、利润率、个性化元素和基础设施是必须考虑的。选择正确的问题:原来面对业务的问题我们已经从西瓜还原到业务上了。任何企业是否可以做机器学习,我们要看三个要素。***,这个业务的目标值是多少?它不一定是唯一的,但必须有优先级。这个目标是否可以量化,收集反馈,客观观察。什么是客观观察?如果我说甜你说甜,这件事可能不客观。有什么客观的东西可以反馈。第二,样本应该怎么构造,样本不能违反因果关系,y=f(x),x一定是业务场景中我们可以知道的信息。西瓜的问题在于,我们在打开西瓜之前可以知道的信息可以作为x。同时,样本要符合业务场景的真实情况。假设我们的业务是摸黑摘西瓜,看不到西瓜长什么样,只能敲敲,西瓜的颜色也不能作为特征。第三,样本的每一行是什么意思?每条线应该代表西瓜的每一次测量,然后选择哪些数据作为x,这个我们已经解释清楚了。西瓜题说完了,我们来看看真正的业务问题。1.点击率预估比如我们看到的推荐系统问题——点击率预估。推荐系统的目标是什么?它的最终目标一定是用户体验,但这个目标是虚幻的。我们需要对其进行量化,将其转化为一系列可衡量的数据,比如点击量、观看时长、购买量、正面评价等。等等,这些是你的。然后我们看x是什么,这些x代表的是我在做推荐排名的那一刻,当客户提出要求的时候,那一刻我知道什么。我可以知道客户的属性和特征,我可以知道内容特征和上下文特征,但我不知道内容最终是否被展示和点击。我可以知道内容在这个时刻之前被点击了多少次,但是一定不能知道这个时刻之后被点击了多少次,因为这个会穿越。有了y和x,就可以构建样本。我的sample比如我给用户展示了10个推荐的内容,这个的反馈可能是点击观看,所以每个sample展示的都是一个sample。这里我们可以思考一个有趣的问题。当我们考虑不同特性对问题的影响时,例如,我们以显示器为例。一个无法回避的问题是我怎么知道这个内容是否被用户看到了。一种做法是我不考虑,所以模型可能有偏差。比如你觉得这个sample没有被点击过,但可能没有看到,但是最理想的是推荐给上面的用户手机屏幕作为sample。退一步讲,还有一种方法,就是把显示的位置作为特征加回去。然后,虽然在请求时没有这样的功能,但是这个功能吸收了位置与演示和反馈的偏差。2.简历匹配再举一个场景的例子——简历匹配。简历匹配是什么意思?它其实要预测的是我是否向一家公司推荐了一份简历,这个人是否被公司录用了。这似乎是一个简单的机器学习问题。但是回到业务场景,这个问题有那么简单吗?对于内容推荐,用户是否点击内容、观看时间长短是用户单方面的选择。但是,简历有两种选择。第一种选择是公司通过面试和简历的筛选来判断此人是否适合公司。第二个选择是应聘者,会不会去公司面试,即使拿到公司的offer,会不会被感动加入公司。所以这变成了一个多点、双向的问题。在这种情况下,需要拆解问题。个人被公司录用这件事我们不能直接去做,而是分开去做,比如公司会不会邀请这个人面试,这个人会不会接受公司的面试邀请,这样问题就可以变得更清楚。好的。选对问题:总结总结一下我们刚刚介绍的MVP的第一步:做机器学习,首先不是急于搭建机器学习模型,而是要认真思考这件事的业务场景是什么。总结一个机器学习可以解决的业务问题,有几点:***能否转化为分类/回归问题。第二个目标是否容易获得、客观、无偏见的数据。三是问题的预测目标。什么是因果关系?因果关系越简单越好。如果有多个原因和多个结果,或者描述“原因”的相关信息不易获取,是否可以拆分成多个模型。特征往往是原因的数据,或者一些不是直接原因的数据,只要不破坏因果关系即可。第四个就是我们刚才没有具体描述的,就是这个问题是不是真正的业务需求。一个真正的业务需求,就是说我们用机器学习做预测之后,根据预测的结果,业务是否会受到影响?这个影响点是否清晰有效?因为业务人员会用业务影响的结果来评估我们项目的效果。如果我们预测的结果没有对业务产生有效的影响,那么模型再好也是行不通的。比如推荐系统,我预测新的点击率后,我可以反推点击率影响业务结果。但如果是游戏呢?如果我们预测这个人明天有30%的机会付款,我该如何影响他?我能影响他吗?所以你必须想好你的预测结果会怎样用在业务上,这个用起来会不会改善业务?如果你发现推广本身就很难,那么这本身就是一个虚假需求。然后你还需要想一下现在不用机器学习的业务,它用的是什么方法和数据,目前的方法和数据有什么不足,机器学习能帮上什么忙。当上面的问题有了明确的答案,那么你就可以提出一个好问题了。至此你已经80%成功了,剩下的问题就相对简单了。机器学习的投入这是我们MVP的第二步:用可控的人力和资金投入,建立一个有效的机器学习模型。那么什么是可控的呢?1-3个人月的投入,再多的风险就太高了。我们期待什么样的改进?视情况而定,不同的企业是不同的。有些业务,比如广告,1%的收入就是几百万,有些问题可能需要经过多次改进才有商业价值。在机器学习的成本分配中,占比最大的是机器学习本身。参数调优、特征工程、模型评估、模型上线等项目占用大量时间,而问题定义和数据收集占用的时间很少,我们认为这是有问题的。我们认为,一个机器学习项目,无论是通过合作还是使用第三方平台,都应该花很多钱来收集好的数据和定义明确的问题,甚至这也要花费一半以上的时间。另一半时间是实际做机器学习模型的时间。降低数据成本那么我们如何降低数据成本呢?让我给你一些想法。***,除非必要,仅使用收集的数据。因为收集数据是一件成本高昂的事情,公司的系统越复杂,收集数据的成本就越高,所以除非数据很容易收集或者已经存在,否则不会考虑。其次,如果要开发新的数据,首先要考虑的是成本。开发新的数据源是有风险的。机器学习最大的恐惧就是搞不清楚到底是算法问题,还是数据问题,还是问题定义问题,所以MVP环节可能出现的问题越少越好。前面我们介绍了如何在问题定义上避免问题,算法一般不容易出问题,除非使用不当,而数据其实是容易出问题的,所以我们尽量使用简单、可靠、成熟的数据。第三,我们谈到在建模过程中尽可能使用成熟的工具。在数据处理、特征计算、算法训练的过程中,很多工作都可以标准化,甚至可以通过算法自动优化。其实很多坑是可以归纳出来的,或者说是可以在产品引导中避免的。我们一直在开发的第四范式先知建模平台,就是试图将建模过程中的know-how封装到产品中,让用户操作起来更简单,更有效地得到更好的模型,减少陷阱。总结一下,这一步的总体思路是,如果不能创造新的风险点,就不创造风险点,能降低不确定性就降低不确定性。如何回顾机器学习的模型?好了,完成了上面介绍的两个步骤,我们就已经有了机器学习的MVP,机器学习对业务的影响也就初步定论了。如果业务有明显提升,那么恭喜你,找到了新的价值增长点,优化后肯定会有更大的提升空间;如果效果不明显,这里给大家一些建议,如何review,如何检查MVP:首先,review问题的方向是否正确,模型的效果是否符合预期,以及模型的优化目标是否发生了显着变化。比如优化的目标是西瓜好不好,优化后买的西瓜是不是更好。如果没有,则问题没有解决。还有什么原因?是指定了错误的目标,在错误的环境中使用,还是数据有误。其实说白了,要么目标不对,要么模型不对,要么数据有问题。根据这三点进行检查。在实际业务中,解决一个问题有时会产生新的问题。比如新闻推荐系统,现在点击的人多了。是因为推荐让新闻变得更有趣了,还是新闻的点击变得更集中了?就业务而言,这可能不是很理想。需要继续想办法优化。第二步是回顾数据,这些数据中哪些起着关键作用,哪些数据凭经验认为有用,但实际上没有用。然后重新检查数据,看是不是数据质量问题,导致没有发挥应有的作用。您还可以看到下一步我们可以引入哪些新数据。数据会一批批引入,我加入一批,一次性开发完成。第三步,我回顾了上面的事情之后,还要为下一步制定计划,往往会有新的、更多的数据。我也可以调整目标。可能是目标不对,需要改变,也可能是增加了。最初的目标是不够的。我将添加几个新指标以使模型更加平衡。还有就是工程化,看性能能不能优化。
