热门标签 | 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




推荐阅读
  • 本文介绍了绕过WAF的XSS检测机制的方法,包括确定payload结构、测试和混淆。同时提出了一种构建XSS payload的方法,该payload与安全机制使用的正则表达式不匹配。通过清理用户输入、转义输出、使用文档对象模型(DOM)接收器和源、实施适当的跨域资源共享(CORS)策略和其他安全策略,可以有效阻止XSS漏洞。但是,WAF或自定义过滤器仍然被广泛使用来增加安全性。本文的方法可以绕过这种安全机制,构建与正则表达式不匹配的XSS payload。 ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • GPT-3发布,动动手指就能自动生成代码的神器来了!
    近日,OpenAI发布了最新的NLP模型GPT-3,该模型在GitHub趋势榜上名列前茅。GPT-3使用的数据集容量达到45TB,参数个数高达1750亿,训练好的模型需要700G的硬盘空间来存储。一位开发者根据GPT-3模型上线了一个名为debuid的网站,用户只需用英语描述需求,前端代码就能自动生成。这个神奇的功能让许多程序员感到惊讶。去年,OpenAI在与世界冠军OG战队的表演赛中展示了他们的强化学习模型,在限定条件下以2:0完胜人类冠军。 ... [详细]
  • 本文比较了eBPF和WebAssembly作为云原生VM的特点和应用领域。eBPF作为运行在Linux内核中的轻量级代码执行沙箱,适用于网络或安全相关的任务;而WebAssembly作为图灵完备的语言,在商业应用中具有优势。同时,介绍了WebAssembly在Linux内核中运行的尝试以及基于LLVM的云原生WebAssembly编译器WasmEdge Runtime的案例,展示了WebAssembly作为原生应用程序的潜力。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 本文详细介绍了云服务器API接口的概念和作用,以及如何使用API接口管理云上资源和开发应用程序。通过创建实例API、调整实例配置API、关闭实例API和退还实例API等功能,可以实现云服务器的创建、配置修改和销毁等操作。对于想要学习云服务器API接口的人来说,本文提供了详细的入门指南和使用方法。如果想进一步了解相关知识或阅读更多相关文章,请关注编程笔记行业资讯频道。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • 2022年的风口:你看不起的行业,真的很挣钱!
    本文介绍了2022年的风口,探讨了一份稳定的副业收入对于普通人增加收入的重要性,以及如何抓住风口来实现赚钱的目标。文章指出,拼命工作并不一定能让人有钱,而是需要顺应时代的方向。 ... [详细]
  • 如何使用代理服务器进行网页抓取?
    本文介绍了如何使用代理服务器进行网页抓取,并探讨了数据驱动对竞争优势的重要性。通过网页抓取,企业可以快速获取并分析大量与需求相关的数据,从而制定营销战略。同时,网页抓取还可以帮助电子商务公司在竞争对手的网站上下载数百页的有用数据,提高销售增长和毛利率。 ... [详细]
  • svnWebUI:一款现代化的svn服务端管理软件
    svnWebUI是一款图形化管理服务端Subversion的配置工具,适用于非程序员使用。它解决了svn用户和权限配置繁琐且不便的问题,提供了现代化的web界面,让svn服务端管理变得轻松。演示地址:http://svn.nginxwebui.cn:6060。 ... [详细]
  • Java和JavaScript是什么关系?java跟javaScript都是编程语言,只是java跟javaScript没有什么太大关系,一个是脚本语言(前端语言),一个是面向对象 ... [详细]
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社区 版权所有