推荐系统的必要性

引言回顾

在专栏文章的引言中,我们讨论了推荐和推荐系统,以及推荐系统的应用。这里我感觉有必要再通俗地介绍下推荐系统。我们所存在的世界是不断发展的,发展是靠着越来越多的连接来进行的。从最原始的物物交换,到今天世界各国建立贸易关系,都是为了自身的发展。同样的,推荐系统的目的就是要建立物品和人之间的关系,把物品推荐给人。比较恰当的例子就是微博营销,他通过人与人之间的关系网络,将一个圈子里可能出现的热门物品推荐给这个圈子的每一个人。

你需要推荐系统吗?

如果你已经拥有了物品,又有了流量(人),这时候推荐系统的两个关键的要素都具备了,这时候你需要认真考虑是否要上推荐系统。在做一件事情之前,我们先要明确自己的目的,即我需要推荐系统,它能给我带来什么?能给我提升广告收入?能延长用户停留时长?能更多地购买我的产品?等等。在经过一系列的调研、讨论后,确定是需要搭建属于自己的推荐系统,期望能在业务、产品上带来一定的价值,那么你就可以动手做了。
这里重点关注下自己的物品和流量是否都达到了一定的量级,如果物品太少,是不需要做推荐的,找个运营就搞定了;如果流量太少,同样不适合做推荐。总结以上两点,如果能建立的物品和人之间的关系太少,那就不需要做推荐。直观一点,就是一个矩阵太稀疏了,能建立的关系太少了:
(1) X = [ 1 0 0 0 0 0 0 0 1 0 0 0 ] X = \left[ \begin{matrix} 1 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 1 \\ 0 & 0 & 0 \end{matrix} \right] \tag{1}
如果只能建立上述关系的矩阵,那么我们是不需要推荐的,这与推荐中的稀疏矩阵是两个问题,大家注意分辨。

怎么做?

确定了自己的确需要推荐系统,那么我们怎么做,需要考虑什么呢?首先,最重要的就是投入产出比。搭建自己的一套推荐系统,需要团队中有以下人才予以支持。

算法工程师(推荐方向最好)
开发工程师(需要java,spring cloud 微服务)
大数据工程师(flink, spark, hive)
大数据运维工程师
BI工程师(数据仓库、数据挖掘和数据分析)
推荐产品经理
测试工程师
算法架构师(可选)

那么,这样一个团队的组建是非常昂贵的,尤其是算法工程师比较稀缺,招到一个合适的是非常难的(ps:面试面到想吐,合适的、发了offer的还不一定来),hr和技术面试官都太累。算法架构师可选的原因是能力强一点的算法工程师是可以担任这个角色的。但是针对大型的机器学习平台等建设就必须要算法架构师了。

如果已经组建了算法团队,就不要在意硬件成本,人力成本是最昂贵的。该买的服务器,电脑,办公用品等都已具备,那么就可以开始你的推荐系统建设了。

猜你喜欢

转载自blog.csdn.net/chunyun0716/article/details/83017955