机器学习简易入门-附推荐学习资料

目录

(1)机器学习正规学习路线

(2)机器学习快速入门

(3)总结


感谢黄海广博士的分享

原创: 机器学习初学者 机器学习初学者 今天

机器学习如何入门?目前没有明确的答案。本站面向广大初学者,推荐下机器学习(含深度学习)简易入门的路线及学习资料,入门了以后,就会知道自己需要增强哪部分知识了,也会知道找什么资料来学习。

(1)机器学习正规学习路线

如何学好机器学习?正规路线大概是这样的:

1.学好数学基础

数学分析(微积分),线性代数,概率论,统计,应用统计,数值分析,常微分方程,偏微分方程,数值偏微分方程,运筹学,离散数学,随机过程,随机偏微分方程,抽象代数,实变函数,泛函分析,复变函数,数学建模,拓扑,微分几何,渐近分析......

2.学习经典机器学习书和教程

经典书籍:Duda的《模式分类》、Mitchell的《机器学习》、李航的《统计学习方法》、周志华的《机器学习》......

吴恩达:《机器学习》公开课、《深度学习》公开课。

李宏毅:《机器学习基石》、《机器学习技法》。

3.学好编程语言

精通Python、Java、R、MATLAB、C++等编程语言。

4.阅读论文

学好英语,熟读经典论文,并且读最新的机器学习论文,如顶级会议论文等,掌握最新的技术方向。

5.参加实际项目

如大厂实习、参加Kaggle、天池等数据竞赛......

按照以上路线学完以后,虽然不一定能成为业界大牛,博士毕业完全没有问题了。

 

以上方法存在的问题:

  • 大部分学习者的学习目的不是为了科研,而是希望把机器学习作为工具来使用。

  • 大部分学习者时间有限,学不完这么多资料,不知道如何取舍。

  • 有些资料太难,作者假设学习者有一定的基础,对一些步骤进行了省略,好多初学者看了的感觉是这样的:

其实大部分人学习机器学习的目的,只要会用机器学习算法及工具,解决一些问题,了解算法的基本原理即可,并不需要学得那么深入。上面的学习路线,第一条就劝退了好多人了。没有几个人能像博士一样扎实地学好数学基础,也没有几个人能读完经典著作和热门教程,只是希望快速入门机器学习。

在这种情况下,本站推荐下快速的机器学习入门路线。

(2)机器学习快速入门

1.基础知识

熟悉基本的数学知识,最主要是高等数学线性代数概率论与数理统计三门课程,这三门课程应该是本科必修的,如果真的忘了,那就看下这篇文章:《机器学习的数学基础》,可以把这篇文章提供下载数学资料看一遍,不需要全看懂,但是基础的公式要大致明白,能从资料中查找公式,里面有两个公式总结材料:

1) 机器学习的数学基础.docx

(中文版,对高等数学、线性代数、概率论与数理统计三门课的公式做了总结)

2) 斯坦福大学机器学习的数学基础.pdf

(原版英文材料,非常全面,建议英语好的同学直接学习这个材料)。

本人非常建议打好数学基础,数学基础决定了机器学习从业人员的高度

但是,如果学习时间太少,又想入门机器学习,就学习上面两个公式总结材料其中的一个。

2.机器学习的教程

1) 机器学习入门的最佳教程

应该是吴恩达老师的《机器学习》公开课,这门课面向初学者,注重实际应用,并不侧重数学推导。这门课开课较早,但到现在仍然是最火的机器学习公开课,评分非常高,课程配套作业(octave版本)。

学习这个课程注意事项:

  • 第五章Octave教程、第十八章应用实例,这两章可以不用学,有点过时了。

  • 原版的octave作业可以不用做,可以做修改过的python版本作业。

  • 如果和吴恩达老师的《深度学习》公开课一起看,第四、五、六周的内容可以直接学习《深度学习》的相关内容。

  • 这个教程建议在三个月内看完,如果有些地方看不懂,没关系,以后用到的时候再回头看看。

  • 这个课程建议配合课程笔记一起看。本站已经提供了笔记下载

课程的视频、笔记、python代码作业,请在这篇文章下载。

 

2) 机器学习小抄

本站以前发的一篇《机器学习小抄-(像背托福单词一样理解机器学习)》

把机器学习的概念做成背托福单词的随身小抄一样方便!分分钟搞定机器学习各种记不住的概念!这篇建议用一周时间看完,注意是略读,有些地方不懂没关系,做下记录,以后用到的时候再查。

 

3) 李航《统计学习方法》

详细介绍支持向量机、Boosting、最大熵、条件随机场等十个统计学习方法。对数学基础有一定要求,这是经典中的经典,很多国内的网课,互联网企业的面试、笔试题目,或多或少,参考了这本书的内容,对初学者来说,有点难度,但是,如果想通过面试笔试,这本书应该要看懂,试着推导下算法

 

4) 深度学习最佳入门教程

吴恩达《深度学习》公开课

这个视频教程用最简单的方式,把深度学习的主要算法和框架讲得非常清楚,课程附带代码作业和测试题作业,学完以后,深度学习就算入门了。每章的学习建议:

  • 第一章:神经网络与深度学习

部分内容是《机器学习》公开课的第四、第五周的升级版

  • 第二章:改善深层神经网络 

这部分内容基本没有和《机器学习》公开课有重合部分。

  • 第三章:结构化机器学习项目

部分内容是机器学习的第六周的升级版。

  • 第四章:卷积神经网络 

这部分主要用于图像、目标检测方面的,相当于斯坦福CS231n深度学习与计算机视觉-李飞飞主讲的课程的简化。

  • 第五章:序列模型 

这部分主要用于自然语言处理,注意一点:RNN/LSTM结构里的符号,和原始论文有点不一样,我们平时的博客、论文的符号,跟吴恩达老师的课程的符号略有区别。

课程的视频、笔记、python代码作业,请在这篇文章下载。

 

5) 李宏毅《一天读懂深度学习》讲义

台大李宏毅教授的深度学习讲义,这是我见过最容易懂的深度学习入门资料,300多页的讲义能系统、通俗易懂地讲清楚深度学习的基本原理,如同机器学习小抄一样生动形象。

建议用几天时间把这个讲义浏览一次,可以基本了解什么是深度学习,深度学习有什么用。

 

3.学好编程语言

由于只是入门,仅推荐python这门编程语言。

机器学习主要的代码工具为python,python学习到底要学到什么程度?个人感觉:入门最重要,至少要学到碰到问题能查百度的程度。

1) python安装:

关于python安装包,我推荐下载Anaconda,Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。下载地址:https://www.anaconda.com/download/ 推荐选Anaconda (python 3.6版本)

IDE:推荐使用pycharm,社区版免费,下载地址:https://www.jetbrains.com/

2) python入门的资料推荐

a.《利用python进行数据分析》

这本书含有大量的实践案例,你将学会如何利用各种Python库(包括NumPy、pandas、matplotlib以及IPython等)高效地解决各式各样的数据分析问题。

这个是我看的第一本python入门资料,如果把代码都运行一次,基本上就能解决数据分析的大部分问题了。

下载地址:建议购买书,源代码可以上百度搜索。

注意:第二版中文翻译已经有人写了,建议搜索下载。

b.python入门笔记

作者李金,这个是jupyter notebook文件,把python的主要语法演示了一次,值得推荐。

下载地址:https://pan.baidu.com/s/1snmeqlR 密码:hkv8

c.南京大学python视频教程

这个教程非常值得推荐,python主要语法和常用的库基本涵盖了。

视频下载地址:https://yun.baidu.com/s/1cCbERs 密码:7thx

看完这三个资料,python基本入门了,同时可以使用scikit-learn等机器学习库来解决机器学习的问题了。

 

4) 深度学习主要框架的学习

深度学习的主要框架,最基础的,应该是TensorflowKeras。教程很多,可以选择性地学一下,本站推荐简便的入门方法:

 

a.Tensorflow入门

吴恩达《深度学习》公开课第二门课3.11介绍了Tensorflow的基本用法(对应笔记p251),这些用法会了以后,基本上能看懂大部分代码了,结合该课程的代码作业,不懂的地方搜百度都能搜到了。

 

b.Keras入门

《python深度学习》书和配套代码,《python深度学习》由Keras之父、现任Google人工智能研究员的弗朗索瓦•肖莱(François Chollet)执笔,详尽介绍了用Python和Keras进行深度学习的探索实践,包括计算机视觉、自然语言处理、产生式模型等应用。书中包含30多个代码示例,步骤讲解详细透彻。

作者在github公布了代码,代码几乎囊括了本书所有知识点。在学习完本书后,读者将具备搭建自己的深度学习环境、建立图像识别模型、生成图像和文字等能力。但是有一个小小的遗憾:代码的解释和注释是全英文的,即使英文水平较好的朋友看起来也很吃力。

本站对全部代码做了中文解释和注释,并下载了代码所需要的一些数据集(尤其是“猫狗大战”数据集),并对其中一些图像进行了本地化,代码全部测试通过。(请按照文件顺序运行,代码前后有部分关联)。

本站认为,这本书和代码是初学者入门深度学习及Keras最好的工具。

电子书及中文注释代码请点击下载

 

4.阅读论文

1) 学好英语,读一些优秀论文

选择性地读一些经典论文,英语真的不好,就输入论文题目搜下百度,很多博客会对经典论文有详细的解释。

看论文的关键:复现作者的算法

根据论文,复现成功算法后,通常就能对论文有深刻的理解了。经典论文都是可以复现的,github都有,最新的优秀论文,通常也能搜到代码。

 

2) 学会整理论文

读过的论文分类整理下,推荐下论文管理神器zotero,功能强大,可以在论文上记笔记,并支持不同电脑之间的同步。

 

5.参加实际项目

如果有大厂的实习机会,尽量去,能学到不少东西。

没有实习机会,可以尝试参加下kaggle比赛,不一定要取得多少名次,可以搜搜历次比赛,下载数据,下载别人的公开代码,复现下。

国内也有类似的比赛,如天池,DF等。

通常,在2-3个比赛能达到top1%的成绩,代码能力基本没有问题了。

但是,不建议在比赛中花太多时间,比赛大部分时间是用于特征工程,在实际工作中并不一定能用上,只要能解决问题就行了,其他时间用于学习吧。

 

6.多和学习者交流

交流的方式有很多种,如参加学术活动、实验室讨论等,但我认为最有效的交流方式还是加入一些学术讨论组织,如微信群,qq群等。“闻道有先后术业有专攻”,不懂很正常,不懂就要问,“三人行,必有我师。”

(3)总结

学习机器学习,尽可能打好数学基础,机器学习从业者数学基础不扎实,只会用一些工具和框架,相当于某些武术家只会耍套路,外行人觉得很厉害,但实战起来一定是鼻青脸肿。可以说,数学基础是机器学习从业人员的天花板。为什么机器学习从业人员学历越高,往往工资越高,通常和掌握的基础知识正相关。

本文的方法,只适合快速入门,入门了以后,你就会知道哪方面的不足,自己也会找资料学习了。

本文的方法仅供参考。

  • 7
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值