大学毕业后,进公司前理解的产品是有想法有创意,搞个原型实现它。进公司后,状态一直是,老大给任务,我完成。
第一次鼓捣的是推荐类的产品。
当时并不知道做的是推荐算法,或者说,根本就不知道什么是推荐算法。纯粹瞎胡闹。
因为数据已经被人工处理过,因此在推荐并不需要做太多的计算,就可以得到比较好的准确率和覆盖率。
基础数据为A,推荐物品为B。B关联了一定量的A,即它们本身就存在关联了。要实现的功能是:用户选择了一些基础数据A,如a1、a2、a3等,根据这个组合为用户推荐一些物品B,如b1,b2,b3,降序排列。
算法 1.0 是这样的。
利用基础数据A在物品B下的排列顺序,不同顺序给予不同的数值。用户选择的基础数据A,映射不同的物品B;在不同的物品B中,基础数据A的数值(顺序)是不同的。相加取均值。
1.0 是小学生等级。也有考虑到用户个人信息、物品B的季节性、地域性和流行度的附加信息,但,影响不大。
后来的算法 2.0 ,深刻地意识到,单个命中和多个命中的结果不应该是线性的,而是有弧度的。于是加入了对数,代替原来固定的数值设定。数值根据命中数的增加而有坡度的增加,命中数越大,坡越陡。即原来是直线,升级后,变成了曲线。
就这么着,在查找资料的过程中,知道了推荐算法。就这么着,找工作的时候,面试的人看中了这方面的能力,给招了。不过没关系,我也挺喜欢的。但如果不让我做别的产品工作,恐怕是不行的,画原型是一种乐趣,谁都不能剥夺我的。
不过,推荐算法,蛮复杂的。