机器学习--从0开始

机器学习

                                                    By--香蕉麦乐迪

机器学习简介:

机器学习是许多算法的统称,其中包含最近几年火热的深度学习,还包括许多适用于各种不同场景的其他机器学习算法(逻辑斯特回归,SVM,KNN,adaboost,EM,kmeans等等),这些算法从诞生到现在都有了几十年的历史;

深度学习指的是深度神经网络,其中用于处理图像的是深度卷积网络(CNN),用于处理自然语言的是深度递归网络(RNN);当前业界在无人驾驶、语音识别、图像识别等等诸多领域的突破都源于深度神经网络;

人物介绍:

深度学习领域有几个大牛,hinton是资历最老,也是成就最多的;他有两个学生lecun、bengio,可以说这三个人是这个领域的缔造者;其中还有一位是我们平常耳熟能详的吴恩达(andrew ng,斯坦福人工智能实验室的主任),先后参与设计了google大脑、google无人车,现在主要负责百度大脑、无人车、语音方面的工作;

国外学习资料:

    主要有网页资料和书籍,再就是论文,网页资料上手快,有相应的代码练习,书籍系统而全面适合更深入的了解;

1、 Ufldl:http://ufldl.stanford.edu/wiki/index.php/UFLDL%E6%95%99%E7%A8%8B

这个是吴恩达关于神经网络的一个教程,有中文翻译,有matlab的练习,能够理解基本的原理;

2、 斯坦福大学的cs229课程:http://cs229.stanford.edu/materials.html

斯坦福的学生上的是这门课,以前这门课就是吴恩达讲的,这里有课程的讲义;

3、 moooc上吴恩达录的视频:https://www.coursera.org/learn/machine-learning

这个跟1和2有很多相似的地方,只是有个视频;

扫描二维码关注公众号,回复: 3842460 查看本文章

4、 《deep learning》,bengio

http://download.csdn.net/download/aimar_yxj/8889813

系统的介绍深度学习的一本书,对于系统的学习深度学习是很有用的;

5、 《PRML》

http://download.csdn.net/detail/suemi994/5784223

系统的介绍各种机器学习算法,对于系统的学习机器学习是很有用的;

国内学习资料:

    国内机器学习的资料不多,但是好处就是中文更加便于我们理解,配合英文看学习更快,推荐入门的时候看这三本书;

1、 《机器学习实战》

http://item.jd.com/1034750114.html

本书用python快速帮我们实现了各种机器学习算法,这本书没有什么公式,这样看起来很轻松,python是非常常用的脚本,这个是一定要学的;

2、 统计学习方法—李航

http://item.jd.com/10975302.html

这本书是国内的经典,基本上学习机器学习的人都是人手一本,本书很薄,但是公式推导清晰明了,这本书可以作为机器学习数学公式推导的参考书;作者李航现在是华为诺亚方舟的主任;

3、 机器学习--周志华

http://item.jd.com/11867803.html

这本书是今年出的,是国内第一本全面系统介绍机器学习的书,作为对机器学习整体的了解和学习是很好的;

说明:掌握这些就超过了95%的硕士;

需要的计算机基础知识

1、 语言:C++

由于深度学习的计算量很大,所以当前研究都是靠GPU的训练,研究深度学习的同学都是在各种框架上做实验(caffe,tensorflow,MatConvNet等),所以底层都是C++来是实现的,平常我们或多或少会接触;

2、 脚本:python

真正最常用的应该是python,我们通过python来调用框架来实现我们需要的功能;在公司里面python的使用是非常多的,学习起来非常简单,这门语言很优美很简洁很直观;

3、 matlab:

有一种最简单的方式做深度学习,就是使用matlab,在MatConvNet框架上做,MatConvNet框架底层也是用C++实现的,跟caffe一样,但是使用者并不需要关注,只需要用matlab做实验就好了;但是坏处是,这种做法适合学术界,但是公司是不能用matlab,不被企业界认可;

说明:目前顶会上发的文章,很多都会在github上开源,从源代码来看,很多用的都是python,所以学习使用python是挺好的;

其他计算机基础知识

    在写代码做实验的时候,经常会用到各种计算机的基础知识,无法避免但是若是系统学习势必会花费很长的时间,所以若要快速切入那就是需要什么学习什么;我去年一年大部分的时间是花在系统学习这些基础知识上去了,真正学习算法的时间很少;

1、 语言基础:C++

http://item.jd.com/11306138.html

推荐书籍《C++ primer》

2、 脚本基础:python

http://item.jd.com/11936238.html

推荐书籍《python核心编程》

3、 数据结构基础:

http://item.jd.com/11076338.html

推荐书籍《数据结构》—严蔚敏

4、 算法基础:

http://item.jd.com/11144230.html

推荐书籍:《算法导论》

5、 操作系统基础:

http://item.jd.com/10058893.html

推荐书籍:《现代操作系统》

6、 计算机网络基础:

http://item.jd.com/11556873.html

推荐书籍:《自顶向下方法》

7、 数据库基础:

http://item.jd.com/10954261.html

推荐书籍:《数据库系统概念》

说明:计算机专业的本科学生,大学四年主要就是学习这些课程,掌握这些就超过了90%的本科生;

猜你喜欢

转载自blog.csdn.net/sloanqin/article/details/52535191
今日推荐