You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

72 lines
9.7 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 132 | 数据科学家高阶能力之如何系统提升产品性能
人工智能工程师和数据科学家的一个核心任务,就是依靠人工智能、机器学习这样的工具来帮助产品不断提升品质,吸引更多用户,以实现既定的长期目标。这里有一个关键点,就是我们如何开发出一套方法论,让提升产品性能的过程可以“有章可循”,并成为一个系统性的流程。
初入门槛的工程师和数据科学家,容易把精力和眼光都集中在具体的算法模型上面。这固然是短期内的重要工作,但是,如何能够持续不断地为产品提供前进的动力,才是让人工智能技术有别于之前多次技术浪潮的根本因素。今天,我就来为你剖析一下,持续不断地、系统性提升产品性能的一些关键步骤。
## 优化长期目标
一个产品如果需要利用数据驱动的人工智能技术来提升品质,第一件事情一定不是专注于部署某一个模型或者算法。或者说,如果已经急迫地上线了第一个简单的算法,接下来最重要的事情一定是停下来,看一看我们是否已经弄明白,这个产品到底需要“优化”什么目标,是否有一个指标检测体系,来指导我们的优化过程。
**我们利用人工智能技术手段一定要优化产品的长期目标,这是系统性提升产品性能的一个关键**。乍一听这是一句废话,难道算法和模型还有不优化产品长期目标的时候?你心中一定有这样的疑问。其实,确定你所制定的技术方案一定能够优化产品的长期目标,是一件比较困难的事情。
设想一下这些例子。比如你为一个在线视频的网站设计推荐系统你根据很多教科书上的推荐系统案例优化某一个视频的评分Rating这是在优化这个产品的长期目标吗
比如你为一个电子商务网站设计搜索系统你根据传统的信息检索以及搜索的案例优化查询关键词和产品的相关度Relevance这是在优化这个产品的长期目标吗
再比如,你为一个新闻网站设计新闻流系统,你根据产品的基本特点,希望提高新闻的点击率,是在优化这个产品的长期目标吗?
针对上面这些问题,答案或许都是——不确定。或者说,你正在优化的可能会、也可能不会对这个产品的长期目标有影响,这就需要我们建立一个系统性的方法论,来引导我们回答这个问题。
因此,知道我们是否在优化产品的长期目标需要一个前提,那就是我们必须要建立**产品的指标检测体系**。在专栏的上一期内容里,我们已经介绍了五个层次的产品评估体系。对于提升产品来说,建立这些层次是关键的一步。然而,要想真正系统性地提升产品,还有一个至关重要的步骤,那就是**打通这五个层次,建立一个立体的产品提升流程**,从而实现优化产品的长期目标。
我们先来简单回顾一下这五个层次的指标。从最高层次说起,**第五层次的指标主要是产品的长期指标**,比如季度利润的增长、年利润、月活跃人数等。这些指标和产品的最终目的息息相关,却非常难直接衡量,也就是这些指标对产品的一般变化不是很敏感。
**第四层次的指标主要是用户在多个会话的交互表现。第三层次的指标是指用户在单一会话的交互表现**。这两个层次的指标比较容易在A/B测试的范畴内测量。这些指标能比较宏观地检测一个产品的高维度表现了解用户一般是如何和这个产品进行交互的。
**第二层次是页面层级的指标**,这个时候,我们观测到的基本上已经是产品团队可以直接控制的因素了。**第一个层次的指标是模块级别的指标**,这是产品团队直接运作的结果。
这五个层次的指标从宏观到微观,构成了一个检测的体系。如果我们要优化产品的长期目标,也就是说第五层次的指标,而我们能够直接掌握的产品决策,往往只能带来第一、第二层次指标的显著变化,这两者之间的差距如何来弥补呢?
我们前面举了好几个例子,比如视频推荐、产品搜索、新闻流产品等等。之前提到的技术方案大多数直接针对第一或者第二层次的指标,这些方案是不是能够对第五层次的指标奏效,其实是一个不确定的问题。
那么,问题的核心就变成了,**如何在只能运作第一或者第二层次指标的情况下,对第三、第四甚至五层次的指标有间接的控制和影响呢?**
## 建立层级指标之间的联系
上面我们提到了,要想持续地提高产品,最重要的就是要一直优化产品的长期目标。但是,如果我们只能控制产品的短期指标,如何才能优化产品的长期目标呢?
**答案其实很简单,就是我们必须在所有层级的指标之间建立联系**。这些联系因产品而异,但核心思想却是一致的。
回到之前的一个例子,那就是构建一个视频推荐系统。如果我们希望直接优化用户对视频的评分,就必需回答一个问题,能够给用户推荐打高分的视频,和产品的长期指标之间有什么联系?假设这里产品的长期指标是月活跃用户数目,那么问题就是,给用户推荐打高分的视频,和月活跃用户数目之间的联系是什么?
注意,这里说的建立联系不仅是**逻辑联系**,而且也是**数据链联系**。也就是说,我们不仅需要尽可能地在逻辑上理清,为什么推荐高分视频有利于帮助月活跃用户数的增长,还需要用数据来为这样的观点提供证据,这才是最重要的一个环节。
简单说来,我们可以这么做。首先,从所有的用户群体中找到用户样本。然后,通过数据来研究,用户的活跃程度和被推荐的视频评分之间的关系。从最高的维度上说,那就是建立一个**回归问题**,比如用户的月活跃程度作为响应变量,被推荐视频的评分用作一个特征变量。
当然,这个时候我们还可以引入其他的重要变量,比如性别、年龄组、地区等等,用来排除这些因素的干扰。直接研究这两者之间的关系一般来说是一个有难度的工作。比如你很可能并没有那么全面的数据,也有可能这两个变量都需要做一些变形,还可能负例太多(也就是说有大量的用户并没有因为评分的高低而改变他们的行为)等等。
如何具体地建立这个模型我今天先不讲,但有一点是可以肯定的,那就是这样做一个分析,可以很好地帮助你了解优化对象和长期目标之间的联系。
我们不仅需要了解第一层级和第五层级指标之间的关系,每一个层级之间的关系也是需要去研究的,这样才能更加全面地了解自己的产品。这一步就是把之前分散的五个层级打通的重要步骤,也就是如何建立一个立体体系的关键。
那么,如果出现了这样的情况,长期运作的第一层级指标和自己的长期目标没有联系,该怎么办呢?第一,**祝贺你,你进入了真实的产品运作环境**。从很多产品的长期运作经验来看,很多传统的指标特别是教科书上的指标,都和真实的长期指标有很弱的关系,甚至根本没有太大的联系。第二,**这会帮你早日抛弃错误的优化目标,转向更加正确的道路**。
寻找一个正确的第一、第二层级的指标,让这个指标和最后第五层次的长期目标之间有正向联系,就是能够持续不断地推动产品前进的一个重要动力。因为这个因素,产品团队才能够不断地试错,但不会失去大方向。
然而,说起来貌似很容易的事情,做起来其实是很困难的。我刚才说了,很可能有一些指标,看上去有一定的意义,但并不一定和长期目标有任何正相关。怎么才能找到恰当的指标呢?
一个简单的方法是**尽可能多地记录指标**,然后根据后期的实验数据和分析来确定指标之间的联系。回到刚才那个例子,就是说,我们对于一个视频网站,可以记录很多第一、第二层级的指标,有可能有上百上千个。然后我们根据数据,从这么些指标中,和最终的长期目标做回归分析,建立一些备选集。
这里需要数据、也需要经验。我们还可能发现,最终的长期目标和好多第一或者第二层级的指标都有关系,这也是很正常的。这就说明,优化长期目标是一件复杂的事情,很多短期目标和长期目标并不是只有简单的线性关系。
当确定好了第一、第二层级的指标后,那就可以开始用机器学习的手段,**把指标当做算法模型的目标函数**,从而重新设计算法,使其能够开始优化新的指标。这一步也需要很高的机器学习技巧和丰富的经验,因为并不是所有的指标,都能很容易地转换成机器学习可以优化的对象。
## 小结
今天我为你讲了,人工智能工程师和数据科学家的一个高阶能力技巧,如何才能不断提升产品的品质。一起来回顾下要点:第一,我们要专注产品的长期目标。第二,一定要建立产品短期目标和长期目标之间的关系,从而能够在直接优化短期目标的同时间接优化长期目标。
最后,给你留一个思考题,请你认真想一想,对于我们上面举例的推荐视频网站来说,有哪些第一或者第二层级的指标和用户的活跃程度有关呢?
欢迎你给我留言,和我一起讨论。