论精益创业与机器学习有哪些兼容性?

羽飞碎念 2018-08-20

点击上方关注,All in AI中国

作者:Abhishek Mukherjee

精益创业这个术语大概是在十年前创造的。从那时起,它已经发展成为创建创业公司最具影响力的方法之一,特别是那些属于基于网络的软件公司。在互联网革命期间,精益创业的理念日趋成熟。如今我们正处在另一场革命的前沿,这将是一场由机器学习算法引领的技术革命。可以肯定的是,在不久的将来,大多数或所有软件都将包含一些机器学习元素。但是,在理论上和实践中,精益与机器学习的兼容性如何?(https://x.ai/blog/why-anti-lean-startups-are-back/)

论精益创业与机器学习有哪些兼容性?

验证学习和机器学习

根据精益创业的理念,大多数创业公司的失败并不是因为产品的质量不佳,而是由于对客户的错误假设,即创业公司最终为不存在的客户构建完美的产品。为了避免这种命运,初创公司应该首先通过运行实验来验证和改进他们的假设,以了解他们的客户。此过程称为验证学习。在精益创业中,通过执行重复的假设检验来完成经过验证学习。

论精益创业与机器学习有哪些兼容性?

鉴于产品的功能定义,假设总是关于客户响应的断言。为了进行实验,首先需要在功能上定义产品(基本上是功能列表),而这定义了可行的产品。此外,还需要定义客户对产品响应的定量度量。功能性产品定义仍然留下许多选择(主要是技术性的)。这些选择应该让创业公司对于最有价值商品以最小化(通常是时间)支出的方式进行;这些选择定义了最小可行性产品(MVP)。然后,企业将着手构建最小可行性产品(MVP),将其提供给客户,记录他们的响应,并确定假设的有效性。实验通常设置为拆分测试,当前基线产品用作对照,建议的变化用作处理。

请注意,精益中并没有提供产品方面的不确定性范围,这给定了一个功能定义,可以确定是否可以构建满足该定义的产品,传统软件也是如此。传统软件产品的行为完全取决于企业提供的说明(即代码)。因此,给定其行为的完整规范,可以"向后"工作并找出需要提供哪些指令来构建具有所需行为的软件。从某种意义上说,最小可行性产品(MVP)基本上是为此目的所需的最小指令集。一个软件的行为可以基于语境展示不同的变化。然而,这种可能的变化的数量通常相当小,并且提供功能定义作为所有这些变化的总和是有意义的。

然而,机器学习从根本上是不同的。在机器学习中,产品是通过将一组指令(算法)与一些数据(训练数据)组合而生成的模型。因此,模型的行为不仅由算法确定,而且由训练数据确定。在机器学习中,不可能提前(在访问培训数据之前)对产品的行为做出准确的断言。此外,机器学习算法从大量数据中学习复杂的规则。基于语境行为的可能变化集是非常大的。因此,即使有人可以访问训练数据,通过手动列出其行为的所有可能变化,从功能上定义机器学习产品仍然不可行或不明智的,如果已经确切知道算法将从数据中学到什么,那么并不需要训练算法。

当涉及机器学习产品时,这为验证学习提出了一个基本问题https://hackernoon.com/the-challenge-of-product-data-fit-92543078551b。简单地说,如果假设的前提条件不能得到满足,那么不能用实验来检验假设的有效性,而在统计假设检验中,这被称为混淆。

在其未经修饰的形式中,精益实验不适用于机器学习领域中的验证学习或任何其他领域具有显著的产品侧不确定性的验证学习。正如我们上面所讨论的,这个难题的根本原因在于精益通过重复拆分测试(http://www.startuplessonslearned.com/2008/09/one-line-split-test-or-how-to-ab-all.html)提出假设验证作为验证学习的手段。

拆分测试是经过验证的学习的最小可行性产品(MVP)

验证学习的目的实际上是从实验证据中理解客户。拆分测试是用于此目的的极其严格的限制工具。那么为什么首先选择它呢?相信这是精益创业方法找到自己的最小可行性产品(MVP)的一个例子。

当精益创业作为一个具体方法创建时,其主要"客户"是基于网络的软件公司。在这个领域,拆分测试是无处不在的产品优化工具(对产品进行细微更改,因为企业非常了解客户)。这个熟悉的工具只是用于经过验证的学习。

在那个时候,最明显的领域具有明显的产品方面的不确定性,大多是moonshots方法,例如找到治愈癌症的方法。那么现在还不清楚,精益原则是否对这种方法有用。因此,用不太知名的工具使形式主义复杂化是没有意义的。换句话说,拆分测试是经过验证的学习的最小可行性产品(MVP)。

现在是采用支点的时候了

机器学习改变了一切——软件的主要目标正在从执行指令变为从数据学习。对于精益创业方法而言,这代表了其最重要的客户群的巨大转变。拆分测试与机器学习产品的不兼容性意味着很快它将不再是用于验证学习目的的"可行产品"。现在是时候寻找其他选择的时候了。

为了获得灵感,让我们转向有效学习的原始灵感来源——科学研究。精益通过科学方法的实验借鉴了大部分学习方法。然而,在科学中,实验是昂贵的。使用实验作为统计假设检验的手段只在少数情况下进行,例如当需要得到监督机构的批准(例如药物的临床试验)或没有真正的潜在理论基础时。

在更加成熟的科学领域,人们通常不会试图验证假设,而是试图建立理论。将在以下段落中提供对此过程的简单描述。

理论基本上是对各种实验事实的解释。但通常最简单的解释不是根据可直接观察的对象而是根据某些概念对象获得的。例如,原子理论可以解释各种实验事实。然而,你在实验中实际观察到的并不是原子本身,而是探测器上的一些闪烁灯光来表达。现在我们需要一种方法,一个地图,将原子连接到闪烁的探测器。地图是理论世界(由原子组成)和可观察世界(由闪烁灯光的探测器组成)之间的桥梁。

该图将用于将理论结果转换为关于这个特定实验设置的可观察量的预测。如果理论的预测与所有现有的观测结果一致,并且有一些新的预测,那么可能会根据新预测的重要性委托进行新的实验。如果发现理论中的任何预测与现有观察结果不一致,则需要修改理论。

上面的地图不是简单的表格,而是复杂的实体。它们是实验装置的准确模型,例如上例中的检测器。事实上,探测器物理学本身就是一个子领域。

一个重要的问题是为什么我们需要这样的地图?我们为什么不能简单地从理论付诸于实验?这有很多原因,但最重要的原因,也是人们讨论最相关的原因是这些地图提供了关注点的分离。理论的目标是提供最简单的解释。一个人应该能够在上海、旧金山或圣保罗进行的实验中测试理论的有效性,而不必担心每个实验装置的细节。另一方面,实验的作用是能够比较试图解释同一现象的多种竞争理论。如果将每个实验装置的细节包含在理论本身中,那么上述任何一个实验都不可能。在理论和实验之间放置地图提供了理论世界和现实世界之间的必要解耦。

现在在上面的讨论中,如果我们将理论世界与产品世界和现实世界一起替换为客户世界,我们将立即注意到与经过验证的学习的相似之处。验证学习的目标是找到将产品配置与客户响应相关联的地图。由于缺乏更好的术语,我们将其简称为客户地图。找到产品/市场契合度等同于找到客户地图一个良好第一近似值。在产品优化阶段,我们使用此客户地图为合适的客户构建合适的产品。在产品优化阶段,客户地图也会进一步完善。

一种新的有效学习的新最小可行性产品(MVP)

如何建立客户地图?通常,对于想要了解客户响应的每个产品配置进行实验是非常低效的。这或多或少是重复拆分测试所采用的方法。相反,需要的是一种可以从数据中推广的工具。正如它所发生的那样,在引入精益创业之后的十年中,已经完善了一个可以做到这一点的工具,这个工具被称为机器学习。

论精益创业与机器学习有哪些兼容性?

机器学习是精益创业中验证学习的完美工具。为了使这一要求更具体,以下举一个例子说明这可能在概念上如何运作。正如我们已经讨论过的,客户地图应该将产品配置与客户响应联系起来。推荐系统是一种可以做到这一点的机器学习算法。推荐系统中的映射质量显然取决于用于训练它的数据的质量。因此,在第一阶段,应选择产品配置以减少映射中的不确定性,而在后一阶段,我们绘制地图以生成给定客户的最佳产品配置。这正是语境强盗解决的问题。语境强盗是一种强化学习算法,而强化学习是机器学习的一个子领域。在语境强盗算法中,这两个阶段被称为探索和利用。因此,结合语境强盗的推荐系统可以是用于验证学习的工具。这种设置是重复拆分测试的最佳替代品。

刚才描述的验证学习方法与机器学习产品完全兼容,因为它不需要设置不受产品不确定性影响的假设。因此,它没有重复拆分测试固有的混淆问题。

该方法也不要求产品的功能定义使其起作用。该方法中的产品配置可以简单地是一种技术规范。对于机器学习算法来说,这将等同于算法类型、参数选择、训练数据集等选择。然而,具有产品的功能定义以理解其与客户的关系是有用的。实际上,可以在该方法中提供功能性产品定义。产品的功能完全由其与当前客户地图一起使用时生成的响应定义。实质上,这是猜测客户对产品的反应。这不是传统产品定义中的功能列表。但它可能更有用,因为可以使用行为分析工具对其进行分析,以深入了解客户如何看待产品。

综上所述,机器学习产品完全符合精益原则。但是,要在实践中实现这种兼容性,我们需要放弃一些在验证学习中使用的过时工具,并用现代机器学习工具取而代之。在此迁移期间出现的中心实体是客户地图,其确定成为验证学习的主要目标,通过重复拆分测试替换假设验证。

论精益创业与机器学习有哪些兼容性?

相关推荐