推荐算法主要有三种
第一种是基于群体的推荐,比如说三岁的小孩往往需要喝奶粉,要尿布,那我们就统计三岁婴儿适用的奶粉里哪些最流行,推荐给娃儿是三岁的用户,这种根据大众行为的推荐,往往是给所有人或者一个群体做推荐,做起来比较简单,也不存在“冷启动”的问题,这种推荐算法用的最广,即便是线下的大超市,也会告诉你当月卖的最火的是啥,效果也还行;
第二种是基于内容的推荐,比如一个用户老是买最贵的新西兰奶粉,系统给奶粉标记几个元数据,比如进口,食品,高价,推荐系统就可以认为这人对国产食品不放心,而且支付能力尚可,那么就可以给它推荐,其它标记有“进口”或者"高价"的商品,这种推荐方式存在一个冷启动的问题,就是偶尔的几次购买,无法给出足够的可靠性来给人做推荐,另外还存在一个人工训练的问题,因为商品的维度,需要人工录入,录入的时候也可能录入错误,类似的比如豆瓣上的书,如果出版日期或者作者录入的时候就是错误的,那么对推荐就会有影响;
第三种方式就是协同推荐了,通俗的说法就是尿布和啤酒的故事,大意就是说找到item(可以是商品或者顾客)的关联性,再根据这些item的关联性做推荐,这种算法也有冷启动的问题,就是矩阵稀疏的时候,算出来的效果和随机的没啥两样,它比第二种方式好的地方是不用人工训练,在电商行业,这种算法应用的最广,效果也是最好。
这三种算法,其实分别是基于统计的,监督型的,非监督型的算法。
在推荐系统起步的阶段,往往会面临两个问题,第一是新用户往往是从来没登陆过的,也就是冷启动用户多,第二个问题是没有足够的人手做数据清洗,做模型训练,也就是说监督型的算法,没法儿弄。
针对这两个问题,我觉得比较好的做法有以下三点:
一是尽量获取尽可能多的用户数据,有了数据才好做推荐;
二是做混合型的算法,这样可以避免冷启动的问题;
三是模型建立时多参考营销专家的意见,把他们的经验算法化,针对性更强。