一亩三分地

 找回密码 注册账号

扫描二维码登录本站


码农求职神器Triplebyte
不用海投
内推多家公司面试

Total Comp Calculator
输入offer信息
系统自动计算每年收入

科技公司如何
用数据分析驱动产品开发
coupon code 250off 立减$250

深入浅出AB Test
从入门到精通
coupon code 250off 立减$250
游戏初创公司招聘工程师、UIUX Designer和游戏策划
坐标湾区
DreamCraft创始团队
招聘游戏开发工程师
查看: 10560|回复: 44
收起左侧

机器学习`侠`练成记录 Becoming a Machine Learning Practitioner

    [复制链接] |试试Instant~
我的人缘8

分享帖子到朋友圈
K姐 | 显示全部楼层 |阅读模式
本楼: 👍   100% (18)
 
 
0% (0)   👎
全局: 👍   95% (6435)
 
 
4% (275)    👎

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?注册账号

x
Becoming a Machine Learning Practitioner
为什么叫机器学习`侠`,是`调包侠`, `调参侠`的梗


                               
登录/注册后可看大图

上图来自Google 2015的论文,图片里面很小的黑色矩形是ML算法,其他部分是围绕算法的很多其他成分。

业界做ML,当然有算法的成分,有些公司也有很高深的算法(比如Google),但是工程的成分其实经常会远远,远远的多于算法,在一个激灵想出来的算法能真正落地给业务产生impact之前,有大量的工程方面的设计和考虑。好的大公司也在纷纷构建自家的机器学习平台让ML的投产变得更容易。

但是这些需求在学校ML课程里面很少被提及,给人的印象就是,做ML就是“调包,调参”。但是实际工作里面调包和调参的时间比例可能也就10-20%...


为什么发这篇帖子,也是来自于之前一直在DS领域总结学习,希望持续分享自己学习的历程,求讨论
Why this post
It’s an opinionated list of core skills that I found useful in the daily work of a machine learning practitioner, in the tech industry. I am not a researcher and am not interested in becoming one, so the list does not go in depth into any active research domain.  
需要强调的是,我不是做ML科研的,也不想做科研,所以本文就是于业界做ML的大家交流讨论,并不打算深入任何科研领域,请做科研的大牛轻拍。


I’ll be maintaining this list just as I maintained the learning path for Data Science in the past here https://www.1point3acres.com/bbs/forum.php?mod=viewthread&tid=76429&extra=&page=1.
It’s not meant to be exhaustive, and we probably don’t need to know them all.
另外这篇内容也并不会多完备。机器学习领域大牛很多,领域很广,应用更是广阔到难以尽数,所以不求尽善尽美,只是抛砖引玉,求交流学习。
Suggestions/discussions welcome.  


本文适合什么人
## 0. Who is this for

This is a practitioner’s approach. Researchers: This post is not for you. 不是给ML方向做研究的人;牛人路过就好,不喜勿进。



## 1. CS Fundamentals 计算机基础
Design and analysis of algorithms( Coursera Part 1, Coursera Part 2

                               
登录/注册后可看大图


Operating System (Book: Modern Operating Systems)

                               
登录/注册后可看大图



## 2. Programming languages 编程语言
为什么与上一节计算机基础分开来说:因为老是遇到同学说我会numpy啊为什么你说我基础不行。。。。实际上是可以在不太懂基础的情况下楞刷题,或者写些基本能用的代码的。但是稍微深一点的地方会感觉基础知识的缺乏会让人难以在ML道路上上升到一定高度。

Must have :Python, Java
必须一门Python(因为ML好多framework就是python),和一门compiled language.
仅仅只会python,作为scientist是够了,作为engineer就会有显著差距。

Good to have: C++ 不一定是必须的。但是如果做的工作对速度有比较强的要求,那还是需要会C++的

Will likely encounter at work: scala/go/js 这些看每家tech stack不一样,会有不同涉及。遇到了再学即可。

Will likely encounter in academic settings: Matlab/Octave, R, Julia 这些是学校里面用的多,我至今(2018年底)没看见公司里面用julia的。

## 3. Math Fundamentals 数学和统计基础
Linear algebra 线性代数,必须的
Calculus 这个大家应该都上过
Optimization 优化:必须的
Statistics 基础统计(不是概率论 which is also good to have,这里是特指统计)

(real analysis and functional analysis might be useful, but is not required)
有空的话学实分析和泛函也可以,但是不是必须的

## 4. Machine Learning, from intro to advanced
这部分稍微区分一下从入门到进阶


### 4a. Intro 入门
- 这门课可能没有人不知道了  Introductiont to Machine Learning by Andrew Ng
- 这本书是ESL的简单版,作为直觉培养和思路练成,仍然是不错的,但是那里面的编程就很轻很轻了,真的只够本科生用 Very light but still a good book: an introduction to statistical learning

                               
登录/注册后可看大图


- 深度学习,也是Ng这课来入门还是不错的
- 另外个人比较喜欢Udacity的第一门旗舰课程讲AI的,基于斯坦福的一门本科生课程。会稍微设计一点比前几门入门课更宽广的概念,虽然很浅但是对了解domain很有好处。

### 4b. Advanced 进阶
- 前面几门主要还是supervised learning,下面这门稍微宽广一点,并不完全是ML,但是也是因此感觉对知识面和落地有帮助
Data mining & other topics: Mining Massive Data Sets http://web.stanford.edu/class/cs246/

                               
登录/注册后可看大图



- 这门课可惜没有录像,关于实战的部分讲的还是不错的,而且是其他课程都没有涉及到,但是工作里面的确需要的部分

- Book:
经典ESL 不必多说,统计角度 Elements of Statistical Learning

                               
登录/注册后可看大图

经典不必多说,CS角度 Pattern Recognition and Machine Learning

                               
登录/注册后可看大图


- 下面看几个应用大方向

- Info retrieval & search engine 信息提取和搜索
Some intro here:


- Recommender systems 推荐系统


                               
登录/注册后可看大图

                               
登录/注册后可看大图

- Image: 图像识别,如今主要就是CNN了



- NLP 自然语言处理
others to be added
NLU 暂时不知道哪里有比较好的课

- Reinforcement Learning, Deep Reinforcement Learning 加强学习
(book and course TBD)



- Lots more stuff in DL here

经典课本(但是我觉得读起来还是蛮晦涩。。。不知道我是不是一个人)Deep learning book by Ian Goodfellow and Yoshua Bengio

                               
登录/注册后可看大图



之前学DL的时候的一些收集  看这里


### 4c. Frameworks
非深度学习,最常用的肯定就是 General ML framework: sci-kit-learn

                               
登录/注册后可看大图

深度学习的目前很多了 DL: Tensorflow(Keras), Caffe, Pytorch(Caffe2)

                               
登录/注册后可看大图

                               
登录/注册后可看大图

TF的看狗家自己的内容,或者Ng那个课;Pytorch的看fast.ai
Up & coming 或者已经下去了的: theano, MXnet, dl4j

## 5. Scaling considerations: Big data, distributed systems etc 数据量大了面临的问题
做小数据ML(笔记本上跑跑regression or classification,产生个报告给别人看)严格来说算不上ML,其实主要只能算是modeling(统计建模)
high dimensional data 是另外一个故事,这里先按下不提。

只说业界,面试会考系统设计的地方,需要用到的机器学习系统:

从最最小白的地方看起:(非科班同学不妨看看,科班的可以绕过)
This blog post: thorough intro to distributed systems
And this

System Design: 虽然这个是准备面试用的,但是作为大致入门也是差不多了
Grokking system design interview (for brushing up fundamentals and case studies)

DDIA 堪称经典 Book Designing Data Intensive Applications : for an in-depth look, refer back to fundamental knowledge in OS

                               
登录/注册后可看大图

Distributed OLTP and OLAP


## 6. ML Systems & Platforms 机器学习系统和平台

- 这门课还是可惜没有录像只有slides
Adv ML systems (Cornell, slides only)

- Book: 这本书我也只有翻过,还不知道到底多好

                               
登录/注册后可看大图

- NIPS2018: to find some talks http://learningsys.org/nips18/schedule.html

### ML Systems 什么是机器学习系统
- Prod ML, paper 1 (tech debt) https://ai.google/research/pubs/pub43146,
- tbd

### ML Platforms 机器学习平台
- Google:

                               
登录/注册后可看大图

- Facebook:

                               
登录/注册后可看大图

- Uber:
深度学习 Horovod https://eng.uber.com/horovod/

                               
登录/注册后可看大图


                               
登录/注册后可看大图

- Airbnb:
居然缺logo

                               
登录/注册后可看大图


另外这个podcast很不错,建议不要错过
Podcast TwimlAI is featuring a lot of these systems lately, a fantastic listen
https://twimlai.com/shows/

其他还有 Amazon, Netflix etc, ...








评分

参与人数 43大米 +129 收起 理由
pilotca + 1 欢迎分享你知道的情况,会给更多积分奖励!
JoanZhang + 1 谢谢!
Harue_Go + 2 给你点个赞!
xuantong + 2 给你点个赞!
martinma + 2 给你点个赞!
PZachary + 2 很有用的信息!
nonce + 2 很有用的信息!
helloferry + 2 很有用的信息!
new_wing + 1 谢谢分享!
edenxyd + 1 赞一个

查看全部评分

本帖被以下淘专辑推荐:

我的人缘8
 楼主| K姐 2019-1-9 09:15:13 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   95% (6435)
 
 
4% (275)    👎
MIT,和无人车的内容统一更新在这一楼

good stuff here:
https://deeplearning.mit.edu/
lots of practitioner's talk on actual, industry scale systems that's hard to find elsewhere

无人车
Part of MIT course, self driving car (slightly out of date but still good stuff)https://ocw.mit.edu/resources/re ... 5/unit-8.-robotics/

Here's a 2017 talk by Cruise,
https://www.youtube.com/watch?v=s-8cYj_eh8E

百度 Apollohttps://www.youtube.com/watch?v=jiZhSIrmODk

2019 MIT 的最新总结
https://www.youtube.com/watch?v=53YvP6gdD7U


回复

使用道具 举报

我的人缘0
BreeKKK 2019-1-23 16:24:55 | 显示全部楼层
本楼: 👍   100% (2)
 
 
0% (0)   👎
全局: 👍   97% (46)
 
 
2% (1)    👎
这个帖子很棒!市场上很多资料聚焦在模型,其实实际的ML系统中model training只是很小的一块,大量的精力花在不fancy的infra上。最近在搭新的ML系统,postgres, mongoDB, S3, 类似于Kafka的RabbitMQ, 公司内部的各个平台的服务,不同部件都要一一用gRPC链接起来,deploy的时候也要用到docker, kubernetes, jenkins, etc, 远远超越了原来DS的知识范畴,很需要小K这个list来不断地补充知识。


----------------

所有有时真的会想,这么辛苦地做硬核ML,和舒舒服服地走business impact的analysis路线比起来,真的更有价值吗?哪个会是职业上更加sustainable的发展方向?怎么判断哪个更适合自己?
回复

使用道具 举报

我的人缘8
 楼主| K姐 2019-1-24 15:27:50 | 显示全部楼层
本楼: 👍   100% (1)
 
 
0% (0)   👎
全局: 👍   95% (6435)
 
 
4% (275)    👎
大家不要焦虑的往外扔各种流行的名字(也是说给我自己听的)
抓问题要抓本质。。。。 start from a higher abstraction level, and you will generalize your learning better....
同一个问题下面的实现方案可以有很多种,基本都大同小异,名字太多了,但是原理可能也就 a handful
更不用说很多方法其实已经基本有了clear winner,先学那个winner再看其他,会容易很多 (e.g. docker and k8s)

我自己也是从中不溜的地方开始学起的,感觉浪费时间,还不如直接从fundamentals开始
然后才能理解
compute
storage
stream
batch
这类东西里面各种技术的精妙和差别,不然猛一看就是一堆新名词。。。。

ML算法的难度是“深”和“广”,但是知识被总结的很清楚,被梳理的顺顺溜溜的,只需要去伸手拿来即可。有各大名校名师的公开课,所以只要有心去学并且有基础数学和基础代码能力,自学ML其实真的比较doable....

系统那一套东西却是“广”的要命,很多事情要看经验,资料没有那么通俗易懂和铺天盖地,需要仔细去找。有高人指点会事倍功半,自学还真的不是特别容易。

=======================
这种东西,一定要看兴趣。强按着脖子是不行的。。。。

评分

参与人数 1大米 +3 收起 理由
BreeKKK + 3 给你点个赞!

查看全部评分

回复

使用道具 举报

我的人缘0
moernongdu 2019-1-7 05:07:34 | 显示全部楼层
本楼: 👍   100% (1)
 
 
0% (0)   👎
全局: 👍   95% (23)
 
 
4% (1)    👎
关于 - Reinforcement Learning, Deep Reinforcement Learning 加强学习
(book and course TBD)
我贡献一个素材 Deepmind (就是搞alpha狗)的课程
https://www.youtube.com/playlist?list=PLqYmG7hTraZDNJre23vqCGIVpfZ_K2RZs

回复

使用道具 举报

我的人缘0
llj20dd 2019-1-1 02:12:57 | 显示全部楼层
本楼: 👍   100% (1)
 
 
0% (0)   👎
全局: 👍   100% (2)
 
 
0% (0)    👎
十分感谢,正准备从DA转到偏ML方向!共同进步!
回复

使用道具 举报

我的人缘0
yangyijane 2018-12-13 02:35:55 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (1)
 
 
0% (0)    👎
很喜欢会一直跟下去的。
回复

使用道具 举报

我的人缘8
 楼主| K姐 2018-12-16 09:08:11 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   95% (6435)
 
 
4% (275)    👎
### 顺手的工具们
Docker https://www.docker.com/
Kubernetes https://kubernetes.io/ Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. 目前(end 2018)看起来是同类产品里面完全胜出的那个。
目前(end of 2018) AWS和GCP里面用一种就差不多了。AWS 市场占有比例更高

评分

参与人数 1大米 +5 收起 理由
DL + 5 很有用的信息!

查看全部评分

回复

使用道具 举报

我的人缘0
happydreamer 2018-12-19 00:27:49 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   97% (36)
 
 
2% (1)    👎
Great, thanks!
回复

使用道具 举报

我的人缘0
sunson55 2018-12-19 11:09:51 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (1)
 
 
0% (0)    👎
好详细实用,多谢楼主。
回复

使用道具 举报

我的人缘8
 楼主| K姐 2018-12-19 15:24:35 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   95% (6435)
 
 
4% (275)    👎
Kubeflow https://www.infoworld.com/article/3301549/kubernetes/kubeflow-brings-kubernetes-to-machine-learning-workloads.html

actually quite a lot of other talks at this SciPy 2018 conf is very good, especially good for a general overview on the kind of problem out there, and showing at least one of the solutions out there.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法 - 不要多加空格: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

手机版||一亩三分地

GMT+8, 2019-8-19 11:24

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表