小议数据挖掘工作的分工
随着大数据、人工智能概念的不断升温,从事数据挖掘算法在很多相关专业同学们眼里是个有前景的方向,很多人也在谋求转型进入到这个领域。自从有了网络mooc课程之后,这个领域的门槛看上去也是越来越低,竞争压力也越来越大。但接触了一些想要进入这个领域的人,包括当初自己还没踏进这个领域的时候,会存在一些误区。其实数据挖掘算法这个领域,会有很多细分的方向:
1)算法研究:很多搞技术的人会比较推崇这个方向。但实际上真正去做算法研究,窃以为还是要经历正规系统的学术训练,有相关的博士学位为佳。跟踪最新的前沿论文,并不断去实验。如果没有正儿八经发表过学术论文,经历过审稿人的各种刁难和挑战,即使尝试出来了一个效果显著的算法,其理论的严谨性我认为还是会受到各种质疑的。做算法研究,很多时候是需要很强的学术背景去背书的。
2)算法开发:很多技术体系的人士应该都处于这个领域。算法是现成的,只不过因为一些业务的需要,会进行相应的调整和开发;或者是去帮忙实践由算法研究人员给出的算法逻辑。通常能做算法开发的人,代码能力要特别强,尤其是对数据结构一类的算法理解透彻,这样才会开发出来兼具效率和效果的算法库。有ACM竞赛背景,做此类相关工作会有比较大的优势。
3)算法应用:算法应用的典型岗位应该就是数据科学家或者数据分析师,有的可能还会是数据产品/运营的职位。做算法应用的人通常会融入比较多的行业背景知识,是复合型的人才,R/Python是他们最常用的工具。做算法应用的人,可以去深耕一个领域利用算法解决问题;也可以去追求广度,用各种数据工具去解决业务咨询问题。此类工作者需要比较强的沟通表达能力。
以前看过一个广为流传的文章说,上述三种人才,就好比是个金字塔。算法研究薪资最高、其次是能够做算法开发的人,最后是算法应用人员。我其实不大认同这样一个观点,只是不同的分工罢了。就好比在高校里,总有基础理论研究的学科,总有偏应用的学科。不同分工,其产生价值的点也会不一样,看个人背景和喜好。比如,做算法应用的人,如果要评价好与不好,不在于模型的精准度如何,而在于对业务指标的支撑有多大。事实上,在某些场景下面,精度一般的模型反而能产生比精度高模型更多的价值。所以算法应用很大程度上看的是一个人的综合能力,对问题本质的思考是否透彻。