作为一名算法工程师,你觉得最重要的能力是什么?

作者&投稿:夹俩 (若有异议请与网页底部的电邮联系)
~ 本文列举了算法工程师需要掌握的能力,听我一一道来,至于哪个更重要,文末我会给出一些个人建议。

软件工程能力
虽然说算法工程师日常工作是实验多,代码少,软件工程能力要求不及大型软件的工程师。但做算法工程师可不是每天在jupyter notebook做完实验就完事的,你的代码最终需要融入到产品里,所以代码必须规范。算法工程师本质上,还是工程师。所以软件工程能力是必不可少的。不要求说达到特别高的工程造诣,但基本的代码规范,合理的模块设计,以及对模块进行单元测试的能力,我认为是必不可少的。
商业逻辑洞察力
有的项目是to C,有的是to B。不同的项目有着不同的商业逻辑。例如检测信贷风险,你不可能直接堆砌几个模型就能得到好的结果。但作为算法工程师,商业逻辑上肯定是不可能比客户理解透彻的。你需要多点和客户沟通。例如我做信贷风险检测,我需要知道他们的数据是如何产生,产生的频率是啥,从而我可以判断某些字段做aggregation时是应该用avg,sum,还是max比较合理。除此之外,理解一些商业逻辑有助于构建非常有效的特征。我们知道一个人月收入越高还债能力越强,但也知道负债越多违约风险也越大,而一个高收入的人贷款的额度也会大,这就产生了矛盾。而通过了解商业逻辑,学到一个指标叫debt burden ratio后,你就可以构建一个特征,用客户的收入除以客户的负债,就可以计算出一个更有效检测风险的特征。虽然我们知道深度学习网络有自动构建特征的能力,毕竟GIGO(garbage in garbage out),数据未处理前,对模型来说就是garbage。不要觉得这种要靠人思考来构建特征的方法很原始,毕竟人工智能,先有人工后有智能。
除了和客户沟通外,团队内部头脑风暴下,也是一种激发想法的好方法。
文献检索能力
这个能力其实对任何智力输出的职业来说都很重要。我们都需要保持大脑时刻更新。在算法上,关注最新文献,关注SotA(state of the art)的算法,关注工业实践的新动态。
同时在相关商业上,了解你的算法所服务的行业,了解他们的运作。如果你是做手机图片AI的,可以查找手机处理器的发展的资料,目前主流的手机能有多少计算能力;如果你是做金融服务,则关注金融市场相关产品的新闻,了解最新居民收入消费水平,不然你的算法预测不准时,你没有相关商业知识,就难以找出哪个特征过时了。
总结汇报能力
这个能力其实对任何职业来说都很重要。即使你是清洁工,你也要汇报工作。对内,要会把自己的成果反馈给领导;直接上级一般也是工程师,可以用工程化的语言来汇报成果,比如模型的recall是多少,AUC是多少等。也可能对非技术的同事汇报,比如销售,就要更多的把汇报关注在商业价值,例如「上线一个月为客户减少了20%的运营成本,营收增加40%」。如果你是做to B业务,经常要对客户汇报。你的模型开发后,在测试集上的结果是多少,预计上线后能为客户创造多少价值等。
心理素质
算法工程师毕竟日常很多时间都花在试验上,试验失败是兵家常事。所以一定要学会开导自己,即使你的模型一周都没提升,也要给自己信心。
同时,由于这个工作性质会接触到不同技术背景的人,所以有时候你会觉得简单的一个概念,对方却问了好几次都没懂,你就可能不耐烦。这时请沉住气,保持耐心沟通,不妨多换几个角度,帮助对方理解,毕竟对方理解了,也许还能给你一些意想不到的建议。
至于哪个能力更重要?这得看你个人职业规划。
· 如果你未来想成为亿万商业和顶尖技术直接的那个纽带,带领团队开发具有市场价值的产品。你需要增强自己的逻辑逻辑洞察力;
· 如果你想成为AI系统架构师,可以增强自己的软件工程能力。
· 如果你想成为资深研究员,可以增强自己的文献查找能力,并尝试在平台(大学或公司)的帮助下发表论文。
去吧,根据自己对未来畅想,增强自己某一方面的能力吧。
 

算法工程师要学什么
答:算法工程师要学习以下知识:1、学习并掌握一些数学知识,高等数学是基础中的基础,一切理工科都需要这个打底,数据挖掘、人工智能、模式识别此类跟数据打交道的又尤其需要多元微积分运算基础。2、掌握经典机器学习理论和算法,如果有时间可以为自己建立一个机器学习的知识图谱,并争取掌握每一个经典的机器学习...

算法工程师应该学哪些
答:算法工程师包括音/视频算法工程师(通常统称为语音/视频/图形开发工程师)、图像处理算法工程师、计算机视觉算法工程师、通信基带算法工程师、信号算法工程师、射频/通信算法工程师、自然语言算法工程师、数据挖掘算法工程师、搜索算法工程师、控制算法工程师(云台算法工程师,飞控算法工程师,机器人控制算法)、导航算法工程...

算法工程师要学什么
答:所谓算法工程师,首先需要是一名工程师,那么就要掌握所有开发工程师都需要掌握的一些能力。有些新手对于这一点存在一些误解,认为所谓算法工程师就只需要思考和设计算法,不用在乎这些算法如何实现,而且会有人帮你来实现你想出来的算法方案。这种思想是错误的,在大多数企业的大多数职位中,算法工程师需要...

如何成为一名合格的算法工程师
答:BAT企业的算法工程师是这样工作的:问题抽象、数据采集和处理、特征工程、建模训练调优、模型评估、上线部署。(具体操作可以看阿里算法专家chris老师的算法工作流视频算法工作流是怎样的?)而一个算法工程师真正值钱的地方在于问题抽象和上线部署这两个。以上是一个算法工程师的工作流,所以你要做以上内容的...

机器学习算法工程师必备技能
答:【导读】成为合格的机器学习算法工程师并非易事。您需要掌握从开发到调试再到优化的一系列功能。这些功能中的每一个都需要足够的精力和经验来掌握。成为合格的机器学习算法工程师(以下简称算法工程师)更加困难,因为除了掌握工程师的一般技能外,您还需要掌握机器学习算法的知识网络。下面我们就将成为一名...

计算机视觉算法工程师常见面试题1
答:计算机视觉算法工程师常见面试题1  我来答 1个回答 #热议# 国际油价为何突然跌破100美元大关?...最好的解释是通过1 * 1卷积核能实现多个channel间的解耦合,解耦cross-channel correlation和spatial correlation

ai算法工程师要学什么
答:4、掌握AI算法工程实践:除了理论知识,A算法工程师还需要掌握AI算法工程实践的流程和工具如数据预处理、模型训练、模型评估等。可以通过参加项目实践或实习来积累实践经验。5、关注最新技术和研究:A技术发展迅速,新的算法和模型层出不穷。作为AI算法工程师,需要不断关注最新技术和研究进展,参加相关会议...

人工智能基础-算法工程师为什么要懂线性代数?
答:人工智能基础-算法工程师为什么要懂线性代数?  我来答 1个回答 #热议# 哪些癌症可能会遗传给下一...在大学数学学科中,线性代数是最为抽象的一门课,从初等数学到线性代数的思维跨度比微积分和概率统计要...矩阵,你就把我的图形旋转了60度沿x轴拉伸了2倍,我总感觉不踏实啊,我都不知道你“底层”是怎么做...

在自学的情况下如何成为一名算法工程师?
答:在自学的情况下成为一名算法工程师可以这样做:首先要做好充分的准备,做任何事情想自学成才都是非常困难的,要有大毅力和大智慧,迎难而上,方可成功。其次要知道成为算法工程师需要具备的知识:一是算法相关的知识,包括编程语言,数据结构和数据库,相关的教材很多,一般大学计算机专业的教材都能满足要求...

视觉算法工程师要学什么
答:视觉算法工程师要学的内容有数学基础、编程语言、计算机视觉基础、深度学习算法、机器学习算法等。1、数学基础:包括线性代数、微积分、概率论、统计学等,这些数学基础是深入理解计算机视觉算法的基础。2、编程语言:掌握至少一门编程语言,比如Python、C++等,熟练运用编程语言进行算法实现。3、计算机视觉基础...