机器学习--从0开始
Posted sloanqin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习--从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有很多相似的地方,只是有个视频;
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%的本科生;
以上是关于机器学习--从0开始的主要内容,如果未能解决你的问题,请参考以下文章