人工智能属于上层建筑,实际上大部分做机器学习算法的不能做到工程落地。特征可以由数据仓库的人,采用spark sql方式产生。数据特征准备好了后,才让他们应用机器学习算法训练模型。如果模型结果好,接下来就需要java程序员把sql翻译成代码,在线计算特征(搬砖)。在线模型预测工程也是需要工程师来做的。
猜测很多公司多会有算法工程部门来配合模型开发。这里面就有大把java工程师的工作,比如特征工程,在线实时计算,在线推荐,数据仓库,甚至底层数据平台。
转型路上很艰苦,相当于你拿劣势,甚至零经验比拼别人的优势。我这3年尝尽痛苦。读过storm,spark源码,读过redis,rocksdb源码。做过N个实时流计算工程,特征工程,数据仓库,数据挖掘,NLP,算法建模(实际只用过xgboost,kmean),尝试过自定义page rank,社区发现算法,使用过simhash,word2vec算法。
更多的痛苦来自脏数据,甚至快上线了发现数据压根就是错的。工作量大,加班多(尽管没有产品经理),产出漫长,特别漫长。因为很多想法不去尝试无法知道结果如何。比如说,我认为经常逛夜店的贷款的更容易逾期,然而实际并不是。工作难道也大,算法的目标是提升效果,却不知道怎么做,尝试很多方法一点效果都没有。经常怀疑人生,我为什么选择自虐。
不要轻易转型,除非你真的准备好了。 |