在先前的文章中,我们说到,AI时代已经到来,基于海量的数据和更高性能的运算能力,人工智能/机器学习在决策、推荐、结果归因方面都体现出人无法比拟的优势和巨大价值,也成为了工作中常见的解决问题的一种工具。而PM毕竟不是算法工程师,对算法的理解程度远不及专业岗位同学,需要明确,理解到何种程度才能让工作更顺利进行。
以往工作中,我并没有了解过机器学习的算法思想和细节,也可以正常推进工作。最近闲暇时间浏览机器学习案例的相关书籍,有一些新的感悟,在此分享给各位读者。当然,这并不意味着这些新的感悟推翻了先前的工作模式,我仍然认为,即使不了解算法思想和细节,做算法类产品和能力构建也没有问题,我们只是探讨程度和更多的收益,更好的结果。
PM一定要理清楚,希望通过算法解决什么问题。
并不是所有问题都可以通过算法解决,也不是在任何阶段都适合引入算法能力。
某些情况只需要通过交互设计,运营培训等方式对用户进行引导,便可达到目标。比如当你在设计某个app的夜间模式,你期望每天用户关灯在床上刷信息的时候自动转换为夜间模式。于是你想,可以通过算法,结合app使用习惯和时间变量,来预测用户的行为模式,当条件满足时,app自动转为夜间模式。但其实还有更简单的方式,比如在app打开量检查光线感应器或者前摄像头亮度数据,若较暗则自动切换至夜间模式。但其实还有更简单的方式,直接在app内设置浅层入口,允许用户快速切换模式。注意,这并不是更差的设计,反而是最方便用户的设计。
要避免陷入“算法你已经成熟了,应该学会自己解决问题了“的认知中,把一切难以或者懒得用设计去解决的问题都丢给算法。这样对算法是不负责的,对产品也是不负责的。另外,不知道你是否意识到,作为PM,参与算法相关的工作,最大的价值其实正是在于,理解这个问题的本质,并对解决问题的路径进行设计,就像在上述问题当中,只有PM角色能够发现并设计,通过简单增加界面开关功能,依赖用户输入的方式来解决夜间模式切换问题,而非通过学习用户使用习惯,系统自动切换的”自动化“方式解决。
那么,什么样的问题,适合用引入机器学习能力来解决呢?
机器学习的优势,相比于传统的统计分析,在于能够更高效地处理更细、更多的数据,并且运用丰富的统计方法得出结果;相比于传统解决问题的方式,特别适用于”无法预测“的场景,如用户的喜好、未来的趋势,核心可概括为:基于海量信息输入(人工无法处理),运用各种数据处理方法,得出数据特征差异性/集中性/规律性结论,从而指导完成用户服务优化、风险控制、功能和内容预备等。
注意,是指导完成产品优化工作,引入机器学习并不是引入一项新的功能,而在于帮助我们在数据基础上完成决策。因此,回答问题:需要依赖数据做产品或者业务决策,而人工数据分析无法完成的情况下,适合引入机器学习算法能力,其价值在于输出结果,辅助决策。
PM要明确算法输入输出,要求和目标。
而作为PM,在明确需要通过引入算法的方式解决问题的情况下,和开发同学沟通需求内容时也需要注意思考,最好能够明确算法目标。算法这东西吧,其实有点玄学,并不是像别的前端后端功能需求那样,直接和开发同学提出,我需要实现什么什么功能,做到什么效果就好。如果你和算法同学说,我要求你开发一个更牛逼的音乐推荐算法,要求给用户推荐的音乐,用户的播放完成率比之前版本要提升50%。开发同学听到,估计会拿出早已藏在抽屉里的刀跳起来要和你大战三百回合。
算法目标不应该是KPI式的要求,而应该是方向、表现、结论式的要求。因为到现在,所有的算法都有其不同的适用场景和局限性。比如有些适合复杂特征数据处理而有些适合冷启动,有些适合预测而有些适合特征挖掘等等,而且没有一种能够达到理想效果。用算法解决问题的过程,总是探索和迭代性的,因此,应该以算法的基本性能、适用场景、输入输出表现等综合维度来进行要求,而非简单的指标提升。
针对上面推荐系统的算法目标要求,合理的描述可能是:要求针对音乐库中所有音乐,以音乐风格、作曲家信息、出品年代、历史用户收藏行为为输入,对已分类的用户群体,以天为周期,完成音乐和用户群体匹配度排名,取前10作为当日推荐歌曲向用户推送,且希望播放完成率提升30%,若无提升,明确用户喜好相关的高权重特征,并给出下阶段优化方案。
你看,我们并没有设一个很严格的KPI,要求算法必须做到50%的提升,算法本质上是研究型工作,需要给予一定的空间,并且相对来说,注重过程结论。因为,算法的核心在于不断迭代带来的提升,其目标设定应该注重迭代质量而非快速输出结果。
以上推演中,你也许会发现,PM的价值,似乎与传统需求跟进过程中PM的价值没有太大区别,也是在思考场景、实现路径、目标和结果要求,也需要通过调研,通过推演,通过经验整理分析,来为开发同学的功能实现进行正确约束,而并不是将算法工作直接丢给开发同学。一个理想的合作模式是:
PM通过市场调研、逻辑推演等方式确定某些问题通过引入算法来帮助决策能够带来极大的业务增长和产品提升,并了解希望算法朝着什么方向迭代,最终完成哪些点的优化,合理要求开发同学进行算法研究和调优。
而在此基础上还有一些画龙点睛的工作:PM对业务情况十分了解,潜在大概率确定某些因素与业务结果强相关,某些已经人工验证了没有关系,在算法设计时,需要重点考虑某些数据,可以忽略某些数据,那么这些思考和经验,其实是算法的捷径。对于业务的经验和理解,能够极大帮助算法冷启动时,更会在一个正确的方向上。PM对算法的优缺点和适用场景有了解,同时自己十分明白,希望算法最后输出什么结果,还可以对开发同学提出相应的建议。
By the way,聊聊策略/算法PM。通常,我不建议对算法了解很深的产品同学在算法同学面前装逼,非要和对方就算法细节进行撕逼,纠一个参数,纠一行代码,纠一个统计方式,专业的工作,交给专业的人。只有一种情况特例,即专门的策略/算法PM,该岗位在PM中,算是比较细的一个分支了,面更窄而深度更深,岗位要求通常希望此类PM直接与开发同学一起参与算法调参过程,确实也可以说是小半个算法工程师了,但既然还是PM,其实更是纽带,连接用户与算法,连接业务与算法。PM对用户和业务的了解是其优势,正如上面所说,这些信息开发同学接触不到,可由PM输入,从而使冷启动更大概率成功,使算法迭代方向更大概率正确。
网友评论