1.定义
机器学习算法,或者说“算法工程师”这个职位名称里的“算法”,并不是计算机系本科课程《算法与数据结构》里那个算法。那门课里讲的,是排序、查找这类”确定性算法”;而这里我们说的,是用统计方法对数据进行建模的”概率性算法”。
1.1分类
算法工程师分为两类。其中一类是偏研究型的算法工程师,例如复现paper,改善模型,发paper,出专利,这一类人才大都是科研大佬。第二类则是更加贴近业务的算法工程师,不如称为「算法应用工程师」。这一类同学主要是与业务同学进行搭档,通过现有的一些成熟模型来帮助业务同学解决问题。
2.主要工作
理想中的算法工程师:提出假设-》收集数据-》训练模型-》解释结果。
实际中的算法工程师:提出假设-》收集数据-》预处理-》预处理-》训练模型-》调试-》调试-》重新收集数据-》预处理-》收集更多数据-》调试-》调试-》调试-》…-》放弃。
每天最重要的就是跑数据!这不是段子,而是事实。为什么“高大上”的算法工程师实际上是个数据民工,要寻找这种理想与现实的差距的原因,首先要理解一个事实:只有人能够理解数据,机器不能。不管我们用什么机器学习算法——无论是LR,SVM,k-means,EM——对于它们来说,输入数据都是一堆浮点数组成的矩阵而以(如果说的更本质一点,只是一堆01序列)。如果有一个特征是“小时”,而它出现了25,任何一个智商正常的人类都能明白,这是一个错误,然后在数据清洗的时候把这样的数据排除。但是机器就无法理解这一点。要具备小时的概念,又要理解什么是时间,一天有多少个小时…机器怎么能自动化完成这样的数据清洗工作?更进一步,如果人发现“小时”这个特征中大部分数据是0到12,而混入少量13(但13的数量又不是太少以至不能被当成离群点排除),人就会怀疑,是不是使用了12小时制而13是一个错误。机器目前是无法做到这一点的。
一位算法工程师对自己工作的反思,写得挺实在的
3.进阶之路
在机器学习领域,算法工程师脚下的进阶之路是清晰的:当你掌握了工具、会改造模型,进而可以驾驭新问题的建模,就能成长为最优秀的人才。
20万、50万、100万的算法工程师,到底有什么区别?
4.传统模型VS深度学习模型
优秀的算法工程师都是不用深度学习的
讲的是为什么有部分传统的算法工程师不愿意使用深度学习算法,虽然题目有点哗众取宠,但是问题角度还是挺值得深思的。
-
工程师
+关注
关注
59文章
1566浏览量
68441
发布评论请先 登录
相关推荐
评论