热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

7年算法工程师的工作总结,太精辟了!

大家好,我是chris,入行前5年在一家上市游戏公司做算法,从数据挖掘算法在业务线落地开始,涉及机器学习、深度学习ÿ

大家好,我是chris,入行前5年在一家上市游戏公司做算法,从数据挖掘算法在业务线落地开始,涉及机器学习、深度学习,后来逐步负责整个算法团队建设。

 

现在在阿里,也是负责算法方面的工作,涉及到的领域涵盖CV、NLP、架构等,业务线也扩展到广告、运营、客服、风控等各个方面。


在外行人眼中,算法工程师可能拿到最近某大神新发的Paper,或者自己钻研理论推公式产出理论成果,通过并行编程实现其支持大规模数据训练,然后打败现有模型,ctr提升200%,收入提高200%。然而实际情况是:


理想中的算法工程师:提出假设->收集数据->训练模型->解释结果。

实际中的算法工程师:提出假设->收集数据->预处理->预处理->训练模型->调试->调试->重新收集数据->预处理->收集更多数据->调试->调试->调试->…->放弃


作为算法部门负责人,我曾经面试过很多候选人,一般我通常从逻辑思维、基础算法与数据结构、数学、深度学习、表达能力和工程经验等几个方面考察。


我发现其实很多人只是自认为懂得算法,刷了一遍西瓜书就敢出来面试了,另外有数理基础的应届生,算法掌握得也不错,但实际3年可能写了不到1000行代码,实操能力极差。


在面试了好几个简历优秀的年轻人后,我惊讶得发现原来很多初学者对数据挖掘/算法工程师实际上的工作流都不是很了解,导致职业技能偏差。这就是为什么,企业收到的简历越来越多,但公司实际可用的就那么一两个,而且开价不菲,忍痛签下还可能被同行挖走了。


那么算法岗位具体的工作流程是怎样的?我们先来用一个小型NLP项目流程来举例,让大家了解机器学习项目有哪些大的环节:


1.了解需求,获取数据。与产品和运营开会,了解需求,然后提取公司积累大量的数据和自己网上下载、爬取的数据。


2.数据预处理。数据处理大概会占到整个50%-70%的工作量,通过数据洗清、分词、词性标注、去停用词四个大的方面来完成语料的预处理工作。


3.特征工程。做完语料预处理之后,接下来需要考虑如何把分词之后的字和词语表示成计算机能够计算的类型。把中文分词的字符串转换成数字,有两种常用的表示模型分别是词袋模型和词向量。


4.特征选择。构造好的特征向量,是要选择合适的、表达能力强的特征。特征选择是一个很有挑战的过程,更多的依赖于经验和专业知识,并且有很多现成的算法来进行特征的选择。


5.模型训练。对于不同的应用需求,我们使用不同的模型,传统的有监督和无监督等机器学习模型,如 KNN、SVM、Naive Bayes、决策树、GBDT、K-means 等模型;深度学习模型比如 CNN、RNN、LSTM、 Seq2Seq、FastText、TextCNN 等。


6.评价指标。训练好的模型,上线之前要对模型进行必要的评估,目的让模型对语料具备较好的泛化能力。


7.模型上线应用。模型线上应用,线下训练模型,然后将模型做线上部署,发布成接口服务以供业务系统使用。


以上流程从业务流程来看,机器学习项目基本就是了解业务需求 ->调研业界方案 -> 查看是否适用 -> 上线效果不难发现,在对待具体业务上,算法工程师如何通过“实践”提升自己的机器学习水平,以及如何通过机器学习/深度学习实际应用来改善企业的业务等级和营收能力至关重要。


我经常说算法只是工具,重要的是在正确的行业和产品认知上,实现业务目标。


所以有人恐慌算法工程师会被自己的算法替代,这是极其可笑的。机器可以做的虽然很多,但是无法代替人对数据的理解,这是算法工程师存在的价值。Deep Learning虽然在某种程度上代替人提取特征,但是它最多只能解决特征变换问题,仍然处理不了数据清洗和预处理中需要用到领域知识的情况。


在我的经历里,我倾向于算法工程师是技术+产品经理为一体的综合型人才。


而对于跨专业的学生/从业者来说,跨界反而是优势,不是障碍。特别是如果你作为本身是一个其他行业(物理,工程,化学,医学,农业,卫星地图识别,网络安全领域,社会科学)的普通程序员,在本行业有比较深的理论和实验背景,能接触到海量数据,那么你完全可以做一些创新性和交叉性的工作,这就是人工智能+的人才。


现在有很多的机器学习课程和教科书,它们大都是关于如何从零开始制造烤箱,而不是如何烹饪和创新配方。但对大多数企业而言,其实他们需要的只是烹饪方法——即解决他们业务问题的方法。


为了能让更多初学者了解机器学习/数据分析/数据挖掘等岗位的工作流程,找到入门的切入点,我特地邀请了两位人工智能不同领域的专家,一位BAT的数据挖掘工程师@熊猫酱,一位计算机视觉方向的专家@Angela,还有我阿里高级算法工程师@Chris,以自身具体的工作流为核心,举办连续四场人工智能入门分享会。


640?wx_fmt=jpeg


我们将分别从各自擅长的领域:python数据分析、机器学习理论、机器学习数学、算法工作流,以我们在大厂具体工作流逆向指导理论学习,规划学习路线,是不可多得的入门级课程,旨在为广大的AI爱好者和跨行学习者提供坚实的基础。

福利一:

《人工智能入门分享会》

适合人群:入门、初中级学员

 

1. 6月11日 20:30

一线大厂算法工作流讲解及机器学习路线 

2. 6月13日  20:30

机器学习常见算法推导中的数学基础

3. 6月16日  20:30

从零开始,90分钟入门python数据分析

4. 6月18日  20:30

阿里专家:神经网络原理与人工智能就业指南

(*可领取录播,添加助教:BT474849领取)


本次分享会将为你解答以下疑问:


我适不适合学习人工智能?我是医学生,现在AI医疗就业情况怎么样?数据分析/数据挖掘/算法工程师的区别是什么?算法工程师对算法需要理解到何种程度?模型选择和参数调优技术,是否是通用的?深度学习算法的应用场景……(~你的所有疑惑,在这里将全部解决!)


千万不要在本该快速成长的时候错过机会。参加本期训练营,一线导师将尽心为你在线解答疑问,更有同伴一起相互监督鼓励!本期更是免费帮你分析具体职业进阶方向!


第一期300名试学学员获得一致好评!

↓↓↓

640?wx_fmt=jpeg

▲第一期课程体验反馈+群内交流答疑


福利二:学习资料

机器学习从入门到实战视频课程


另外,前500名成功报名这门课程的同学,都可以获得由这份由上海北大、清华、交大等名校导师以及大厂一线工程师联合组写价值1388元的《机器学习从入门到实战视频课程》,包含python基础、数据分析、大数据、机器学习、实战等五大类目的精华干货视频,课件和源码都能下载,以下是目录。

《机器学习从入门到实战视频课程》

 ——五大章节,63讲


一、Linux与python编程基础

1. vmware虚拟机的安装

2. centos6.9操作系统的安装

3. linux基本命令使用

4. python介绍

5. python安装

6. python环境安装

7. 第一个python程序

8. pycharm(Python开发神器)的使用

9. 变量、整型、浮点型、字符串类型

10. 空值、布尔值、列表、元组、字典、集合

11. if条件语句、input函数

12. 循环语句

13. 函数介绍、函数的定义、函数的调用、函数的参数

14. 函数的返回值

15. 全局变量和局部变量

16. 学生管理系统框架

17. 学生管理系统的增加和查看模块的编写

18. 学生管理系统的修改和删除、家庭作业


二、Python数据分析

19. Python数据科学入门

20. Python常用库介绍

21. 数据分析环境搭建

22. Numpy数据类型和索引的处理

23. NumpyAPI和矩阵运算

24. Numpy高级特性和通用函数

25. Panda概述和Serise

26. Pandas_DataFrame精讲

27. DataFrame和Series的索引


三、大数据与数据处理

28. 大数据是什么

29. 大数据,人工智能,机器学习三者的关系

30. 数据量与高并发(高并发一定是代表数据量大吗?)

31. hadoop精讲:HDFS简介,架构组成,实操演练

32. hadoop精讲:Mapreduce简介,Wordcount实例,框架流程

33. spark简介,环境搭建,集群安装,实例演示


四、机器学习入门

34. 机器学习简介

35. 机器学习开发环境

36. 机器学习IDE介绍

37. 机器学习基础理论与哲理

38. 机器学习算法分类

39. 机器学习常见任务

40. 数据清洗

41. 数据标准化

42. Python与Sklearn数据标准化实践

43. 机器学习中的相似性度量

44. KNN算法

45. 案例:基于 KNN (sklearn)的鸢尾花卉数据分类

46. 案例:基于 KNN(python)的鸢尾花卉数据分类

47. 一元线性回归

48. 多元线性回归

49. 多项式回归

50. sklearn线性回归实践

51. python线性回归实践

52. 案例:基于线性回归的广告收益分析实战

53. 逻辑回归分类算法

54. 二分类分类器处理多分类问题

55. 案例:基于逻辑回归(sklearn)的鸢尾花卉数据分类

56. 案例:基于逻辑回归(python)的鸢尾花卉数据分类


五、机器学习5大实战

57. 前言

58. 准备工作

59. 高端又一般的词云

60. DCgan人脸图片生成

61. 股票价格预测

62. Tensorflow物体检测

63. 天马行空的Deep Dream

当然任何资料都只是辅助,分享会最重要的是能跟着老师们一起动手实操,学习一线开发的人工智能思维,了解大厂具体工作流,迈出人工智能的最坚实的一步!


福利领取:

扫码添加助教小姐姐微信

回复“人工智能”即可领取

福利1:人工智能入门训练营资格

福利2:人工智能入门与进阶视频资源

640?wx_fmt=png




推荐阅读
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • 3年半巨亏242亿!商汤高估了深度学习,下错了棋?
    转自:新智元三年半研发开支近70亿,累计亏损242亿。AI这门生意好像越来越不好做了。近日,商汤科技已向港交所递交IPO申请。招股书显示& ... [详细]
  • 建立分类感知器二元模型对样本数据进行分类
    本文介绍了建立分类感知器二元模型对样本数据进行分类的方法。通过建立线性模型,使用最小二乘、Logistic回归等方法进行建模,考虑到可能性的大小等因素。通过极大似然估计求得分类器的参数,使用牛顿-拉菲森迭代方法求解方程组。同时介绍了梯度上升算法和牛顿迭代的收敛速度比较。最后给出了公式法和logistic regression的实现示例。 ... [详细]
  • 当写稿机器人真有了观点和感情,我们是该高兴还是恐惧?
    目前,写稿机器人多是撰写以数据为主的稿件,当它们能够为文章注入观点之时,这些观点真的是其所“想”吗?最近,《南 ... [详细]
  • 提升Python编程效率的十点建议
    本文介绍了提升Python编程效率的十点建议,包括不使用分号、选择合适的代码编辑器、遵循Python代码规范等。这些建议可以帮助开发者节省时间,提高编程效率。同时,还提供了相关参考链接供读者深入学习。 ... [详细]
  • 阿里Treebased Deep Match(TDM) 学习笔记及技术发展回顾
    本文介绍了阿里Treebased Deep Match(TDM)的学习笔记,同时回顾了工业界技术发展的几代演进。从基于统计的启发式规则方法到基于内积模型的向量检索方法,再到引入复杂深度学习模型的下一代匹配技术。文章详细解释了基于统计的启发式规则方法和基于内积模型的向量检索方法的原理和应用,并介绍了TDM的背景和优势。最后,文章提到了向量距离和基于向量聚类的索引结构对于加速匹配效率的作用。本文对于理解TDM的学习过程和了解匹配技术的发展具有重要意义。 ... [详细]
  • 如何使用代理服务器进行网页抓取?
    本文介绍了如何使用代理服务器进行网页抓取,并探讨了数据驱动对竞争优势的重要性。通过网页抓取,企业可以快速获取并分析大量与需求相关的数据,从而制定营销战略。同时,网页抓取还可以帮助电子商务公司在竞争对手的网站上下载数百页的有用数据,提高销售增长和毛利率。 ... [详细]
  • 本文介绍了在Python张量流中使用make_merged_spec()方法合并设备规格对象的方法和语法,以及参数和返回值的说明,并提供了一个示例代码。 ... [详细]
  • GPT-3发布,动动手指就能自动生成代码的神器来了!
    近日,OpenAI发布了最新的NLP模型GPT-3,该模型在GitHub趋势榜上名列前茅。GPT-3使用的数据集容量达到45TB,参数个数高达1750亿,训练好的模型需要700G的硬盘空间来存储。一位开发者根据GPT-3模型上线了一个名为debuid的网站,用户只需用英语描述需求,前端代码就能自动生成。这个神奇的功能让许多程序员感到惊讶。去年,OpenAI在与世界冠军OG战队的表演赛中展示了他们的强化学习模型,在限定条件下以2:0完胜人类冠军。 ... [详细]
  • OCR:用字符识别方法将形状翻译成计算机文字的过程Matlab:商业数学软件;CUDA:CUDA™是一种由NVIDIA推 ... [详细]
  • 知识图谱表示概念:知识图谱是由一些相互连接的实体和他们的属性构成的。换句话说,知识图谱是由一条条知识组成,每条知识表示为一个SPO三元组(Subject-Predicate-Obj ... [详细]
  • 本人学习笔记,知识点均摘自于网络,用于学习和交流(如未注明出处,请提醒,将及时更正,谢谢)OS:我学习是为了上 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有