17年底的时候,在某知乎大佬的带领下和大家分享过一些想法,主要聊了一下机器学习思维如何可以帮助到我们。如果说当时的想法是接触机器学习以来,这一方向的一些特定思考及行为方式对自身思维方式的一个反思,那么经过一年多的尝试和实际经验,现在从机器学习方法中的一些框架里获得了更多的启示。

这里想重点聊的是机器学习中的三要素是如何映射到我们平时工作和生活的过程中的。

在一个普通的机器学习项目里,一切开始之前,我们往往需要确定三方面的东西:

目标:损失函数是什么,或者说我们想要优化的函数是什么,优化到什么程度为止

模型:选择什么样的模型,对哪些情况进行实验等等

搜索策略:通过什么样的方法找到“最好的”优化方法。这里最好包括能否找到最优参数,也包括搜索的成本或者效率。

如果联想到我们工作里的事务,这三个词这些大家是不是听着特别的熟悉。

目标:我们为什么要做一件事情,我们希望达成什么样的结果,这些结果有没有量化表示的可能?思考目标很重要,因为欲望是无限的,资源是有限的,比如时间、财力。当我们投资一只股票,准备一场谈判,尝试一项新的研究,进行一场市场推广活动,开展一项活动,目标最好都是明确、简单、可衡量的。为什么要仔细思考我们的目标,因为这个决定了我们能否有效复盘(如果连我们自己要达到什么目标都不知道,如何复盘呢?),更重要的是也决定了我们何时停止。仔细挖掘我们的目标,找到哪些最本源的目标,可以让我们不至于过分纠结在某些中间结果上,同时当我们卡在某个中间环节时,清晰的最终目标也会帮我们发现很多的替代方案。比如说为了进入某个陌生市场,我们希望通过与A公司快速达成合作,以获得在该市场的竞争力。那么在和A公司的谈判过程中,我们可能就不会在合作的利益分配上过于纠结。

模型:为了达到这个目标,我们希望利用什么样的模型来进行?如果是一项新的业务,业务的核心是研发、工程部署、渠道、还是其他什么,都决定了不同的管理方式。如果是个人发展,到底是选择报班,自学还是参加兴趣小组?如果自学是视频、看书、还是刷知乎?实际的过程中,我们往往找到一个解决方案就进行实施。仔细提前思考自己的模型,可以有效评价自己手里可以选择的方案,在一条路走不通时,可以真正做到运筹帷幄。

搜索方法:当我们手里有多个可能达成目标的模型时,如何找到最合适的那一个?从自动化机器学习的角度,我们可以格点搜索,就是一个一个按照一个列表去试;随机搜索,就是随意试;启发式搜索,根据上一次尝试的反馈,选择新的方案。在具体的事务上,如何选择,优先选择哪一个“模型”往往受到问题本身性质和手里资源的影响。还是就着刚才拓展市场的例子。如果我们的目标是在现有市场基础上,发展新技术,提高企业影响力和竞争力,可以想象我们可能有如下选择:采购已有技术,自主研发,合作研发等等,选哪一个,可能就要退一步再看看我们的目标:这个目标要求在多长的时间内达到;对于技术的产权有需求么;对于新技术的质量有什么样的要求,是不是已有工具可以达到?如果时间紧,对于自主权要求不高,可能购买会是一个好的选择。相反如果希望建立更高的技术壁垒,或者这项技术还没有好的已有成果,那可能自主研发就是一个好的选项。那么在搜索方法上,对于前者我们很可能会优先搜索已有的解决方案,并把工作重点放在合作或者购买谈判上;而对于后者,我们可能会优先准备科研力量,评估自主研发可能性。当然,如果财力允许,两个方案同时推进的“并行搜索”方法也是一个可选项。在“程序员修炼之道”里提了一句话,很有道理:世上没有完美的项目。所以当我们考虑项目目标的时候,一定要把目标质量要求也加入其中(比如完成的时间,最终的质量标准等等)。再退一步,如果我们的目标是提高影响力和竞争力,是否发展新技术是唯一的达到这个目标的“模型”,提供更好的服务可以么?无论采购还是自主研发,都可能遇到难以越过的障碍,如果我们的“模型”清单里面有一项“提供更好的服务”可以选择的话,相信我们在实现目标过程中遇到困难的时候会更加从容。

这三个方面可能是我们在做一件事之前最好拿一个表,逐一思考、讨论并且列举清楚的。很可惜,在相当多的情况下,我们只对自己为什么做一件事以及怎么做有一个模糊的想法就开始了,到了后面遇到问题才倒回来思考、补充。当然这里肯定不能因为去填补框架而举步不前,但是给自己一个冷静的时间,仔细按照这个框架梳理自己要做的事情,可能不全面,没关系。经过这个思考,不仅事情可以做起来更加顺利,还可以免除很多不需要的过度焦虑。因为填空题总比作文简单一些。


原创文章如转载,请注明出处”“本文首发于blog.infplus.top”