Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >机器学习工程师31门课程(视频):从新手到专业

机器学习工程师31门课程(视频):从新手到专业

作者头像
机器学习AI算法工程
发布于 2018-03-09 02:29:35
发布于 2018-03-09 02:29:35
9020
举报

机器学习不仅仅是模型

产生这个问题的原因就是所有人都以为机器学习的模型就是机器学习本身,以为对那些个算法理解了就是机器学习的大牛了,但实际上完全不是这样的。

模型是谁在玩呢?模型是科学家发明出来的, 是各个大公司的各个科学家,研究员发明出来的,这个发明出来是会出论文的,是他们用来虐我们的智商的,一般情况下,你发明不了模型吧(如果可以,可以不要往下看了,你可以走学术那条路)?你修改不了模型吧?

所以说,学会了模型,只是刚刚刚刚入门,甚至还算不上入门吧

那各个公司的那么多算法工程师在干嘛呢?我们以一个搜索排序的算法工程师为例,他们在做甚呢?他们在

观察数据--->找特征--->设计算法--->算法验证--->洗数据--->工程化--->上线看效果--->goto 观察数据

而且一个成熟的系统中,一般模型已经大概确定了,如果效果不是特别不好不会换模型,比如一个公司的搜索排序系统用了机器学习的逻辑回归模型,你要改成别的模型一般不太可能,那么只能做一些特征上的补充。

好,我们通过这个流程来看看一个机器学习的算法工程师到底还要什么能力。

观察数据

小明每天就在工位上看数据,查数据,看表格,画曲线,发现像销量,收藏,点击等等这种能想到的特征早就被用了,就这么耗了三个月,没有任何进展,人都崩溃了,来了这么久,机器学习代码毛都没看到呢。

第四个月,他发现一点问题,他发现有些商品,评论什么的都挺好,感觉产品质量也不错,但就是销量上不去,所以老排后面,于是,他把这些评论都是五星,但是销量比较差的商品滤出来了,想看看他们有什么共性。

观察数据阶段,你说要什么能力?呵呵,只能告诉你,需要数据敏感性,其实也就是告诉你需要全面的能力,需要经验,需要产品经理的能力。

除了这些,你还需要能随手编脚本代码的能力,遇到有些数据需要初步处理,可能需要随手编代码处理,而且编的要快,因为这些代码可能就用一两次就不用了,所以需要比较强大的脚本语言能力,那么python至少要熟悉吧,shell要会吧。

找特征

数据观察下来发现了问题,现在要找特征了,要找特征,也就是找什么因素导致销量上不去的,首先,需要想象力,然后去验证你的想象力。

小明的想象力爆棚,即便这样,也搞了一个月才发现这些个商品有个共同特征,那就是图片都比较烂,让人一看就不想点。卧槽,要是能把图片质量加入到排序因素里面的话,是不是有奇效呢?图片质量作为特征,这之前可没人做过,终于找到一个特征了。

所以在这一阶段,毕竟大家的想象力都是有限的,更多的是经验值,才能找到符合当前场景的特征。

设计算法

特征是找到了,但怎么把这个特征加到排序模型里面去呢?图片好不好,有多好,这些机器怎么理解呢?如果不能把图片质量变成一个数学上的向量,那永远都无法加入到排序模型里面去。

这一阶段是真正考验算法工程师的地方了,那就是将特征向量化,小明观察到越好看的图像往往颜色变化更多,而质量差的图片往往颜色没什么变化,于是他想到一种办法,先把图像数据进行傅里叶变换,变成频域的数据,根据傅里叶变换的性质,高频部分的幅度高表示图像的颜色变化很明显,如果低频部分高,表示颜色变化不明显,这和观察到的图像信息基本能匹配上,这样一副图像的好坏,就可以用傅里叶变换后高频部分的幅度表示了,然后在做一些归一化的变化,就把图像向量化了,向量化以后就可以加入到排序模型去了。

这一步,你可能会用到你学习的机器学习模型,但肯定只占了一小部分,大部分情况需要你根据当前场景自己建立一个数学模型,而不是机器学习模型,你说这一阶段需要什么技能?虽然我这里举的例子比较极端,但是数学抽象能力,数学建模能力和数学工具的熟练使用是必不可少的,并且同样需要较强的编程能力,这已不是上一步的脚本能力,是实打实的计算机算法编程能力了。

算法验证

算法是设计好了,还要设计一个算法的离线验证方法来证明给你的老大看说我的算法是有效果的,不然哪那么多机会让你到线上去试啊,这一步也是各种综合能力的组合,关键是在这一步上,你要用一种通俗的语言从理论上说服你的老大,这是一种什么能力?强大的语言表达能力。

除了这个你还需要设计出一个上线以后的AB测试方案,能够很好的测试出你的算法是否真的有效。

洗数据

特征找到了,算法也设计得差不多能体现特征了,体力活来了,那就是洗数据,这是算法工程师的必修课,数据不是你想要什么样子他就长得什么样子的,所以要把数据变成你想要的样子,然后去掉无效的数据可是个体力活。

像上面这个例子,首先可能大家的图片大小都不一样,要变成一个尺寸才好进行变换,有些商品有多个图片,可能需要找出质量最好的再处理等等等等。

这一阶段首先也是要脚本语言处理能力,而且还需要掌握一些数据处理工具的使用,关键还要有足够的耐性和信心,当然,必不可少的是优秀的编程能力。

工程化

好了,前面的坑你全跨过来了,到了这一步了,呵呵,算法设计完了,数据也准备好了,估计半年过去了,那赶快放到线上去吧,你以为拿着一堆脚本就能上线了啊,得考虑工程化了,如果把你的算法嵌入到原有系统中,如果保证你的算法的效率,别一跑跑一天,代码的健壮性也要考虑啊,如果是在线算法,还得考虑性能,别把内存干没了。

这一步,你才真正的用上了你上面学的机器学习的hadoop,spark工具,看了上面说的,要完成工程化这一步,得有什么能力不用我说了吧,这是一个标准的软件开发工程师的必要技能,还是高级开发工程师哦。

上线看效果

所有的都做完了,前前后后10个月了,终于可以上线了,好了,真正的考验来了,看看上线的效果呗,产品经理说,做个AB测试吧,结果呵呵了,点击率降低了,小明啊!这10个月忙活下来点击率还下降了???老板还不把你骂死,所以,你必须有强大的抗打击能力。

呵呵,赶快下线吧,从头看看哪里出了问题,又花了一个月修改了算法,重新上线,恩,这次不错,点击率提高了0.2个百分点,继续努力吧,看看还有没有什么可以挖掘的,于是,你就goto到了看数据的那一步。

别看这0.2,大的数据集合下,提高0.2已经是非常不错的提高了,所以花这么多钱,养算法工程师,要是一年能出几次0.2,那就是真值了。

让我们总结一下

上面这么多的过程,靠一个人全部完成确实有点困难,我说的有点夸张,中间有些步骤是有人配合的,观察数据的时候有产品经理配合你,洗数据的时候有数据工程师配合你,工程化的时候有系统工程师配合你,但是作为机器学习的算法工程师,整个过程你都得能hold得住啊,所以即便是你一个人应该也要能完成整个流程才行。

这只是一个标准的算法工程师应该具备的能力,当然我这里是以搜索算法举例的,其他的算法工程师也差不太多,总跑不过上面几个过程,当然,你要是牛人,能根据场景修改这个机器学习的模型,甚至自己能想个模型,那就更厉害了。

好,我们把上面的重点标记的部分取出来汇总一下,让我们看看一个算法工程师需要具备哪些技能:

  • 数据敏感性,观察力
  • 数学抽象能力,数学建模能力和数学工具的熟练使用的能力
  • 能随手编脚本代码的能力,强大的计算机算法编程能力,高级开发工程师的素质
  • 想象力,耐性和信心,较强的语言表达能力,抗打击能力
  • 然后,还有很关键的一点,你需要很聪明。

当然,你如果能做到以上那么几点,基本上也会很聪明了,如果真能做到这样,反而那些机器学习的模型,理论和工具就显得不那么重要了,因为那些也只是知识和工具,随时都可以学嘛。

你说,这些是靠看几篇博客,看几本书,上几次课就能具备的么??

当然,我们这里讨论的是一般情况,如果你一心就是做研究的话,那么需要把上述技能熟练度再提高一个量级。

最后,正在学习机器学习,励志做算法工程师的你,准备好踏这些坑了么??

很多的工程师都想转行到这个岗位。本文根据 Coursera 上面的课程,列了一个从新手到专业工程师的学习计划,提供给大家学习。以下是具体的学习路径:

以下课程均有课程链接

https://www.jianshu.com/p/32b21d32663c

机器学习工程师必修课(6门课程)

  • 课程 1:Algorithmic Toolbox(共35小时)
  • 课程 2:Data Structures(共35小时)
  • 课程 3:Algorithms on Graphs(共20小时)
  • 课程 4:Algorithms on Strings(共23小时)
  • 课程 5:Advanced Algorithms and Complexity(共43小时)
  • 课程 6:Genome Assembly Programming Challenge(共19小时)

初级机器学习工程师(6门课程)

  • 课程 1 :Machine Learning(共45小时)
  • 课程 2 :Introduction to Data Science in Python(共21小时)
  • 课程 3 :Applied Plotting, Charting & Data Representation in Python(共15小时)
  • 课程 4 :Applied Machine Learning in Python(共22小时)
  • 课程 5 :Applied Text Mining in Python(共16小时)
  • 课程 6 :Applied Social Network Analysis in Python(共17小时)

中级机器学习工程师(4门课程)

  • 课程 1 :Machine Learning Foundations: A Case Study Approach(共21小时)
  • 课程 2 :Machine Learning: Regression(共26小时)
  • 课程 3 :Machine Learning: Classification(共23小时)
  • 课程 4 :Machine Learning: Clustering & Retrieval(共21小时)

高级机器学习工程师(3门课程)

  • 课程 1 :Neural Networks and Deep Learning(共5小时)
  • 课程 2 :Improving Deep Neural Networks(共5小时)
  • 课程 3 :Structuring Machine Learning Projects(共5小时)

本文来自 微信公众号 datadw 【大数据挖掘DT数据分析

机器学习工程师方向选择(12门课程)

  • 课程 1 :Google Cloud Platform Big Data and Machine Learning Fundamentals(共8小时)
  • 课程 2 :Leveraging Unstructured Data with Cloud Dataproc on Google Cloud Platform(共5小时)
  • 课程 3 :Serverless Data Analysis with Google BigQuery and Cloud Dataflow(共6小时)
  • 课程 4 :Serverless Machine Learning with Tensorflow on Google Cloud Platform(共8小时)
  • 课程 5 :Building Resilient Streaming Systems on Google Cloud Platform(共5小时)
  • 课程 6 :Introduction to Recommender Systems: Non-Personalized and Content-Based(共14小时)
  • 课程 7 :Nearest Neighbor Collaborative Filtering(共11小时)
  • 课程 8 :Recommender Systems: Evaluation and Metrics(共8小时)
  • 课程 9 :Matrix Factorization and Advanced Techniques(共7小时)
  • 课程 10 :Probabilistic Graphical Models 1: Representation(共27小时)
  • 课程 11 :Probabilistic Graphical Models 2: Inference(共22小时)
  • 课程 12 :Probabilistic Graphical Models 3: Learning(共22小时)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-03-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据挖掘DT数据分析 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
CV环境很重要!!各种环境搭建大全
二月已经不知不觉过去了一大半,新年的开工部分同学估计也过去一周了吧。下周二貌似元宵节,在此“计算机视觉战队”祝大家元宵节快乐,接下来的”猪“年财源滚滚、科研硕果累累、实现自己的目标!
计算机视觉研究院
2019/03/07
5660
CV环境很重要!!各种环境搭建大全
虚拟机中安装GHO文件配置说明[通俗易懂]
我们知道如何使用虚拟机安装ISO的文件,这个比较简单;但是我们如果安装GHO的文件呢?工作中有的时候需要还原客户环境的系统镜像去寻找问题,这就使用到GHO的文件系统镜像了。那么我们该如何将GHO文件安装到虚拟机呢?表急~~接下来咱们就唠唠。
全栈程序员站长
2022/09/07
6.3K0
虚拟机中安装GHO文件配置说明[通俗易懂]
Linux实时化改造——Redhat/RTAI安装
linux 的硬实时化改造有多种方案,此次给出基于RTAI的方案,后续会陆续给出其他方案细节。
ZC_Robot机器人技术
2020/05/14
3.9K0
Linux实时化改造——Redhat/RTAI安装
黑苹果安装手记(一)
自从苹果的电脑采用了Intel的处理器,苹果的系统被黑客破解之后,能安装在Intel CPU与部分AMD CPU上,从而就出现了一大批非苹果电脑的设备,而使用苹果操作系统的机器。这一类就被称为黑苹果(Hackintosh)。简单的说,就是在非苹果电脑上,安装的苹果系统。
简单并不简单
2019/12/17
4.1K0
黑苹果安装手记(一)
路由器:什么是软路由,看完本篇文章你就懂了!
硬路由:目前我们家里普遍使用的路由器,有厂家提供整体的解决方案,包括处理器、电源供应、嵌入式软件,提供设定的路由器功能。比如常用路由器品牌有TP-Link、华为、H3C等网件等。我们平常所接触的就属于“硬”路由。
小明互联网技术分享社区
2021/07/21
54K0
最新版黑苹果MacOS 10.14 Mojave安装教程
下载链接:https://pan.baidu.com/s/1sk6tYbCZ0riy0I6Vasagwg 提取码:whcw
全栈程序员站长
2022/07/01
5K0
最新版黑苹果MacOS 10.14 Mojave安装教程
Kali Linux + Windows10双系统安装教程
1.kali2.0镜像文件 - 下载地址:https://www.kali.org/downloads/
南山南的杨先生
2019/06/10
9.6K1
虚拟化VMware ESXi 6.7服务器安装配置
vSphere是VNware公司在2001年基于云计算推出的一套企业级虚拟化解决方案、核心组件为ESXi。如今,经历了5个版本的改进,已经实现了虚拟化基础架构、高可用性、集中管理、性能监控等一体化解决方案。
Tinywan
2019/07/16
6K0
虚拟化VMware ESXi 6.7服务器安装配置
黑群晖安装与使用
装过黑苹果的人都知道,装黑苹果时,除了需要准备系统镜像以外,还需要有一个引导U盘。 装黑群晖也是同样的,也需要一个单独的引导U盘。不过装完黑苹果之后可以将引导转移到电脑硬盘上,而黑群晖则需要一直插着引导U盘。 苹果电脑的系统叫做MacOS,微软的叫做Windows,群晖系统则叫做DSM,它是DiskStation Manager的缩写。 黑群晖的系统镜像后缀为.pat,引导文件后缀一般为.img。
全栈程序员站长
2022/08/30
18.2K0
黑群晖安装与使用
在计算机中安装Fedora操作系统
其实在安装过了几个Linux之后,我发现这些安装过程其实大同小异。虽然不同的Linux发行版有着各式各样的界面,操作也不尽相同,但是主要步骤却是一样的:下载镜像,刻录安装盘,启动安装盘,设置分区,安装。下面就来说明一下。
乐百川
2022/05/05
1.4K0
在计算机中安装Fedora操作系统
Ubuntu20.04安装详细图文教程(双系统)[通俗易懂]
最近想把自己开发环境换成linux的,查了一下还是ubuntu桌面比较美观并且作为生产系统生态良好,决定使用ubuntu。开始了着手查找安装Ubuntu双系统的方法。安装有三种:
全栈程序员站长
2022/08/29
18.2K0
Ubuntu20.04安装详细图文教程(双系统)[通俗易懂]
Mini小主机All-in-one搭建教程1-安装Esxi7.0虚拟机系统
最近小主机似乎很火,知名不知名的品牌,都出了各自的小主机。今天主要介绍小主机下搭建教程安装Esxi、Openwrt、群晖NAS、Win11、centos7、黑苹果、Android-x86系统,这戏系统
星哥玩云
2023/10/14
1.8K1
Mini小主机All-in-one搭建教程1-安装Esxi7.0虚拟机系统
使用Ventoy引导安装系统,是时候告别格式化U盘时代了(Windows & Linux)
操作系统(Operating System,简称OS)是管理计算机硬件与软件资源的计算机程序。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。--- 参考百度百科
爱技术的小黄鸭
2023/06/15
2.3K0
使用Ventoy引导安装系统,是时候告别格式化U盘时代了(Windows & Linux)
Windows + Deepin 双系统安装实践
这一周没有怎么写代码,玩弄了一番我的电脑。在不到一周的时间里装了不下于十次系统,这一段时间差点疯掉。不过最终结果还可以。现在电脑上有两个系统,Windows 10 和 Deepin。开机的时候可以进行系统之间的切换。
多云转晴
2019/11/05
8K0
Windows + Deepin 双系统安装实践
UEFI安装win10+manjaro双系统
微软官方 Windows 10 ISO 直接下载网页:https://www.microsoft.com/zh-cn/software-download/windows10ISO
全栈程序员站长
2022/09/07
4.6K0
UEFI安装win10+manjaro双系统
系统安装部署系列教程(一):安装原版系统镜像
版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/u011054333/article/details/89735253
乐百川
2019/07/02
2.2K0
系统安装部署系列教程(一):安装原版系统镜像
win10中安装centos7双系统
开机按F2,进入bios,在boot项中,boot mode为UEFI,则为uefi启动方式。
全栈程序员站长
2022/09/15
2.6K0
win10中安装centos7双系统
【 软路由 】基于koolshare固件的软路由安装
第一次涉及到软路由,一脸懵逼,可以说是一点基础都没有。 系统是有些毛病的win7系统,连外接显示器很卡,导致进度非常缓慢 当时刚刚装了一个Ubuntu双系统,对Linux不是非常熟悉,只知道些基础操作 第一次接触,上官网,官网全英文,看的我一脸懵 网上说可以自定义固件,自己编译,需要从GitHub上自己下载编译,光是这个编译就弄了四五天,因为是连外网,在没有情况下极慢,经常网络开小差 编译的时候需要下载国外的库,自己没有,就很耗时,有时还下载不下来 到了真正编译的时候,一编译编一天,前面都是成功的,到后面就找不到文件,失败,试了两三次后,就放弃了 需要,又开始网上找资料,学着搭 最终,搭好了,我上了Youtube,看了看教程,发现了一个更加好用的固件,koolshare,这是国内的比较出名的论坛,所以,顿时一片云开见月明,打算从安装koolshare入手。
用户6808043
2022/02/24
9.2K0
【 软路由 】基于koolshare固件的软路由安装
Vmware vSphere hypervisor 6.5 安装教程
有vmware账号的,可以直接进入绿色通道登录进行下载,如果没有,可以按照下列步骤选择性操作。
格子Lin
2018/08/27
3K0
Vmware vSphere hypervisor 6.5 安装教程
Linux系统下VCS2016和Verdi_2016的安装教程
首先要说明的是,此处安装的VCS2016和Verdi_2016版本均不支持Linux 4.x以上的内核,否则即使安装成功后也可能无法使用,并且由于Linux发行版之间的差异,在其他系统上进行安装时会有各种各样麻烦的问题(libpng12库依赖问题、/usr/tmp文件夹及权限问题、bash和dash脚本执行问题等),故此处采用CentOS 7系统(省心)。不过该版本的VCS和Verdi也能在Ubuntu16.04系统(非Linux 4.x内核版本?)上安装,Ubuntu下该软件安装教程可以参考:
网络交换FPGA
2019/10/29
11.1K3
Linux系统下VCS2016和Verdi_2016的安装教程
推荐阅读
相关推荐
CV环境很重要!!各种环境搭建大全
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档