#机器学习可以概括如下几个层次
- 学术研究者
他们的工作是从理论上诠释机器学习的各个方面,试图找出“这样设计模型/参数为什么效果更好”,并且为其他从业者提供更优秀的模型,甚至将理论研究向前推进一步。
能够做到这一步的人,可以说凤毛麟角,天赋是绕不过去的大山,机遇和努力也缺一不可。 - 算法改进者
他们也许无法回答出“我的方法为什么work”,也许没有Hinton,LeCun那样足以载入史册的重大成果,但是却能根据经验和一些奇思妙想,将现有的模型玩出更好的效果,或者提出一些改进的模型。
这些人通常都是各个机器学习巨头公司的中坚力量或者成长中的独角兽,使用什么模型对他们来讲也不是问题,根据所处的环境,通常都有固定的几个选择。
在这个层面,insight和idea才是重要的东西,各种工具的区别,影响真的没那么大。可能会让一个结果早得到或者晚得到几天或者几周,却不可能影响“有没有成果”。 - 工业实现者
这些人基本上不会在算法领域涉入太深,也就是了解一下各个算法的实现,各个模型的结构。他们更多地是根据论文去复现优秀的成果,或者使用其他人复现出来的成果,并且试图去在工业上应用它。
#勿在浮沙筑高台
##基础知识 - 入门,了解概念,算法基础
Coursera 机器学习课程 - by 吴恩达
Machine Learning Coursera
https://www.coursera.org/learn/machine-learning - 进阶,多层神经网络,卷积和softmax回归
斯坦福机器学习课程 UFLDL
UFLDL Tutorial
http://ufldl.stanford.edu/wiki/index.php/UFLDL_Tutorial
重点关注其中的softmax回归,卷积和池化这几个章节 - 进阶,计算机视觉,卷积神经网络的新进展,实现和应用
斯坦福计算机视觉课程 CS231n
斯坦福CS231n -深度学习与计算机视觉 - 网易云课堂
http://study.163.com/course/introduction/1003223001.htm
上面的课程大概会消耗你1到2个月的所有业余时间,网络上的课程非常多,也有很多优秀的免费课程,但是作为入门,我没有找到过比这三个更适合的。
##会算矩阵乘法
在这个框架高度封装的年代,梯度不需要自己算,损失不需要自己求,反向传导更是被处理得妥妥的,在不求甚解的情况下,你甚至只需要知道这么几个概念就可以开始着手写第一个程序了:
它就是通过一系列矩阵运算(或者类似的一些其他运算)将输入空间映射到输出空间而已。参与运算的矩阵的值称为权重,是需要通过不断迭代来寻找到最优值。
当前的权重值离最优值还差多远,用一个数值来表示,这个值就叫损失,计算这个值的函数叫损失函数。
当前的权重值应该调大还是调小,这个值通过对损失函数求导来判断,这个求导得到的函数叫做梯度。
通过损失和梯度来更新权重的方法叫做反向传导。
迭代的方法称为梯度下降。
##选择框架
目前机器学习的框架非常的多,从面向的使用者这个维度去划分,大体上分成这么两个阵营:
- 学术友好型:Theano,Torch,Caffe
学术研究时,弄出来一个新模型,新算法,新函数是常有的事,做出新的突破也是学术研究的最基本要求。所以,这些框架通常都可以方便地定制模型,也可以深入修改内部实现。很多新成果都会在发表论文的同时,提供这些框架上的实现代码供参考。性能方面也是比较出色。
而代价就是,要么使用了困难(Caffe:C++)或者小众(Torch:Lua)的开发语言界面,要么具有一些古怪的缺点(Theano:编译超级慢)。
而

本文介绍了机器学习的三个层次:学术研究、算法改进和工业实现,并提供了相关资源。强调了基础知识的重要性,包括矩阵乘法和选择合适的机器学习框架。推荐了吴恩达的Coursera课程、斯坦福的UFLDL教程和CS231n课程作为入门学习资源。文章还讨论了不同机器学习框架的特点,如Tensorflow、MXnet和Caffe,并给出了关于选择GPU和配置的建议。最后,建议初学者从MNIST和CIFAR数据集开始实践。
最低0.47元/天 解锁文章
3279

被折叠的 条评论
为什么被折叠?



