做过很多产品的策略,看过不少算法书,算法是真的多,还有各种变种。要理解这些算法,还真得真的理解大学数学课作为基础。然而,我们令人同情的互联网中,虽然几乎人人都是大学毕业,但是非算法岗里面理解大学数学的还真的不多。
我经过了一些具体实践之后发现,大部分算法其实都是在解决一些有共性的问题场景。了解这些场景后,在产品方案设计时,就可以对判断是否用算法去做,就可以考虑到是不是有些地方可以用算法去提升,这对于大部分产品经理而言就够用了。
场景一:特征和概率预测
这几乎是最常见的一种了。比如搜索和推荐系统,就是了解用户特征、内容特征、预测用户点击内容的概率。信息流也是如此、商品也是如此。广告系统,也可以用这种方法做点击率的预测。
这些系统一般要解决内容分发的问题。有很多历史上用户对内容的行为,每个用户同时可以消费多个内容,搜索、推荐、广告都是如此。
这里面最重要的就是定义好什么是正样本什么是负样本,然后扔进去机器学习里面一波流。再通俗一点就是确定什么行为数据代表用户对内容感兴趣,什么行为数据对内容不感兴趣。
正样本比如:用户点击广告,用户把短视频看完且点开评论,用户看完内容关注了创作者。
负样本比如:热门内容给用户曝光了但用户就是不点,用户看了一眼就划走了。
这里面还需要特别注意的就是,这个算法就是假设用户的行为具有连续性,这个假设是值得挑战的。
另外点击概率出来之后最直观的策略是按照点击率倒排,然而这里可能会有很多bug,比如用户选择概率最高的内容可能很类似,全摆出来用户会厌烦,可能还需要一些调整。这些就是需要理解用户和理解产品才能做得决策。
但总而言之,特征和概率预测场景是算法行业的老问题了,很多业务问题都有成熟解决办法,不懂算法的产品没太大的发挥空间,估计还是得充当工具人。
场景二:两类主体一一匹配
最典型的还是网约车了,司机和乘客的匹配,我自己对这个场景理解比较多,还是因为做过网约车的分单算法。但其实这个场景应用也很广泛,比如外卖、比如社交软件的在线匹配、比如在线教育的老师分班。
这个场景的特点就是这两类主体中不同的匹配组合满意度不同,系统寻求的是最大满意度。
比如网约车每个人都希望匹配给自己最近的车,每个人都希望自己能匹配到最受欢迎的异性,每个学生都希望自己分到最好的老师。
但是服务场景和在线场景不同,不可能满足所有人的需求,服务者服务能力有限,有些时候只能服务一个用户。如果是内容分发,那无所谓,一个内容可以同时曝光给所有用户,但是一辆车不能分配十个乘客。所以就需要求这两类主体之间的相互之间的匹配度,然后求出一个最优解。
具体求解的部分介绍一个二分图,就是专门解决这类问题的算法之一。这就是两类集合,每个点都和另一个集合中的点有不同大小的匹配度。最终求解如果每个点只能和对面集合中一个点连接,最优匹配是什么。二分图问题是经典问题,有很多成型的算法,KM算法就是其中之一。
很多场景可能不能直接用,但也有一些处理方法。
比如大班老师可以匹配多个学生,而不是一对一。就可以把老师的班级名额的作为匹配的主体,这样两边就对等了,1个A老师和100个学生,就变成了100个A老师的班级名额和100个学生。
如果同时有多个角色需要匹配怎么办?
那么就可以先两两匹配,绑定后加入第三者继续进行匹配。
场景三:根据情况做决策
比如炒股,决定是否买一个股票有很多决策因素,比如市场情况、股票价格、公司财务指标、行业情况等。就是根据当时的情况做决策。很多自动化策略都是这种,自动驾驶就是典型的这种场景。
这种问题没有通用的解决方法,但基本就是构建一些启发式规则,比如根据指标构建一些函数,这些函数的结果会影响决策。
要判断这种函数是否有用,最好的方式就是利用历史数据做回测校验、就是假设还原到当时的情况下,看策略的表现,并且利用后来的真实情况评估策略的好坏。
这些策略对于现在的算法依赖不大,但是对于统计学知识、业务场景理解、函数构造经验要求很高。
场景四:根据多项数据分级评分
比如淘气值、蚂蚁信用分、司机服务分等。在学生时代我们通过考试打分,在互联网中就没法做卷子了但是还是要考核。我们希望通过这些指标,对用户或者服务者有更直观的认识,对用户可能是一些精细化运营,对服务者可能是升降去留。
这里也是机器学习算法应用较少的地方,基本还是根据对业务的理解构造一些打分规则。我之前写过三篇服务分打分的内容,感兴趣的同学可以再读一下。
小结:
除了这些,还有一些非常场景化的算法,比如语音识别,图像识别,听名字就知道这个算法干吗的,虽然算法复杂度高,但是好理解。遇到可以用到的场景,非算法人员也能想不到。
目前这四种类型基本涵盖了互联网主流的算法场景,也是策略产品经理主要战场。虽然大部分公司不要求产品经理们懂算法,更看重人的基本素质,但理解了这几种场景还是必要的。
如果在遇到新问题时,万一业务人员和产品经理都意识不到这些场景可以用算法,那么算法就无法参与其中。而这些场景下,算法确实能极大的提高整个产品的用户价值或者商业价值。