算法工程师 订阅
算法(Algorithm)是一系列解决问题的清晰指令,也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。算法工程师就是利用算法处理事物的人。 展开全文
算法(Algorithm)是一系列解决问题的清晰指令,也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。算法工程师就是利用算法处理事物的人。
信息
算    法
Algorithm
外文名
Algorithm Engineer
学    历
本科及其以上
中文名
算法工程师
属    性
职位
算法工程师职位简介
算法工程师是一个比较高端的职位;专业要求:计算机、电子、通信、数学等相关专业;学历要求:本科及其以上的学历,大多数是硕士学历及其以上;语言要求:英语要求是熟练,基本上能阅读国外专业书刊;必须掌握计算机相关知识,熟练使用仿真工具MATLAB等,必须会一门编程语言。
收起全文
精华内容
下载资源
问答
  • 算法工程师

    2020-03-09 17:15:03
    音/视频算法工程师(通常统称为语音/视频/图形开发工程师)、图像处理算法工程师、计算机视觉算法工程师、通信基带算法工程师、信号算法工程师、射频/通信算法工程师、自然语言算法工程师、数据挖掘算法工程师、搜索...

    一、算法工程师简介
    (通常是月薪20k以上,年薪25万以上,只是一个概数,具体薪资可以到招聘网站如拉钩,猎聘网上看看)
    算法工程师目前是一个高端也是相对紧缺的职位;
    算法工程师包括
    音/视频算法工程师(通常统称为语音/视频/图形开发工程师)、图像处理算法工程师、计算机视觉算法工程师、通信基带算法工程师、信号算法工程师、射频/通信算法工程师、自然语言算法工程师、数据挖掘算法工程师、搜索算法工程师、控制算法工程师(云台算法工程师,飞控算法工程师,机器人控制算法)、导航算法工程师(
    @之介
    感谢补充)、其他【其他一切需要复杂算法的行业】
    专业要求:计算机、电子、通信、数学等相关专业;
    学历要求:本科及其以上的学历,大多数是硕士学历及其以上;
    语言要求:英语要求是熟练,基本上能阅读国外专业书刊,做这一行经常要读论文;
    必须掌握计算机相关知识,熟练使用仿真工具MATLAB等,必须会一门编程语言。
    算法工程师的技能树(不同方向差异较大,此处仅供参考)
    1 机器学习
    2 大数据处理:熟悉至少一个分布式计算框架Hadoop/Spark/Storm/ map-reduce/MPI
    3 数据挖掘
    4 扎实的数学功底
    5 至少熟悉C/C++或者Java,熟悉至少一门编程语言例如java/python/R
    加分项:具有较为丰富的项目实践经验(不是水论文的哪种)
    二、算法工程师大致分类与技术要求
    (一)图像算法/计算机视觉工程师类
    包括
    图像算法工程师,图像处理工程师,音/视频处理算法工程师,计算机视觉工程师
    要求
    l
    专业:计算机、数学、统计学相关专业;
    l
    技术领域:机器学习,模式识别
    l
    技术要求:
    (1) 精通DirectX HLSL和OpenGL GLSL等shader语言,熟悉常见图像处理算法GPU实现及优化;
    (2) 语言:精通C/C++;
    (3) 工具:Matlab数学软件,CUDA运算平台,VTK图像图形开源软件【医学领域:ITK,医学图像处理软件包】
    (4) 熟悉OpenCV/OpenGL/Caffe等常用开源库;
    (5) 有人脸识别,行人检测,视频分析,三维建模,动态跟踪,车识别,目标检测跟踪识别经历的人优先考虑;
    (6) 熟悉基于GPU的算法设计与优化和并行优化经验者优先;
    (7) 【音/视频领域】熟悉H.264等视频编解码标准和FFMPEG,熟悉rtmp等流媒体传输协议,熟悉视频和音频解码算法,研究各种多媒体文件格式,GPU加速;
    应用领域:
    (1) 互联网:如美颜app
    (2) 医学领域:如临床医学图像
    (3) 汽车领域
    (4) 人工智能
    相关术语:
    (1) OCR:OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程
    (2) Matlab:商业数学软件;
    (3) CUDA: (Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台(由ISA和GPU构成)。 CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题
    (4) OpenCL: OpenCL是一个为异构平台编写程序的框架,此异构平台可由CPU,GPU或其他类型的处理器组成。
    (5) OpenCV:开源计算机视觉库;OpenGL:开源图形库;Caffe:是一个清晰,可读性高,快速的深度学习框架。
    (6) CNN:(深度学习)卷积神经网络(Convolutional Neural Network)CNN主要用来识别位移、缩放及其他形式扭曲不变性的二维图形。
    (7) 开源库:指的是计算机行业中对所有人开发的代码库,所有人均可以使用并改进代码算法。
    (二)机器学习工程师
    包括
    机器学习工程师
    要求
    l
    专业:计算机、数学、统计学相关专业;
    l
    技术领域:人工智能,机器学习
    l
    技术要求:
    (1) 熟悉Hadoop/Hive以及Map-Reduce计算模式,熟悉Spark、Shark等尤佳;
    (2) 大数据挖掘;
    (3) 高性能、高并发的机器学习、数据挖掘方法及架构的研发;
    应用领域:
    (1)人工智能,比如各类仿真、拟人应用,如机器人
    (2)医疗用于各类拟合预测
    (3)金融高频交易
    (4)互联网数据挖掘、关联推荐
    (5)无人汽车,无人机
    相关术语:
    (1) Map-Reduce:MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)“和"Reduce(归约)”,是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。
    (三)自然语言处理工程师
    包括
    自然语言处理工程师
    要求
    l
    专业:计算机相关专业;
    l
    技术领域:文本数据库
    l
    技术要求:
    (1) 熟悉中文分词标注、文本分类、语言模型、实体识别、知识图谱抽取和推理、问答系统设计、深度问答等NLP 相关算法;
    (2) 应用NLP、机器学习等技术解决海量UGC的文本相关性;
    (3) 分词、词性分析、实体识别、新词发现、语义关联等NLP基础性研究与开发;
    (4) 人工智能,分布式处理Hadoop;
    (5) 数据结构和算法;
    应用领域:
    口语输入、书面语输入
    、语言分析和理解、语言生成、口语输出技术、话语分析与对话、文献自动处理、多语问题的计算机处理、多模态的计算机处理、信息传输与信息存储 、自然语言处理中的数学方法、语言资源、自然语言处理系统的评测。
    相关术语:
    (2) NLP:人工智能的自然语言处理,NLP (Natural Language Processing) 是人工智能(AI)的一个子领域。NLP涉及领域很多,最令我感兴趣的是“中文自动分词”(Chinese word segmentation):结婚的和尚未结婚的【计算机中却有可能理解为结婚的“和尚“】
    (四)射频/通信/信号算法工程师类
    包括
    3G/4G无线通信算法工程师, 通信基带算法工程师,DSP开发工程师(数字信号处理),射频通信工程师,信号算法工程师
    要求
    l
    专业:计算机、通信相关专业;
    l
    技术领域:2G、3G、4G,BlueTooth(蓝牙),WLAN,无线移动通信, 网络通信基带信号处理
    l
    技术要求:
    (1) 了解2G,3G,4G,BlueTooth,WLAN等无线通信相关知识,熟悉现有的通信系统和标准协议,熟悉常用的无线测试设备;
    (2) 信号处理技术,通信算法;
    (3) 熟悉同步、均衡、信道译码等算法的基本原理;
    (4) 【射频部分】熟悉射频前端芯片,扎实的射频微波理论和测试经验,熟练使用射频电路仿真工具(如ADS或MW或Ansoft);熟练使用cadence、altium designer PCB电路设计软件;
    (5) 有扎实的数学基础,如复变函数、随机过程、数值计算、矩阵论、离散数学
    应用领域:
    通信
    VR【用于快速传输视频图像,例如乐客灵境VR公司招募的通信工程师(数据编码、流数据)】
    物联网,车联网
    导航,军事,卫星,雷达
    相关术语:
    (1) 基带信号:指的是没有经过调制(进行频谱搬移和变换)的原始电信号。
    (2) 基带通信(又称基带传输):指传输基带信号。进行基带传输的系统称为基带传输系统。传输介质的整个信道被一个基带信号占用.基带传输不需要调制解调器,设备化费小,具有速率高和误码率低等优点,.适合短距离的数据传输,传输距离在100米内,在音频市话、计算机网络通信中被广泛采用。如从计算机到监视器、打印机等外设的信号就是基带传输的。大多数的局域网使用基带传输,如以太网、令牌环网。
    (3) 射频:射频(RF)是Radio Frequency的缩写,表示可以辐射到空间的电磁频率(电磁波),频率范围从300KHz~300GHz之间(因为其较高的频率使其具有远距离传输能力)。射频简称RF射频就是射频电流,它是一种高频交流变化电磁波的简称。每秒变化小于1000次的交流电称为低频电流,大于10000次的称为高频电流,而射频就是这样一种高频电流。高频(大于10K);射频(300K-300G)是高频的较高频段;微波频段(300M-300G)又是射频的较高频段。【有线电视就是用射频传输方式】
    (4) DSP:数字信号处理,也指数字信号处理芯片
    (五)数据挖掘算法工程师类
    包括
    推荐算法工程师,数据挖掘算法工程师
    要求
    l
    专业:计算机、通信、应用数学、金融数学、模式识别、人工智能;
    l
    技术领域:机器学习,数据挖掘
    l
    技术要求:
    (1) 熟悉常用机器学习和数据挖掘算法,包括但不限于决策树、Kmeans、SVM、线性回归、逻辑回归以及神经网络等算法;
    (2) 熟练使用SQL、Matlab、Python等工具优先;
    (3) 对Hadoop、Spark、Storm等大规模数据存储与运算平台有实践经验【均为分布式计算框架】
    (4) 数学基础要好,如高数,统计学,数据结构
    l
    加分项:数据挖掘建模大赛;
    应用领域
    (1) 个性化推荐
    (2) 广告投放
    (3) 大数据分析
    相关术语
    Map-Reduce:MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)“和"Reduce(归约)”,是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。
    (六)搜索算法工程师
    要求
    l
    技术领域:自然语言
    l
    技术要求:
    (1) 数据结构,海量数据处理、高性能计算、大规模分布式系统开发
    (2) hadoop、lucene
    (3) 精通Lucene/Solr/Elastic Search等技术,并有二次开发经验
    (4) 精通Lucene/Solr/Elastic Search等技术,并有二次开发经验;
    (5) 精通倒排索引、全文检索、分词、排序等相关技术;
    (6) 熟悉Java,熟悉Spring、MyBatis、Netty等主流框架;
    (7) 优秀的数据库设计和优化能力,精通MySQL数据库应用 ;
    (8) 了解推荐引擎和数据挖掘和机器学习的理论知识,有大型搜索应用的开发经验者优先。
    (七)控制算法工程师类
    包括了云台控制算法,飞控控制算法,机器人控制算法
    要求
    l
    专业:计算机,电子信息工程,航天航空,自动化
    l
    技术要求:
    (1) 精通自动控制原理(如PID)、现代控制理论,精通组合导航原理,姿态融合算法,电机驱动,电机驱动
    (2) 卡尔曼滤波,熟悉状态空间分析法对控制系统进行数学模型建模、分析调试;
    l
    加分项:有电子设计大赛,机器人比赛,robocon等比赛经验,有硬件设计的基础;
    应用领域
    (1)医疗/工业机械设备
    (2)工业机器人
    (3)机器人
    (4)无人机飞控、云台控制等
    (八)导航算法工程师
    要求
    l 专业:计算机,电子信息工程,航天航空,自动化
    l 技术要求(以公司职位JD为例)
    公司一(1)精通惯性导航、激光导航、雷达导航等工作原理;
    (2)精通组合导航算法设计、精通卡尔曼滤波算法、精通路径规划算法;
    (3)具备导航方案设计和实现的工程经验;
    (4)熟悉C/C++语言、熟悉至少一种嵌入式系统开发、熟悉Matlab工具;
    公司二(1)熟悉基于视觉信息的SLAM、定位、导航算法,有1年以上相关的科研或项目经历;
    (2)熟悉惯性导航算法,熟悉IMU与视觉信息的融合;
    应用领域
    无人机、机器人等

    来自百度~

    展开全文
  • 今天在《推荐系统开发实战》的读者群里聊天,在探讨技术问题的时候发现也有朋友对一些非...推荐算法工程师算法工程师的待遇基本差不多,不过不同地方、不同级别的推荐算法工程师待遇肯定是不一样,比如一线的北上广深

    今天在《推荐系统开发实战》的读者群里聊天,在探讨技术问题的时候发现也有朋友对一些非技术的问题比较感兴趣,这里进行总结和分享,希望能够帮助到看这篇文章的人。

    欢迎加我的微信进行技术交流,非技术的人生思考问题也可以进行探讨。我的微信号如下图

    以下问题,随机排序,不分先后!

    Q、推荐算法工程师的工资待遇怎么样

    A:这个问题真的是很直接呀,当然可以理解,毕竟我们工作就是为了赚钱,为了生活。推荐算法工程师和算法工程师的待遇基本差不多,不过不同地方、不同级别的推荐算法工程师待遇肯定是不一样,比如一线的北上广深,刚进入工作环境的应届毕业生起码也得在10K以上了,当然对于一些很优秀的应届毕业生(比如清北、985、211、双一流的硕士起步的)再加上头部互联网公司的SP,月薪待遇起码得20K以上了。

    当然你付出多少,就会有多少收获,一个普本的本科毕业生想要从事推荐算法工程师,我觉得在北上广深这样竞争激烈和人才辈出的市场中,能有一个机会去实践自己的知识和想法就已经很不错了,所以对于薪资这块,还是要结合自身的知识水平取争取薪资,俗话说得好,打铁还需自身硬,所以奋斗吧少年!

    另外大家不要被网上的薪资待遇所迷惑,毕竟网上吹牛是不需要打草稿的,理性对待薪资,认真工作,磨砺技术!

    Q、业务达到什么样的程度,可以使用推荐系统进行个性化推荐

    A:首先我们要搞清楚推荐系统的意义是什么?本质是从海量的信息中筛选用户感兴趣的内容推荐给用户,从而节约用户获取有效信息的时间,继而增加用户对平台的好感,发展成为一个深度用户。

    因此,不要为了使用推荐系统而用推荐系统(不过从私心角度讲,比如一个Java开发者想要学习推荐系统的知识,但是公司的业务还没有达到使用推荐的程度,这个时候可以适当的进行鼓吹和挑起重任,哈哈有点卑劣了),那业务达到什么程度可以使用推荐系统?我个人的见解是业务有流动和转化的用户,同时内容是持续稳定的增长,且用户和内容都有一定的存量,但具体的增长速度和存量的规模需要结合自己的业务进行判断,这个东西目前还没有办法进行量化,前期可以使用一些简单的推荐策略进行推荐,然后随着业务发展可以慢慢进行策略到算法的迭代,继而搭建推荐架构,为推荐算法进行服务。

    Q、刚上推荐算法的时候,没有人工运营的效果好,正常吗

    A:正常!俗话说得好,三个臭皮匠顶个诸葛亮,这里诸葛亮就类比推荐算法,人工运营就好比“臭皮匠”。人工运营集众人的智慧和思路进行接近于完全个性化的推荐,刚引入的推荐算法在其算法先进性、数据完备性/准确性/完整性、整理流程的准确性上都可能存在或多或少的问题。

    但是,理论上算法的效果是不应该低于人工运营的,如果低了,说明这整个推荐过程中肯定存在问题,这时候就要去分析自己的业务逻辑和推荐的算法流程,分析为什么曝光量整体增加很多,但是点击率没有上去的原因。需要考虑曝光的物品是不是用户真正感兴趣的,对自己的数据产出逻辑和算法推荐逻辑进行check。

    作为推荐算法工程师要对自己的算法和算法带来的效果自信! 要为自己的算法和效果负责,不要过多的被需求牵扯!

    Q、推荐算法和数据挖掘的关系是什么

    A:数据挖掘和推荐算法都是AI领域的子集,两者是有交叉的,但并不是完全重合的,比如数据挖掘和推荐算法都会涉及一些算法(比如分类、回归等算法),但两者不同的是对业务的理解和关注的指标,数据挖掘更多是结合算法对数据进行深层次的分析继而得到一些有效的结论,但推荐算法关注的是线上的业务指标(比如点击率、GMV、用户停留时长等)。

    其实在AI领域,很多算法都是重叠的,同一个算法在不同的领域可以做不同的事情,但不会背离其算法的本质,比如一个聚类算法Kmeans,你让他去做回归拟合函数,kidding me?

    Q、推荐算法工程师需要会大数据的知识吗

    A:是需要的,因为大数据时代,数据量的规模都是比较大,单纯的靠一些单机的代码去处理数据是不现实的。

    目前推荐算法的主流有两种方式,一种是使用Spark进行模型的训练和保存,前提也是使用Spark进行训练样本数据的准备;另一种方式是使用深度学习进行模型的训练和保存,但前提也是使用Spark进行训练样本数据的准备。而且作为算法工程师,对于数据的分析、查看也是需要大数据的知识的,比如操作Hive、Hbase、Spark等。

    当然也有例外,比如一下数据量不那么大的业务,往往单机版的程序也可以满足需求,这时候其实不需要大数据的知识,但这种情况是比较少的,更何况多一种技能傍身岂不更好。所以还是建议积累一定的大数据相关的知识,主要集中在Hive、Spark,有精力的话多学一些也无妨!

    Q、如何系统的学习推荐算法

    A:想要系统的学习推荐算法,必须要大概了解一下推荐算法的发展历程,比如从开始的协同过滤,到现在的深度学习、强化学习等,这中间经历多年的发展,目前已经有比较完备的体系了,但是那些学术界和工业界的实践者门也在努力的探索和研究新的算法,创造更大的价值,推动推荐算法的发展。

    可以参考文章:传统机器学习和前沿深度学习推荐模型演化关系

    基础版本的推荐算法和实战可以参考我的书籍《推荐系统开发实战》,相信你学习完这本书之后能有一个0到1的飞跃。然后可以参考王喆老师的《推荐系统深度学习》了解基于深度学习的推荐算法,当然王喆老师的书是比较偏理论的,实践的话可以从Github上搜索一些实战项目进行学习。当然也可以关注公众号:搜索与推荐Wiki。

    所以整体的思路就是从简单学习,再到复杂!从0到1再进阶,同时结合实战项目进行学习。

    Q、在做效果提升时,效果达到一定程度后,停滞不前怎么办

    A:具体要分业务场景,比如多分类,CTR中情况是不一样的。CTR中效果停滞的时候,需要思考业务和整体数据流程,挖掘有效特征,尝试不同的CTR算法进行效果的提升测试。当然这个时候需要结合深层次的数据理解和探查,继而尝试效果的提升。

    同样对于多分类场景,上述的方法也同样适用,除此之外不是盲目的增加特征就能解决问题,有时候也要适当的做减法,分析特征的重要性,剔除不必要的特征,剔除存在多重共线性的特征,同时分析正负样本,分析数据的准确性,且在必要的时候积累更多量的数据进行尝试。

    Q、推荐算法实习生会做什么工作,怎么向上级进行工作汇报

    A:不同企业,不同业务实习生做的工作是不一样的,但肯定做的都是推荐相关的事情,当然如果运气不好,遇见没有责任心的负责人,做的事可能会偏离推荐的方向,不过这种概率很小。

    不过其实我个人更关心的一个问题是:如何做好新人的培养和引领,避免从学校步入社会后的脱轨。首先我觉得新人进入职场后,是需要一个“师父”进行带领的,第一可以帮助其快速融入公司和团队,第二可以给一些工作和技术的帮助,让其快速成长。其次要尊重毕业生或者实习生的兴趣方向,毕竟做自己喜欢的事情和擅长的事情,才能有动力和有效果的输出内容。

    关于如何向上级汇报工作,我觉得首先个人要养成一个好的工作习惯,首先记录每天的工作内容,形成自己的日报(不需要发给其他人),方便自己进行回顾和总结,其次结束每天的工作之后总结一下自己今天遗留的问题和技术上的收获,在脑海里回忆一遍,加深印象。正常周五都是会写周报的,这时候就会突显个人的工作内容了,写周报的时候要注意工作的分类、事情的关键点和取得的成效。下面是我整理的一个样例,写的也有不好的地方仅供参考。

    周报:

    1、用户兴趣模型
        - 调研用户品类偏好模型构建的方案和相关技术资料,整理成文档,链接如:xxxxx
        - 尝试适用xxx算法进行用户品类偏好模型的构建,完成了样本数据准备和代码开发,模型待训练
    2、需求开发
        - 针对xxx提出的需求,进行讨论和方案制定、讨论,并敲定最终方案,如文档:xxxxx
        - 上述方案的逻辑实现,目前已经产出数据,并进行了初步分析,符合预期,已经反馈给xxx,后续问题跟进中
    

    以上只是我的拙见,我也不并不擅长写这个,只是想把自己做的事和成果描述清楚,大家有更好的想法可以在评论区留言进行讨论。

    Q、达到什么样的水平可以收获推荐算法工程师的Offer

    A:同样还是分地区和公司,以北京举例,头部互联网公司对于应届生的要求肯定是要比创业型互联网公司高的,当然这是一个普遍的现象,但并不能代表整体。

    对于创业型的互联网公司更加看重的面试者的实战能力,因为毕竟业务紧张,人员有限,希望入职之后就能尽快的 融入到业务开发中,这时候对于我们来讲,项目经验+和团队契合的擅长的技能将会加速你获取offer。基本关键要求点如下(仅做参考)

    • 熟练掌握常用的推荐算法和原理(CF、MF、线性模型、GBDT/XGBoost/LightGBM、FM/FFM等)
    • 了解深度学习排序算法和基本知识(这里不要求说具体的算法,因为太多了,但常见的W&D、DeepFM、NFM等,且要对其他的一些排序算法有一定的了解)
    • 有一定的编码能力,且掌握大数据相关的知识(包括但不局限于Spark、Hive)
    • 对经典的二段式推荐系统架构有一定的了解(recall、rank)

    对于头部互联网公司要求肯定是比较高了,不仅要求其编码水平强硬,对于其算法的理论能力要求也比较高,如果你在顶会发表一些paper的话,肯定是更好了。头部互联网公司除了上边的核心要求点外,对深度学习的要求更高,不仅要求了解,更多的是熟练掌握。

    所以说具体上述列的基本关键要求点是必须的,在此基础之上努力耕耘,实力越强,机会越多。

    当然会存在一些特殊情况,有一些技术水平很水的人也会得到不错的推荐工作,但这是少数的,且运气成分较大,团队招人也会有特定情景的考虑,有时候真的不是水平越强就一定获得offer(当然这是少数),希望大家还是搞好技术,通过面试,拿到高薪!

    Q、推荐算法工程师的需要掌握哪些技能

    A:我之前总结过一个关于推荐系统的模块分解,如下图所示:

    推荐系统的模块分解

    推荐系统中可以拆分的职责很多,对应的岗位也很多,所以想要从事推荐系统相关的工作不一定要从事推荐算法。

    下图是从网上get的两个推荐算法工程师技能树和推荐系统工程师既能出,列的还算比较全面,大家可以参考。
    推荐系统工程师技能树

    推荐算法工程师技能树

    另外如果大家对于推荐算法的招聘要求不明确的话,可以看心仪公司的推荐算法招聘的岗位要求和职责,这才是最明确的。

    另外对于推荐算法的技能,我觉得更重要的是把自己的知识体系给建立出来,这样根据自己的技能树进行查漏补缺,同时关注业界发表的论文和技术文章,提升自己的知识。大体可以分为几个方向:

    • 传统的推荐算法
    • 基于机器学习的CTR
    • 基于深度学习的CTR
    • 排序与NLP
    • 排序与知识图谱
    • 排序与强化学习
    • 推荐系统中的模块:召回、排序、展示策略、冷启动、画像、特征工程
    • 推荐系统架构
    • 推荐系统相关的前沿论文

    最后更多精彩内容可以关注我的公众号:搜索与推荐Wiki。小编一直从事推荐算法相关的工作,会在公众号分享相关的技术知识!

    最后附上推荐系统演变史


    【技术服务】详情点击查看: https://mp.weixin.qq.com/s/PtX9ukKRBmazAWARprGIAg

    在这里插入图片描述
    扫一扫关注「搜索与推荐Wiki」!号主「专注于搜索和推荐系统,以系列分享为主,持续打造精品内容!

    展开全文
  • 怎样成为一名优秀的算法工程师

    万次阅读 多人点赞 2018-07-12 10:54:25
    其它机器学习、深度学习算法的全面系统讲解可以阅读《机器学习-原理、算法与应用》,...怎样成为一名优秀的算法工程师?这是很多从事人工智能学术研究和产品研发的同学都关心的一个问题。面对市场对人才的大量需求...

    其它机器学习、深度学习算法的全面系统讲解可以阅读《机器学习-原理、算法与应用》,清华大学出版社,雷明著,由SIGAI公众号作者倾力打造。

    原创声明:本文为 SIGAI 原创文章,仅供个人学习使用,未经允许,不得转载,不能用于商业目的。

    怎样成为一名优秀的算法工程师?这是很多从事人工智能学术研究和产品研发的同学都关心的一个问题。面对市场对人才的大量需求与供给的严重不足,以及高薪水的诱惑,越来越多的人开始学习这个方向的技术,或者打算向人工智能转型。市面上各种鱼龙混杂的培训班以及误导人的文章会把很多初学者带入歧途,浮躁的跟风将会让你最后收获甚微,根本达不到企业的用人要求。为了更好的帮助大家学习和成长,少走弯路,在今天的文章里,SIGAI的作者以自己的亲身经历和思考,为大家写下对这一问题的理解与答案。

    首先来看一个高度相关的问题:一个优秀的算法工程师必须具备哪些素质?我们给出的答案是这样的:

    数学知识

    编程能力

    机器学习与深度学习的知识

    应用方向的知识

    对自己所做的问题的思考和经验

    除去教育背景,逻辑思维,学习能力,沟通能力等其他方面的因素,大多数公司在考察算法工程师的技术水平时都会考虑上面这几个因素。接下来我们将按照这几个方面进行展开,详细的说明如何学习这些方面的知识以及积累经验。

     

    数学知识

    与其他工作方向如app、服务器开发相比,以及与计算机科学的其他方向如网络,数据库,分布式计算等相比,人工智能尤其是机器学习属于数学知识密集的方向。在各种书籍,论文,算法中都充斥着大量的数学公式,这让很多打算入门的人或者开始学习的人感到明显的压力。首先我们考虑一个最核心的问题:机器学习和深度学习究竟需要哪些数学知识?在SIGAI之前的公众号文章“学好机器学习需要哪些数学知识”里,我们已经给出了答案。先看下面这张表:

    算法或理论 用到的数学知识点
    贝叶斯分类器

    随机变量,贝叶斯公式,随机变量独立性,正态分布,最大似然估计

     

    决策树 概率,熵,Gini系数
    KNN算法 距离函数
    主成分分析 协方差矩阵,散布矩阵,拉格朗日乘数法,特征值与特征向量
    流形学习 流形,最优化,测地线,测地距离,图,特征值与特征向量

    线性判别分析

    散度矩阵,逆矩阵,拉格朗日乘数法,特征值与特征向量
    支持向量机 点到平面的距离,Slater条件,强对偶,拉格朗日对偶,KKT条件,凸优化,核函数,Mercer条件
    logistic回归 概率,随机变量,最大似然估计,梯度下降法,凸优化,牛顿法
    随机森林 抽样,方差
    AdaBoost算法 概率,随机变量,极值定理,数学期望,牛顿法
    隐马尔可夫模型 概率,离散型随机变量,条件概率,随机变量独立性,拉格朗日乘数法,最大似然估计
    条件随机场 条件概率,数学期望,最大似然估计
    高斯混合模型 正态分布,最大似然估计,Jensen不等式
    人工神经网络 梯度下降法,链式法则
    卷积神经网络 梯度下降法,链式法则
    循环神经网络 梯度下降法,链式法则
    生成对抗网络 梯度下降法,链式法则,极值定理,Kullback-Leibler散度,Jensen-Shannon散度,测地距离,条件分布,互信息
    K-means算法 距离函数
    强化学习 数学期望,贝尔曼方程
    贝叶斯网络 条件概率,贝叶斯公式,图
    VC维 Hoeffding不等式

                                                 更多算法工程师的必读文章,请关注SIGAICN公众号

    上面的表给出了各种典型的机器学习算法所用到的数学知识点。我们之前已经总结过,理解绝大多数算法和理论,有微积分/高等数学,线性代数,概率论,最优化方法的知识就够了。除流形学习需要简单的微分几何概念之外,深层次的数学知识如实变函数,泛函分析等主要用在一些基础理论结果的证明上,即使不能看懂证明过程,也不影响我们使用具体的机器学习算法。概率图模型、流形学习中基于图的模型会用到图论的一些基本知识,如果学习过离散数学或者数据结构,这些概念很容易理解。除此之外,某些算法会用到离散数学中的树的概念,但很容易理解。

    如果你已经学过这些大学数学课,只要把所需的知识点复习一遍就够了。对于微积分,通俗易懂而又被广为采用的是同济版的高等数学:

     

     

    在机器学习中主要用到了微分部分,积分用的非常少。具体的,用到了下面的概念:

    导数和偏导数的定义与计算方法,与函数性质的关系

    梯度向量的定义

    极值定理,可导函数在极值点处导数或梯度必须为0

    雅克比矩阵,这是向量到向量映射函数的偏导数构成的矩阵,在求导推导中会用到

    Hessian矩阵,这是2阶导数对多元函数的推广,与函数的极值有密切的联系

    凸函数的定义与判断方法泰勒展开公式

    拉格朗日乘数法,用于求解带等式约束的极值问题

    其中最核心的是多元函数的泰勒展开公式,根据它我们可以推导出梯度下降法,牛顿法,拟牛顿法等一系列最优化方法。如果你想要深入的学习微积分,可以阅读数学系的教程,称为数学分析:

     

    与工科的高等数学偏重计算不同,它里面有大量的理论证明,对于锻炼数学思维非常有帮助。北大张筑生先生所著的数学分析可谓是国内这方面教材的精品。

    下面来看线性代数,同样是同济版的教材:

    如果想更全面系统的学习线性代数,可以看这本书:

    相比之下,线性代数用的更多。具体用到的知识点有:

    向量和它的各种运算,包括加法,减法,数乘,转置,内积

    向量和矩阵的范数,L1范数和L2范数

    矩阵和它的各种运算,包括加法,减法,乘法,数乘

    逆矩阵的定义与性质

    行列式的定义与计算方法

    二次型的定义

    矩阵的正定性

    特征值与特征向量

    奇异值分解

    线性方程组的数值解

    机器学习算法处理的数据一般都是向量、矩阵或者张量。经典的机器学习算法输入的数据都是特征向量,深度学习算法在处理图像时输入的2维的矩阵或者3维的张量。掌握这些概念是你理解机器学习和深度学习算法的基础。

    概率论国内理工科专业使用最多的是浙大版的教材:

    如果把机器学习所处理的样本数据看作随机变量/向量,就可以用概率论的方法对问题进行建模,这代表了机器学习中很大一类方法。在机器学习里用到的概率论知识点有:

    随机事件的概念,概率的定义与计算方法

    随机变量与概率分布,尤其是连续型随机变量的概率密度函数和分布函数

    条件概率与贝叶斯公式

    常用的概率分布,包括正态分布,伯努利二项分布,均匀分布

    随机变量的均值与方差,协方差

    随机变量的独立性

    最大似然估计

    这些知识不超出普通理工科概率论教材的范围。

    最后来说最优化,几乎所有机器学习算法归根到底都是在求解最优化问题。求解最优化问题的指导思想是在极值点出函数的导数/梯度必须为0。因此你必须理解梯度下降法,牛顿法这两种常用的算法,它们的迭代公式都可以从泰勒展开公式而得到。

    凸优化是机器学习中经常会提及的一个概念,这是一类特殊的优化问题,它的优化变量的可行域是凸集,目标函数是凸函数。凸优化最好的性质是它的所有局部最优解就是全局最优解,因此求解时不会陷入局部最优解。如果一个问题被证明为是凸优化问题,基本上已经宣告此问题得到了解决。在机器学习中,线性回归、岭回归、支持向量机、logistic回归等很多算法求解的都是凸优化问题。

    拉格朗日对偶为带等式和不等式约束条件的优化问题构造拉格朗日函数,将其变为原问题,这两个问题是等价的。通过这一步变换,将带约束条件的问题转换成不带约束条件的问题。通过变换原始优化变量和拉格朗日乘子的优化次序,进一步将原问题转换为对偶问题,如果满足某种条件,原问题和对偶问题是等价的。这种方法的意义在于可以将一个不易于求解的问题转换成更容易求解的问题。在支持向量机中有拉格朗日对偶的应用。

    KKT条件是拉格朗日乘数法对带不等式约束问题的推广,它给出了带等式和不等式约束的优化问题在极值点处所必须满足的条件。在支持向量机中也有它的应用。

    如果你没有学过最优化方法这门课也不用担心,这些方法根据微积分和线性代数的基础知识可以很容易推导出来。如果需要系统的学习这方面的知识,可以阅读《凸优化》,《非线性规划》两本经典教材。

     

    编程能力

    编程能力是学好机器学习和深度学习的又一大基础。对于计算机类专业的学生,由于本科已经学了c语言,c++,数据结构与算法,因此这方面一般不存在问题。对于非计算机专业的人来说,要真正学好机器学习和深度学习,这些知识是绕不开的。

    虽然现在大家热衷于学习python,但要作为一名真正的算法工程师,还是应该好好学习一下c++,至少,机器学习和深度学习的很多底层开源库都是用它写的;很多公司线上的产品,无论是运行在服务器端,还是嵌入式端,都是用c++写的。此外,如果你是应届生,在校园招聘时不少公司都会面试你c++的知识。

    C++最经典的教材无疑是c++ primer:

    对做算法的人来说,这本书其实不用全部看,把常用的点学完就够了。对于进阶,Effective c++是很好的选择,不少公司的面试题就直接出自这本书的知识点:

    接下来说python,相比c++来说,学习的门槛要低很多,找一本通俗易懂的入门教程学习一遍即可。

    数据结构和算法是编写很多程序的基础,对于机器学习和深度学习程序也不例外。很多算法的实现都依赖于数组,链表,数,排序,查找之类的数据结构和基础算法。如果有时间和精力,把算法导论啃一遍,你会有不一样的感受:

    对于应届生来说,学完它对于你通过大互联网和人工智能公司校园招聘的技术面试也非常有用。

    上面说的只是编程语言的程序设计的理论知识,我们还要考虑实际动手能力。对于开发环境如gcc/g++,visual studio之类的工具,以及gdb之类的调试工具需要做到熟练使用。如果是在linux上开发,对linux的常用命令也要熟记于心。这方面的知识看各种具体的知识点和教程即可。另外,对于编程的一些常识,如进程,线程,虚拟内存,文件系统等,你最好也要进行了解。

     

    机器学习与深度学习

    在说完了数学和编程基础之后,下面我来看核心的内容,机器学习和深度学习知识。机器学习是现阶段解决很多人工智能问题的核心方法,尤其是深度学习,因此它们是算法工程师的核心知识。在这里有一个问题:是否需要先学机器学习,还是直接学深度学习?如果是一个专业的算法工程师,我的建议是先学机器学习。至少,你要知道机器学习中的基本概念,过拟合,生成模型,ROC曲线等,上来就看深度学习,如没有背景知识你将不知所云。另外,神经网络只是机器学习中的一类方法,对于很多问题,其他机器学习算法如logistic回归,随机森林,GBDT,决策树等还在被大规模使用,因此你不要把自己局限在神经网络的小圈子里。

    首先来看机器学习,这方面的教材很多,周志华老师的机器学习,李航老师的统计学习方法是国内的经典。这里我们介绍国外的经典教材,首先是PRML:

    此书深厚,内容全面,涵盖了有监督学习,无监督学习的主要方法,理论推导和证明详细深入,是机器学习的经典。此外还有模式分类这本书,在这里不详细介绍。

    深度学习目前最权威的教程是下面这本书:

    它涵盖了深度学习的方方面面,从理论到工程,但美中不足的是对应于介绍的相对较少。

    强化学习是机器学习很独特的一个分支,大多数人对它不太了解,这方面的教程非常少,我们推荐下面这本书:

    美中不足的是这本书对深度强化学习没有介绍,因为出版的较早。不知最新的版本有没有加上这方面的内容。

    在这里需要强调的是,你的知识要系统化,有整体感。很多同学都感觉到自己学的机器学习太零散,缺乏整体感。这需要你多思考算法之间的关系,演化历史之类的问题,这样你就做到胸中有图-机器学习算法地图。其实,SIGAI在之前的公众号文章“机器学习算法地图”里已经给你总结出来了。

     

    开源库

    上面介绍了机器学习和深度学习的理论教材,下面来说实践问题。我们无需重复造车轮子,熟练的使用主流的开源库是需要掌握的一项技能。对于经典的机器学习,常用的库的有:

    libsvm

    liblinear

    XGBoost

    OpenCV

    HTK

    Weka

    在这里我们不一一列举。借助于这些库,我们可以方便的完成自己的实验,或是研发自己的产品。对于深度学习,目前常用的有:

    Caffe

    TensorFlow

    MXNet

    除此之外,还有其他的。对于你要用到的开源库,一定要理解它的原理,以及使用中的一些细节问题。例如很多算法要求输入的数据先做归一化,否则效果会非常差,而且面临浮点数溢出的问题,这些实际经验需要你在使用中摸索。如果有精力把这些库的核心代码分析一遍,你对实现机器学习算法将会更有底气。以深度学习为例,最核心的代码无非是实现:

    各种层,包括它们的正向传播和反向传播

    激活函数的实现

    损失函数的实现

    输入数据的处理

    求解器,实现各种梯度下降法

    这些代码的量并不大,沉下心来,我相信一周之内肯定能分析完。看完之后你会有一种豁然开朗的感觉。

     

    应用方向的知识

    接下来是各个方向的知识,与机器学习有关的应用方向当前主要有:

    机器视觉

    语音识别

    自然语言处理

    数据挖掘

    知识图谱

    推荐系统

    除此之外,还有其他一些特定小方向,在这里不一一列举。这些具体的应用方向一般都有自己的教材,如果你以后要从事此方向的研究,系统的学习一遍是必须的。

     

    实践经验与思考

    在说完理论与实践知识之后,最后我们来说经验与思考。在你确定要做某一个方向之后,对这个方向的方法要有一个全面系统的认识,很多方法是一脉相承的,如果只追求时髦看最新的算法,你很难做出学术上的创新,以及工程上的优化。对于本问题所有的经典论文,都应该化时间细度,清楚的理解它们解决了什么问题,是怎么解决的,还有哪些问题没有解决。例如:

    机器视觉目标检测中的遮挡问题

    推荐系统中的冷启动问题

    自然语言处理中文分词中的歧义切分问题

    只有经过大量的编程和实验训练,以及持续的思考,你才能算得上对这个方向深刻理解,以至于有自己的理解。很多同学对自己实现轮上的算法没有底气,解决这个问题最快的途径就是看论文算法的开源代码,在github上有丰富的资源,选择一些合适的,研究一下别人是怎么实现的,你就能明白怎么实现自己的网络结构和损失函数,照葫芦画瓢即可。

    计算机以及人工智能是一个偏实践的学科,它的方法和理论既需要我们有扎实的理论功底,又需要有丰富的实践能力与经验。这两个方面构成了算法工程师最主要的素质。科学的学习路径能够让你取得好的学习效果,同时也缩短学习时间。错误和浮躁的做法则会让你最后事倍功半。这是SIGAI对想进入这个领域,或者刚进入这个领域的每个人要说的!

     

    推荐阅读

    [1] 机器学习-波澜壮阔40年 SIGAI 2018.4.13.

    [2] 学好机器学习需要哪些数学知识?SIGAI 2018.4.17.

    [3] 人脸识别算法演化史 SIGAI 2018.4.20.

    [4] 基于深度学习的目标检测算法综述 SIGAI 2018.4.24.

    [5] 卷积神经网络为什么能够称霸计算机视觉领域? SIGAI 2018.4.26.

    [6] 用一张图理解SVM的脉络 SIGAI 2018.4.28.

    [7] 人脸检测算法综述 SIGAI 2018.5.3.

    [8] 理解神经网络的激活函数 SIGAI 2018.5.5.

    [9] 深度卷积神经网络演化历史及结构改进脉络-40页长文全面解读 SIGAI 2018.5.8.

    [10] 理解梯度下降法 SIGAI 2018.5.11.

    [11] 循环神经网络综述—语音识别与自然语言处理的利器 SIGAI 2018.5.15

    [12] 理解凸优化 SIGAI 2018.5.18

    [13] 【实验】理解SVM的核函数和参数 SIGAI 2018.5.22

    [14] 【SIGAI综述】行人检测算法 SIGAI 2018.5.25

    [15] 机器学习在自动驾驶中的应用—以百度阿波罗平台为例(上) SIGAI 2018.5.29

    [16] 理解牛顿法 SIGAI 2018.5.31

    [17] 【群话题精华】5月集锦—机器学习和深度学习中一些值得思考的问题 SIGAI 2018.6.1

    [18] 大话Adaboost算法 SIGAI 2018.6.2

    [19] FlowNet到FlowNet2.0:基于卷积神经网络的光流预测算法 SIGAI 2018.6.4

    [20] 理解主成分分析(PCA) SIGAI 2018.6.6

    [21] 人体骨骼关键点检测综述 SIGAI 2018.6.8

    [22] 理解决策树 SIGAI 2018.6.11

    [23] 用一句话总结常用的机器学习算法 SIGAI 2018.6.13

    [24] 目标检测算法之YOLO SIGAI 2018.6.15

    [25] 理解过拟合 SIGAI 2018.6.18

    [26] 理解计算:从√2到AlphaGo ——第1季 从√2谈起 SIGAI 2018.6.20

    [27] 场景文本检测——CTPN算法介绍 SIGAI 2018.6.22

    [28] 卷积神经网络的压缩和加速 SIGAI 2018.6.25

    [29] k近邻算法 SIGAI 2018.6.27

    [30] 自然场景文本检测识别技术综述 SIGAI 2018.6.27

    [31] 理解计算:从√2到AlphaGo ——第2季 神经计算的历史背景 SIGAI 2018.7.4

    [32] 机器学习算法地图 SIGAI2018.7.6

    [33] 反向传播算法推导-全连接神经网络 SIGAI2018.7.9

    [34] 生成式对抗网络模型综述 SIGAI2018.7.11

     

     

    原创声明:本文为 SIGAI 原创文章,仅供个人学习使用,未经允许,不得转载,不能用于商业目的。

     

     

    展开全文
  • 算法工程师 Author:louwill Machine Learning Lab 由于算法工程师这个岗位根据不同的业务场景和应用方向,各自的工作差异相对较大。所以很难有一个一概而论的算法工程师技术栈。比如说做图像方向的有机器视觉算法岗...

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
    本文链接:https://blog.csdn.net/weixin_37737254/article/details/110508319

    算法工程师

    Author:louwill

    Machine Learning Lab

    由于算法工程师这个岗位根据不同的业务场景和应用方向,各自的工作差异相对较大。所以很难有一个一概而论的算法工程师技术栈。比如说做图像方向的有机器视觉算法岗、做文本方向的有自然语言处理算法岗、做语音的又有语音识别算法岗。

    本文仅对算法工程师常用的、基础的、必备的研发技能进行梳理。也就是说,不论你是做哪个业务场景下的算法工作,这些基础研发技能都是必知必会的。

    这组技能清单主要包括两大类型,一类是理论技术,另一类是编程语言和工具类。

    数据分析

    数据分析是算法工程师的基础能力。当前所有的算法都是基于数据驱动,数据分析可以算作是算法研究的前置条件。主要技术栈包括:

    EDA
    
    统计分析
    
    统计绘图与数据可视化
    
    sql
    
    ...
    

    数据结构与算法

    数据结构与算法是计算机从业者的四大基础课之一,对常用的数据结构和基础算法有深刻的理解是算法工程师的基本功。目前业界无论大厂小厂,面试考数据结构与算法题是必备项目。刷leetcode是算法找工作前的必做准备了。

    数据结构

    线性表
    
    数组
    
    链表
    
    字符串
    
    栈
    
    队列
    
    堆
    
    哈希表
    
    树
    
    图
    

    基础算法

    二分查找
    
    排序
    
    递归
    
    回溯
    
    分治
    
    双指针
    
    深度优先搜索
    
    广度优先搜索
    
    动态规划
    
    ...
    

    机器学习

    机器学习是算法岗的核心能力。对于机器学习算法工程师而言,随着算法岗越来越内卷,对常用的机器学习模型与算法能够做到深入理解和手推已是普遍要求了。常用的机器学习模型包括:

    单模型
    
        线性回归
    
        逻辑回归
    
        Lasso
    
        Ridge
    
        knn
    
        ID3
    
        C4.5
    
        CART
    
        感知机
    
        神经网络
    
        SVM
    
    集成学习
    
        GBDT
    
        AdaBoost
    
        XGBoost
    
        LightGBM
    
        CatBoost
    
        Random Forest
    
    无监督模型
    
        kmeans
    
        层次聚类
    
        谱聚类
    
        PCA
    
        SVD
    
        LDA
    
    概率模型
    
        朴素贝叶斯
    
        贝叶斯网络
    
        EM
    
        MCMC
    
        最大熵
    
        CRF
    
        HMM
    

    机器学习模型导图

    深度学习

    深度学习作为机器学习的一个最流行方向,不同的应用领域也相对有各自的侧重点,比如做图像算法的更侧重于CNN,做文本算法的更侧重于RNN。但常用的网络模型和发展沿革都应该做到了然于胸。

    DNN
    
        MLP
    
        BP
    
    CNN
    
        分类
    
        检测
    
        分割
    
        AlexNet/VGG/GoogleNet/ResNet/DenseNet
    
        ...
    
    RNN
    
        LSTM
    
        Transformer
    
        Attention
    
        Bert
    
        XLNet
    
        ...
    
    GNN
    
    ...
    

    Linux

    Linux是算法工程师干活主要工具,基础和常用命令必须熟练。

    Linux
    
    Shell
    
    Vim
    

    Git

    版本管理
    
    远程仓库
    
    分支管理
    
    ...
    

    Python

    Python的重要性就不多说了。完整教程可参考廖雪峰老师:

    https://www.liaoxuefeng.com/wiki/1016959663602400

    算法人员应熟练掌握的第三方库包括:

    sklearn
    
    tensorflow
    
    keras
    
    pytorch
    
    cv2
    
    nltk
    
    ...
    

    C++

    C++跟Python一样,甚至重要性还要强于Python,C++对于模型算法的工业化部署和落地至关重要。C++在线教程参考:https://www.w3cschool.cn/cpp/

    SQL

    SQL是算法人员的基础研发工具。能写一手熟练的SQL脚本也是非常重要的能力体现。

    增删改查
    
    MySQL
    
    Oracle
    
    SQLite
    
    ...
    

    Docker

    Docker 是一个开源的应用容器引擎,可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

    爬虫

    爬虫对于算法工程人员而言可以自主的编写脚本获取web页面上的一些结构化数据。基于Python的爬虫应掌握:

    前端知识
    
        html
    
        css
    
        javascript
    
    Python第三方库
    
        urllib
    
        beautifulsoup
    
        request
    
        lxml
    
        scrapy
    
    展开全文
  • 算法工程师的爱与哀愁.算法工程师是互联网领域比较热门的职位,随着大数据技术的火爆,推荐系统和机器学习等大数据相关领域获得了大量的关注,也让算法工程师的人气指数大大提升。那么做算法研究需要掌握哪些技能?...
  • 机器人算法工程师

    2020-08-17 16:36:09
    机器人算法工程师岗位的相关资料 百度文库2015 大疆算法工程师笔试 移动机器人的 学习笔记之——路径规划 路径规划算法总结
  • 算法工程师岗位

    2021-01-03 21:42:16
    入学算法工程师的岗位技能
  • 一个公式告诉你为什么程序员要转算法工程师

    万次阅读 多人点赞 2017-06-11 18:20:23
    今天(2017年6月11日)爬了某招聘网站的十大城市的算法工程师职位。算法工程师这里的算法工程师包括比较广泛。有做数据科学的,有做图形的,有做信号处理的。之后会统计更细分的领域。十大城市以下按照算法工程师的...
  • 算法工程师 二, 2.1
  • 算法工程师的范围是小于数据挖掘工程师的 数据挖掘工程师需要了解整套数据流入的过程,包括数据的接入、预处理,然后需要知道怎么用数据解决实际的业务问题,说白就是想办法让数据产生价值。 他需要知道一整个数据到...
  • 系统算法工程师,新手教学。推荐系统的深度学习应用 IMDb解析 推荐引擎 推荐算法 拼装推荐结果 推荐环境
  • 算法工程师的日常工作到底是在干嘛? 平常看起来似乎还挺闲的,工资还那么高。 有时候算法工程师好像又和大数据工程师是一样的工作? 这到底是怎么回事呢? 大约整理出以下几个疑问: 1、 软件工程师、算法...
  • 解优人才网记者风精分享:一名算法工程师的职业规划自从硕士毕业后,一直从事算法方面(视频编解码,深度学习,全景VR)的工作,目前人到中年,感觉有点在十字路口,不知道未来规划是什么样的,因为最近搜索了网上...
  • AI算法工程师手册

    2019-01-06 09:28:06
    作者华校专,曾任阿里巴巴资深算法工程师,现任智易科技首席算法研究员,《Python 大战机器学习》的作者。 这是作者多年以来学习总结的笔记,经整理之后开源于世。目前还有约一半的内容在陆续整理中,已经整理好的...
  • 5.4 算法工程师岗位能力要求 此处选取了京东集团算法工程师的招聘需求。 月薪30K-50K,经验要求5-10年,学历要求本科及以上。 职位要求: 对机器学习及深度学习等前沿问题的进行探索和研究,结合未来的实际应...
  • 百度C++工程师面经 C++算法工程师? 一面顺利自信满满 一面的时候是坐公交车去的顺便在路上看了下平时的总结也就是几个常考的排序算法和stl的一些总结一直都很紧张直到进面试官房间也还是很紧张 面试官是个年轻GG先让...
  • NLP算法工程师

    2020-06-08 20:34:27
    本文主要针对NLP算法工程师,构建NLPer面试所需知识的思维导图;只涉及对付面试的知识。主要包括以下三大部分的知识:统计机器学习,深度学习(NLP方向),算法与数据结构。 本文的主要目的:只构建整体知识的框架...
  • 算法工程师面试

    千次阅读 2017-09-17 13:59:18
    算法工程师面试必备 成为算法工程师,应该学习哪些东西 首先说算法工程师有几个方向:NLP,推荐,CV,深度学习,然后结合公司业务做得内容各不相同 传统机器学习算法:感知机,SVM,LR,softmax,Kmeans,...
  • 该资源为2019年雷达算法工程师笔试题,包含单选,多选,判断和问答题。推荐需要应聘雷达算法岗的同学可以下载。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 18,103
精华内容 7,241
关键字:

算法工程师