diff --git a/README-zh-CN.md b/README-zh-CN.md index b7ace54..de985e1 100644 --- a/README-zh-CN.md +++ b/README-zh-CN.md @@ -1,89 +1,8 @@ -# 自上而下的学习路线: 软件工程师的机器学习 - - -灵感来源于 [谷歌面试学习手册](https://github.com/jwasham/coding-interview-university/blob/master/translations/README-cn.md) - - -> * 原文地址:[Machine Learning for Software Engineers](https://github.com/ZuzooVn/machine-learning-for-software-engineers) -> * 原文作者:[ZuzooVn(Nam Vu)](https://github.com/ZuzooVn) -> * 翻译:[lsvih](https://github.com/lsvih) - - -## 这是? - -这是本人为期数月的学习计划。我正要从一名移动端软件开发者(自学,无计科文凭)转型成为一名机器学习工程师。 - -我的主要目标是找到一种以实践为主的学习方法,并为初学者抽象掉大多数的数学概念。 -这种学习方法是非传统的,因为它是专门为软件工程师所设计的自上而下、以结果为导向的学习方法。 - -如果您想让它更好的话,随时欢迎您的贡献。 - ---- - -## 目录 - -- [这是?](#这是) -- [为何要用到它?](#为何要用到它) -- [如何使用它?](#如何使用它) -- [Follow me](#follow-me) -- [别认为自己不够聪明](#别认为自己不够聪明) -- [关于视频资源](#关于视频资源) -- [预备知识](#预备知识) -- [每日计划](#每日计划) -- [动机](#动机) -- [机器学习概论](#机器学习概论) -- [掌握机器学习](#掌握机器学习) -- [有趣的机器学习](#有趣的机器学习) -- [机器学习简介](#机器学习简介) -- [一本深入的机器学习指南](#一本深入的机器学习指南) -- [故事与经验](#故事与经验) -- [机器学习算法](#机器学习算法) -- [入门书籍](#入门书籍) -- [实用书籍](#实用书籍) -- [Kaggle知识竞赛](#kaggle知识竞赛) -- [系列视频](#系列视频) -- [MOOC](#mooc) -- [资源](#资源) -- [成为一名开源贡献者](#成为一名开源贡献者) -- [游戏](#游戏) -- [播客](#播客) -- [社区](#社区) -- [相关会议](#相关会议) -- [面试问题](#面试问题) -- [我崇拜的公司](#我崇拜的公司) - ---- - -## 为何要用到它? - -我会为了我未来的工作————机器学习工程师 遵循这份计划。自2011年以来,我一直进行着移动端应用的开发(包括安卓、iOS与黑莓)。我有软件工程的文凭,但没有计算机科学的文凭。我仅仅在大学的时候学习过一点基础科学,包括微积分、线性代数、离散数学、概率论与统计。 -我认真思考过我在机器学习方面的兴趣: -- [我能在没有计科硕士、博士文凭的情况下找到一份关于机器学习的工作吗?](https://www.quora.com/Can-I-learn-and-get-a-job-in-Machine-Learning-without-studying-CS-Master-and-PhD) - - *"你当然可以,但是我想进入这个领域则无比艰难。"* [Drac Smith](https://www.quora.com/Can-I-learn-and-get-a-job-in-Machine-Learning-without-studying-CS-Master-and-PhD/answer/Drac-Smith?srid=oT0p) -- [我是一名软件工程师,我自学了机器学习,我如何在没有相关经验的情况下找到一份关于机器学习的工作?](https://www.quora.com/How-do-I-get-a-job-in-Machine-Learning-as-a-software-programmer-who-self-studies-Machine-Learning-but-never-has-a-chance-to-use-it-at-work) - - *"我正在为我的团队招聘机器学习专家,但你的MOOC并不会给你带来工作机会。事实上,大多数机器学习方向的硕士也并不会得到工作机会,因为他们(与大多数上过MOOC的人一样)并没有深入地去理解。他们都没法帮助我的团队解决问题。"* [Ross C. Taylor](https://www.quora.com/How-do-I-get-a-job-in-Machine-Learning-as-a-software-programmer-who-self-studies-Machine-Learning-but-never-has-a-chance-to-use-it-at-work/answer/Ross-C-Taylor?srid=oT0p) -- [找一份机器学习相关的工作需要掌握怎样的技能?](http://programmers.stackexchange.com/questions/79476/what-skills-are-needed-for-machine-learning-jobs) - - *"首先,你得有正儿八经的计科或数学专业背景。ML是一个比较先进的课题,大多数的教材都会直接默认你有以上背景。其次,机器学习是一个集成了许多子专业的奇技淫巧的课题,你甚至会想看看MS的机器学习课程,去看看他们的授课、课程和教材。"* [Uri](http://softwareengineering.stackexchange.com/a/79717) - - *"统计,假设,分布式计算,然后继续统计。"* [Hydrangea](http://softwareengineering.stackexchange.com/a/79575) - -我深陷困境。 - -据我所知, [机器学习有两个方向](http://machinelearningmastery.com/programmers-can-get-into-machine-learning/): -- 实用机器学习: 这个方向主要是查询数据库、数据清洗、写脚本来转化数据,把算法和库结合起来再加上一些定制化的代码,从数据中挤出一些准确的答案来证明一些困难且模糊不清的问题。实际上它非常混乱。 -- 理论机器学习: 这个方向主要是关于数学、抽象、理想状况、极限条件、典型例子以及一切可能的特征。这个方向十分的干净、整洁,远离混乱的现实。 - -我认为对于以实践为主的人来说,做好的方法就是 [“练习--学习--练习”](http://machinelearningmastery.com/machine-learning-for-programmers/#comment-358985),这意味着每个学生一开始就能参与一些现有项目与一些问题,并练习(解决)它们以熟悉传统的方法是怎么做的。在有了一些简单的练习经验之后,他们就可以开始钻进书里去学习理论知识。这些理论知识将帮助他们在将来进行更进一步的训练,充实他们解决实际问题的工具箱。学习理论知识还会加深他们对那些简单练习的理解,帮助他们更快地获得进阶的经验。 - -这是一个很长的计划,它花去了我一年的时间。如果你已经对它有所了解了,它将会让你省去很多时间。 - +# 哲学 ## 如何使用它? 以下的内容全部是概要,你需要从上往下来解决这些项目。 -我使用的是Github独特的flavored markdown的任务列表来检查我计划的进展。 - -- [x] 创建一个新的分支,然后你可以这样来标出你已经完成的项目,只需要在框中填写一个x即可:[x] - -[了解更多有关 Github-flavored markdown的知识](https://guides.github.com/features/mastering-markdown/#GitHub-flavored-markdown) +用x标出你完成的项目 ## Follow me 我是一名非常非常想去美国工作的越南软件工程师。 @@ -92,51 +11,13 @@ 我已经在实现梦想的旅途中了。 -- Twitter: [@Nam Vu](https://twitter.com/zuzoovn) - -| ![Nam Vu - Top-down learning path: machine learning for software engineers](http://sv1.upsieutoc.com/2016/10/08/331f241c8da44d0c43e9324d55440db6.md.jpg)| -|:---:| -| USA as heck | - -## 别认为自己不够聪明 -当我打开书本,发现他们告诉我多元微积分、统计与推理、线性代数是学习机器学习的先决条件的时候,我非常沮丧。因为我不知道从哪儿开始… - -- [我数学不好怎么办](http://machinelearningmastery.com/what-if-im-not-good-at-mathematics/) -- [没有数学专业背景而理解机器学习算法的5种技巧](http://machinelearningmastery.com/techniques-to-understand-machine-learning-algorithms-without-the-background-in-mathematics/) -- [我是如何学习机器学习的?](https://www.quora.com/Machine-Learning/How-do-I-learn-machine-learning-1) - -## 关于视频资源 - -部分视频只有在Coursera、EdX的课程注册了才能观看。虽然它们是免费的,但有些时间段这些课程并不开放,你可能需要等上一段时间(可能是好几个月)。我将会加上更多的公开的视频源来代替这些在线课程的视频。我很喜欢大学的讲座。 - -## 预备知识 - -这个小章节是一些在每日计划开始前我想去了解的一些预备知识与一些有趣的信息。 - -- [ ] [Data Analytics,Data Analysis,数据挖掘,数据科学,机器学习,大数据的区别是什么?](https://www.quora.com/What-is-the-difference-between-Data-Analytics-Data-Analysis-Data-Mining-Data-Science-Machine-Learning-and-Big-Data-1) -- [ ] [学习如何去学习](https://www.coursera.org/learn/learning-how-to-learn) -- [ ] [不要斩断锁链](http://lifehacker.com/281626/jerry-seinfelds-productivity-secret) -- [ ] [如何自学](https://metacademy.org/roadmaps/rgrosse/learn_on_your_own) - ## 每日计划 每个主题都不需要用一整天来完全理解它们,你可以每天完成它们中的多个。 -每天我都会从下面的列表中选一个出来,一遍又一遍的读,做笔记,练习,用Python或R语言实现它。 - -# 动机 -- [ ] [梦](https://www.youtube.com/watch?v=g-jwWYX7Jlo) - -## 机器学习概论 -- [ ] [形象的机器学习简介](http://www.r2d3.us/visual-intro-to-machine-learning-part-1/) -- [ ] [一份温柔的机器学习指南](https://blog.monkeylearn.com/a-gentle-guide-to-machine-learning/) -- [ ] [为开发者准备的机器学习简介](http://blog.algorithmia.com/introduction-machine-learning-developers/) -- [ ] [菜鸟的机器学习基础](https://www.analyticsvidhya.com/blog/2015/06/machine-learning-basics/) -- [ ] [你如何向非计算机专业的人来解释机器学习与数据挖掘?](https://www.quora.com/How-do-you-explain-Machine-Learning-and-Data-Mining-to-non-Computer-Science-people) -- [ ] [在罩子下的机器学习,博文简单明了地介绍了机器学习的原理](https://georgemdallas.wordpress.com/2013/06/11/big-data-data-mining-and-machine-learning-under-the-hood/) -- [ ] [机器学习是什么?它是如何工作的呢?](https://www.youtube.com/watch?v=elojMnjn4kk&list=PL5-da3qGB5ICeMbQuqbbCOQWcS6OYBr5A&index=1) -- [ ] [深度学习——一份非技术性的简介](http://www.slideshare.net/AlfredPong1/deep-learning-a-nontechnical-introduction-69385936) +每天我都会从下面的列表中选一个出来,一遍又一遍的读,做笔记,练习,**用Python或R语言实现它**。 +# list ## 掌握机器学习 - [ ] [掌握机器学习的方法](http://machinelearningmastery.com/machine-learning-mastery-method/) - [ ] [程序员的机器学习](http://machinelearningmastery.com/machine-learning-for-programmers/) @@ -154,10 +35,6 @@ - [ ] [Part 7: 使用生成式对抗网络创造 8 像素艺术](https://medium.com/@ageitgey/abusing-generative-adversarial-networks-to-make-8-bit-pixel-art-e45d9b96cee7) - [ ] [Part 8: 如何故意欺骗神经网络](https://medium.com/@ageitgey/machine-learning-is-fun-part-8-how-to-intentionally-trick-neural-networks-b55da32b7196) -## [机器学习简介](https://triskell.github.io/2016/11/15/Inky-Machine-Learning.html)(用手指沾上墨水来书写机器学习简介) -- [ ] [Part 1 : 什么是机器学习?](https://triskell.github.io/2016/10/23/What-is-Machine-Learning.html) -- [ ] [Part 2 : 监督学习与非监督学习](https://triskell.github.io/2016/11/13/Supervised-Learning-and-Unsupervised-Learning.html) - ## 一本深入的机器学习指南 - [ ] [概述,目标,学习类型和算法](http://www.innoarchitech.com/machine-learning-an-in-depth-non-technical-guide/) - [ ] [数据的选择,准备与建模](http://www.innoarchitech.com/machine-learning-an-in-depth-non-technical-guide-part-2/) @@ -188,11 +65,6 @@ - [ ] [比较监督学习算法](http://www.dataschool.io/comparing-supervised-learning-algorithms/) - [收集的最简化、可执行的机器学习算法](https://github.com/rushter/MLAlgorithms) -## 入门书籍 -- [ ] [《Data Smart: Using Data Science to Transform Information into Insight》第 1 版](https://www.amazon.com/Data-Smart-Science-Transform-Information/dp/111866146X) -- [ ] [《Data Science for Business: What you need to know about data mining and data analytic-thinking》](https://www.amazon.com/Data-Science-Business-Data-Analytic-Thinking/dp/1449361323/) -- [ ] [《Predictive Analytics: The Power to Predict Who Will Click, Buy, Lie, or Die》](https://www.amazon.com/Predictive-Analytics-Power-Predict-Click/dp/1118356853) - ## 实用书籍 - [ ] [Hacker 的机器学习](https://www.amazon.com/Machine-Learning-Hackers-Drew-Conway/dp/1449303714) - [GitHub repository(R)](https://github.com/johnmyleswhite/ML_for_Hackers) @@ -238,6 +110,7 @@ - [ ] [一个初学者如何用一个小项目在机器学习入门并在Kaggle竞争](http://machinelearningmastery.com/how-a-beginner-used-small-projects-to-get-started-in-machine-learning-and-compete-on-kaggle) - [ ] [如何竞争Kaggle的Master](http://machinelearningmastery.com/master-kaggle-by-competing-consistently/) +# 资源 ## 系列视频 - [ ] [Machine Learning for Hackers](https://www.youtube.com/playlist?list=PL2-dafEMk2A4ut2pyv0fSIXqOzXtBGkLj) - [ ] [Fresh Machine Learning](https://www.youtube.com/playlist?list=PL2-dafEMk2A6Kc7pV6gHH-apBFxwFjKeY)