你们好,我是chris,入行前5年在一家上市游戏公司作算法,从数据挖掘算法在业务线落地开始,涉及机器学习、深度学习,后来逐步负责整个算法团队建设。
python
如今在阿里,也是负责算法方面的工做,涉及到的领域涵盖CV、NLP、架构等,业务线也扩展到广告、运营、客服、风控等各个方面。linux
为何算法岗难招到人?程序员
在外行人眼中,算法工程师可能拿到最近某大神新发的Paper,或者本身钻研理论推公式产出理论成果,经过并行编程实现其支持大规模数据训练,而后战胜现有模型,ctr提高200%,收入提升200%,年薪百万。然而实际状况是:面试
特做为算法部门负责人,我曾经面试过不少候选人,通常我一般从逻辑思惟、基础算法与数据结构、数学、深度学习、表达能力和工程经验等几个方面考察。算法
我发现其实不少人只是自认为懂得算法,刷了一遍西瓜书就敢出来面试了,另外有数理基础的应届生,算法掌握得也不错,但实际3年可能写了不到1000行代码,实操能力极差。编程
在面试了好几个简历优秀的年轻人后,我惊讶得发现原来不少初学者对数据挖掘/算法工程师实际上的工做流都不是很了解,致使职业技能误差。这就是为何,企业收到的简历愈来愈多,但公司实际可用的就那么一两个,并且开价超预算50%,忍痛签下还可能被同行挖走了。centos
那么算法岗位具体的工做流程是怎样的?安全
咱们先来用一个小型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虽然在某种程度上代替人提取特征,可是它最多只能解决特征变换问题,仍然处理不了数据清洗和预处理中须要用到领域知识的状况。
在个人经历里,我倾向于算法工程师是技术+产品经理为一体的综合型人才。
而对于跨专业的学生/从业者来讲,跨界反而是优点,不是障碍。特别是若是你做为自己是一个其余行业(物理,工程,化学,医学,农业,卫星地图识别,网络安全领域,社会科学)的普通程序员,在本行业有比较深的理论和实验背景,能接触到海量数据,那么你彻底能够作一些创新性和交叉性的工做,这就是人工智能+的人才。
如今有不少的机器学习课程和教科书,它们大都是关于如何从零开始制造烤箱,而不是如何烹饪和创新配方。这种学习路径不只仅难度大,并且90%学习者没有在一个方向上深刻,不具有核心能力,也不符合企业的人才观。
工业界最好的AI入门训练营
为了能让更多初学者了解机器学习/数据分析/数据挖掘等岗位的工做流程,找到入门的切入点,
我特意邀请了两位人工智能不一样领域的专家,一位BAT的数据挖掘工程师@熊猫酱,一位计算机视觉方向的专家@Angela,还有我阿里高级算法工程师@Chris,以自身具体的工做流为核心,举办连续四场人工智能入门分享会。
分别从各自擅长的领域:python数据分析、机器学习理论、机器学习数学、算法工做流,以咱们在大厂具体工做流逆向指导理论学习,规划学习路线,是不可多得的入门级课程,旨在为广大的AI爱好者和跨行学习者提供坚实的基础
本次分享会将为你解答如下疑问:
我适不适合学习人工智能?我是医学生,如今AI医疗就业状况怎么样?数据分析/数据挖掘/算法工程师的区别及能力模型?算法工程师对算法须要理解到何种程度?模型选择和参数调优技术,是不是通用的?深度学习算法的应用场景……(~你的全部疑惑,在这里将所有解决!)
千万不要在本该快速成长的时候错过机会。参加本期训练营,一线导师将尽心为你在线解答疑问,更有同伴一块儿相互监督鼓励!本期更是免费帮你分析具体职业进阶方向!
学习资料
机器学习从入门到实战视频课程
另外,前500名成功报名这门课程的同窗,均可以得到由这份由上海北大、清华、交大等名校导师以及大厂一线工程师联合组写价值1388元的《机器学习从入门到实战视频课程》,包含python基础、数据分析、大数据、机器学习、实战等五大类目的精华干货视频,课件和源码都能下载,如下是目录。
《机器学习从入门到实战视频课程》
——五大章节,63讲
1、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. 学生管理系统的修改和删除、家庭做业
2、Python数据分析
19. Python数据科学入门
20. Python经常使用库介绍
21. 数据分析环境搭建
22. Numpy数据类型和索引的处理
23. NumpyAPI和矩阵运算
24. Numpy高级特性和通用函数
25. Panda概述和Serise
26. Pandas_DataFrame精讲
27. DataFrame和Series的索引
3、大数据与数据处理
28. 大数据是什么
29. 大数据,人工智能,机器学习三者的关系
30. 数据量与高并发(高并发必定是表明数据量大吗?)
31. hadoop精讲:HDFS简介,架构组成,实操演练
32. hadoop精讲:Mapreduce简介,Wordcount实例,框架流程
33. spark简介,环境搭建,集群安装,实例演示
4、机器学习入门
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、机器学习5大实战
57. 前言
58. 准备工做
59. 高端又通常的词云
60. DCgan人脸图片生成
61. 股票价格预测
62. Tensorflow物体检测
63. 天马行空的Deep Dream
固然任何资料都只是辅助,分享会最重要的是能跟着老师们一块儿动手实操,学习一线开发的人工智能思惟,了解大厂具体工做流,迈出人工智能的最坚实的一步!