`

公司里的算法工程师是在组合使用现有算法,还是设计新算法?zz

 
阅读更多

 

所谓算法工程师,大致的工作范围是算法研究+工程实现两部分,不同的人在不同的环境下各有侧重。

 

第一部分,在目前国内互联网公司的环境里,说算法研究,其实更多的工作是调研、比较、挑选、适配、评估和决策等等,与其他技术领域的技术选型和规划并无本质差别。从学术意义上来看,很难说是创新或设计新算法;但从实际的效果来看,这种做法是经济而高效的,一切围绕场景需求和实际的使用效果出发,利用有限的资源取得最大收益。并且,虽然每一个环节的创新性不强,但综合各个环节的效果,未必就不是真正的创新。

 

专利领域还有发明专利和实用新型两种呢,恰到好处的解决实际问题,可以称得上是创新。另外,如果你发现面临的问题没有先例可循,现有的算法都不合适,并且,你觉得这是个真正的有意义的问题,你也有能力取得突破,那么恭喜你,你站在巨大机会的边缘。具体例子请参见二十年前 PageRank 算法诞生的过程--- ---

然,也有人觉得 PageRank 算法算不得创新,你觉得呢...

 

第二部分,工程化的部分其实是绝大部分算法工程师每天的日常工作,收集数据、清洗、结构化、模型实现、debug、模型训练、观察 bad case、调整参数、重来一遍、再重来一遍... 没有经历过手工清洗数据肉眼观察参数被低级 bug 折磨得寝食难安的算法工程师不足以言人生。和开发工程师稍有不同的是,算法工程师的产出周期更长,节奏更慢,尤其是在接触到一个全新问题的时候,所需的前置准备时间更多。但无论如何,工程师就是工程师,要对自己的产出负责。

 

以上是普通的算法工程师在一般场景下的工作状态,除此之外还可能有各种例外的情况,比如有偏底层算法研究和探索的,当然更合适的称呼是科学家或研究员;比如有偏计算平台架构设计和工程实现的,他们和系统工程师走得更近一些;还有偏数据和分析方向的,等等。无论如何,有一点可以确定:不看 paper,不写代码,算不上合格的算法工程师。

 

分享到:
评论

相关推荐

    算法参考资料遗传算法与工程设计

    例如,在解决大规模、复杂的工程设计问题时,多种算法的结合使用可以更好地利用各自的优势,提高优化效率和解的质量。 需要注意的是,虽然遗传算法是强大的全局搜索工具,但它也有可能陷入局部最优解,这要求设计者...

    电力系统短路故障的计算机算法程序设计.doc

    这篇课程设计报告主要探讨了电力系统短路故障的计算机算法程序设计,旨在通过编写C语言程序来模拟计算三相对称短路电流。设计者利用C语言进行编程的原因在于其熟悉度和适用性,能有效完成任务。 在程序设计中,首先...

    算法参考资料(算法竞赛入门经典-训练指南)代码仓库(20130426版)

    在当前的IT行业内,算法学习是每个软件开发工程师必须面对的重要课题。掌握扎实的算法基础,对于解决编程问题,提升编程技能和效率都至关重要。《算法竞赛入门经典——训练指南》这本书籍正是一本广受算法学习者和...

    matlab算法源码gui设计源码

    由于提供的信息不完整,因此以下内容是基于假设的详细知识点说明,将围绕“matlab算法源码GUI设计源码”的主题展开。 在信息技术领域,GUI(Graphical User Interface)设计是人机交互的重要组成部分,它提供了一种...

    MATLAB算法图论算法代码

    图论算法可以包括但不限于最短路径算法(如迪杰斯特拉算法Dijkstra和贝尔曼-福特算法Bellman-Ford)、最小生成树算法(如普里姆算法Prim和克鲁斯卡尔算法Kruskal)、网络流算法(如福特-富尔克森算法Ford-Fulkerson...

    算法参考资料遗传算法的数学基础

    在实际应用中,遗传算法的实现需要确定编码策略、设计适应度函数、选择合适的遗传操作算子和设置算法控制参数。遗传算法的关键在于平衡探索(exploration)和开发(exploitation),即在全局搜索与局部搜索之间找到...

    算法参考资料遗传算法原理及应用

    在实际应用中,为了提高遗传算法的性能,研究人员和工程师经常需要根据具体问题的特点和需求调整算法参数,设计高效的适应度函数,有时还需要与其他算法相结合,以获得更好的性能。 值得注意的是,由于遗传算法本身...

    matlab算法源码图像识别

    在图像识别领域,MATLAB提供了丰富的工具箱,如图像处理工具箱(Image Processing Toolbox)和计算机视觉系统工具箱(Computer Vision System Toolbox),这些工具箱使得研究者和工程师可以轻松地实现复杂的图像处理...

    算法参考资料飞思卡尔所有的算法

    在飞思卡尔的产品和服务中,算法的开发和应用是其技术实力的重要体现,尤其在汽车电子和嵌入式系统设计领域。 飞思卡尔算法主要应用于以下几个方面: 1. **汽车电子控制**:飞思卡尔生产的微控制器广泛应用于汽车...

    matlab算法源码Meanshifttracking目标跟踪算法

    标题《matlab算法源码Meanshifttracking目标跟踪算法》提示,我们需要探讨的是使用MATLAB实现的Mean Shift算法在目标跟踪领域的应用。Mean Shift算法是一种无参数的密度估计算法,可以用于各种模式识别和计算机视觉...

    matlab算法源码sift算法demo

    由于算法本身的复杂性和版权问题,SIFT算法的专利权属于美国公司Hoiding B.V.,这导致在商业项目中使用SIFT可能需要支付一定的授权费用。 在该文档的“matlab算法源码sift算法demo”中提到的“siftDemoV4”可能是一...

    算法参考资料DancingLinks在搜索中的应用

    总之,Dancing Links算法在搜索问题中的应用是一项具有深远影响的技术,无论是作为教学内容还是应用工具,它都是算法研究者和工程师需要掌握的关键知识点之一。通过本篇内容的解读,我们可以看到算法在解决问题中的...

    算法文档无代码浅谈部分搜索+高效算法在搜索问题中的应用

    这些算法是构建更复杂系统和应用的基础,无论是在软件开发、数据库设计,还是在数据分析和人工智能领域,都有着不可或缺的地位。掌握这些基本的搜索算法能够帮助专业人士在面对各种搜索问题时,能够更加高效地设计和...

    算法参考资料最新电机解决方案指南TI

    德州仪器提供的解决方案中可能包含了基于其MCU或DSP的算法实现,这能够使工程师能够设计出符合实际应用需求的电机控制系统。 由于这些知识点都是基于标题和描述中的信息解读而来的,实际的技术资料和解决方案请参考...

    MATLAB算法K-means算法代码

    K-means算法是一种非常经典的聚类算法,在数据挖掘、模式识别等领域有着广泛的应用。MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级编程语言和交互式环境,其丰富的工具箱使它在工程计算领域...

    算法参考资料pid算法算法参考资料pid算法

    因为其简单、鲁棒和容易理解,使其成为工程师在设计控制系统时的首选。但为了更好地适应各种不同的控制环境,工程师在应用PID时也会结合其他先进的控制理论和策略,比如模糊控制、自适应控制或神经网络控制等,以...

    MATLAB算法蒙特卡洛算法模拟随机数代码

    综上所述,MATLAB在算法开发领域中的应用包括但不限于使用其丰富的数学计算库来实现蒙特卡洛模拟,通过编写脚本或函数来生成随机数并进行复杂计算,从而求解科学和工程问题。对于希望了解或实践这一过程的工程师和...

    matlab算法源码编码和解码源码

    MATLAB为工程师和科研人员提供了科学计算的平台,尤其在数字信号处理、控制系统设计、统计分析以及计算金融等领域应用尤为广泛。 二、MATLAB算法源码 在MATLAB中,算法源码是指直接用MATLAB语言编写的、用来实现...

    算法参考资料数字PID控制算法的研究

    研究人员和工程师们不断探索新的算法改进策略,以提高控制精度和适应性,满足日益复杂的控制需求。 针对数字PID控制算法的研究,不仅仅局限于算法本身的改进,还包括了与先进控制理论的结合,如与模糊控制、神经...

    算法参考资料pid子函数模块

    8. 在获取资料后,对于工程师来说,理解PID控制算法的工作原理,掌握如何根据不同的控制需求调整PID参数,以及如何在实际控制系统中应用这些算法,是至关重要的。这通常需要结合实际的控制环境和系统特性,进行调试...

Global site tag (gtag.js) - Google Analytics