从数据、信息、算法三者的关系谈谈算法优化
信息的作用就是消除不确定性[1],在信息时代与工业时代交接时,若思维没有发生转变就容易被淘汰。
google之所以能打败雅虎,一个很重要的原因是google利用了数据,而不是专业人士,来消取网页排序的不确定性。
在互联网出现早期,由于网页少,雅虎可以用导航的方式对网页进行分类。而且此时排序也显得不那么重要。但当网页数呈指数级增加,即不确定性增加时,这种思维方式就落伍了。
信息是较为抽象的概念,在信息时代,它会以数据的形式展现出来。数据可以理解为是加密过的信息。
而google做的事就是用PageRank算法对网页之间的链接这些数据进行解密,获得了网页的排名信息。PageRank的想法非常简单,但效果却十分显著。
网页排名是PC时代的一个例子,在智能手机时代也有许多类似的例子,最为重要的例子是个性化推荐。
现在电商、视频、新闻类的平台都把个性化推荐当做武器。原因是智能手机时代,平台可以拿到更多的数据,因此可以解密出更多的信息,可以更大程度的消除不确定性。
无论是商品、视频还是新闻类APP,拥有的数据都可以分为三类。
最为重要的一类是用户在APP上的操作记录。用户在APP上的任何操作行为都会被记录下来,比如在什么时间什么地点看了哪些商品、转发了哪条新闻、给哪个视频点赞。
第二类是用户的基本属性,比如姓别、年龄、常住地址、消费能力等。
第三类是商品/视频/新闻的基本属性。比如商品类目、价格、视频导演/演员、新闻主题等。
而对应的信息就是用户对商品(/视频/新闻)的偏好。个性化推荐的目的就是用以上三方面的数据解密出更多、更准确的偏好信息。
对信息的还原程度就代表了算法效果的优劣。当然这种判定方法比较抽象,更为具体有效的方法是AB测试。关于AB测试我后续会再写篇文章介绍。
既然是解密过程,算法优化一定是有上限的,因为我们解密后得到的信息量不会超过数据所包含的信息量。
所以算法优化有两大方向:
一是提高解密水平,降低信息的损耗,尽可能多的从当前的数据中找出信息。特征工程、算法调参、使用不同的模型或融合不同的模型都属于这个范畴。
二是引入更多的数据。更多的数据通常意味着更多的信息,会拉高算法的上限。
不过不同数据所表达的信息可以是相关的,这时两条数据的信息量是小于各自信息量的和的。为了获得更多的信息量,应该优先使用那些相关度较小甚至是正交的信息组合。
比如电商推荐数据中,如果引入了用户对商品的正向行为数据,比如点击、加心愿单、加购、购买数据,此时再引入评论、点赞等正向数据,通常比不过加入曝光这类负向数据。
而各种行为数据之间的相关度会比行为数据与用户基本属性的相关度小。所以在使用了行为数据后,应优先引入用户的基本属性,而不是再苦心去找更多的行为数据,以期获得较大的效果提升。
参考资料
[1] 吴军,《信息论》-发刊词|信息时代每个人的必修课
[2] 吴军,《信息论》-13|信息正交性:在信息很多的情况下如何作决策?