阿里云
发表主题 回复主题
  • 2327阅读
  • 0回复

[干货分享]机器学习 从入门到精通的学习方法

级别: 论坛版主
发帖
1661
云币
5114
翻译:青蛙跳 d bU  
A6w/X`([O  
Y68`B"3  
原文:machinelearningmastery.com/machine-learning-mastery-method/ )Y':u_Lo  
$s2Ty1  
.UNh\R?r  
( 8+_~_  
]PdpC"  
5个步骤 让你入门机器学习,直至精通机器学习 U!m-{7s$  
H8 yc<  
{#M=gDhbX  
我将介绍5个“机器学习”的步骤,这五个步骤是非常规的。 _@D}2  
传统的机器学习方法是下而上的。从理论和数学开始,然后学习算法执行,再教你如何解决实际问题(实践)。 q|m8G  
0^44${bA  
U|odm58s  
入门者如果以传统的“机器学习”步骤学习,会发现自己总是和真正的“机器学习”工作者存在差距,这也是以往学习方法中存在的缺点。 Y{y #us1  
本文所介绍的步骤与传统学习方法不同,本文推荐初学者从结果着手。 .K^'Q|?  
它所满足的,正是企业所想要的:如何交付结果 R`=IYnoOA  
一系列预测或模型的结果,能够可靠地预测。 SxXh N  
这是一种自上而下结果优先的方法。 j9C=m"O  
从满足市场要求出发,最短的路径是真正成为这个行业的从业者。 JA7HO |  
我们可以通过以下5个步骤来概括这种方法:
  • 第一步:调整心态  (信念!)。
  • 步骤2:选择一个过程(如何获得结果)。
  • 第3步:选择一个工具(实施)。
  • 第四步:数据集实操(投入实际工作)。
  • 第5步:建立一个收藏夹(展示你的技能)。
.UbmU^y|  
就是这么简单 M%4o0k]E,s  
这是我所有电子书培训背后所展示出的哲学思考。 *|AnL}GJ  
这也是我创建这个网站的原因。如果我知道更简便的方法,我可以直接在这与他人分享。 }|f\'S   
下面是一张漫画,简单地展示了这个过程,其中第1步(思维方式)和第2步(展示你的作品)为简洁起见省略。 "hz(A.THi  
#V-qS/ q"  
g92M\5 x9  
学习机器学习的一种更好的方法是从端到端的工作机器学习问题开始。 Y5LESZWo  
让我们仔细看一下每一步。 qcke8Q  
_J&u{  
第0步:标志 `<y[V  
y5?T`ts,#  
E=gD{1,?  
在开始之前,您必须知道机器学习的标志。 Rz`<E97-  
我经常只是假设这一点,但除非你知道一些真实的基础知识,否则你不能继续下去。 '.~vN L+ O  
例如:应该知道一些“机器学习”实例 应该知道“机器学习”是解决一些复杂问题的唯一方法。 应该知道,预测建模是应用机器学习中最有用的部分。 你应该知道机器学习在人工智能和数据科学方面的实际应用 应该知道主要几种“机器学习”算法类型。 你应该知道一些基本的“机器学习”术语 Jf`;F :  
lsW.j#yE!  
第一步:心态 H_;Dq*  
G%ycAm  
x=1G|<z%  
机器学习不仅仅是为了成为该领域的专业人员、为了成才或是学位。 F~a5yW:R=)  
3]'=s>UO>^  
你必须相信 vJ GxD\h  
u!g=>zEu  
mUr@w*kq|p  
你可以学习这些知识,并将其用于解决实际问题。
  • 你不需要编写代码。
  • 你不需要知道或擅长数学。
  • 你不需要更高的学位。
  • 你不需要大数据。
  • 你不需要使用超级计算机。
  • 你不需要很多时间。
C Cq<y  
ml=1R >#'  
BO[Q"g$Kon  
HAo8]?J  
有些人总有理借口,始终不开始学习。 hl}#bZ8]  
真的,只有一件事可以阻止你入门,并善于机器学习——就是你自己!
  • 也许你找不到动机。
  • 也许你认为你必须一切从头开始。
  • 也许你一直在挑选前沿的问题而不是初学者的问题。
  • 也许你没有一个系统的过程来实现结果。
  • 也许你没有使用好的工具和库。
!dhZs?/UI  
清除阻止你入门的限制性信念。 #2yOqUO\  
这篇文章可能有帮助 :;0?;dpO  
有很多速度颠簸,你可以打。 7u5B/M!  
识别他们,解决他们,并继续前进。 |BH, H  
`k\]I |6  
为什么要学习机器 .NjdkHYR  
Xki/5roCQ|  
@{I55EQ]  
一旦你知道你可以做机器学习,理解为什么。
  • 也许你有兴趣学习更多关于机器学习算法的知识。
  • 也许你有兴趣创造预言。
  • 也许你有兴趣解决复杂的问题。
  • 也许你有兴趣创造更聪明的软件。
  • 也许你甚至有兴趣成为一名数据科学家。
Bo%M-Gmu  
仔细想想这个话题,试着找出你的“ 为什么 ”。 m_rRe\  
这篇文章可能会让你有更深入的认识: u.hnQsM  
一旦知道了“ 为什么 ”,就如同给自己打了一剂强心剂。 ^ fK8~g;rB  
你对哪一组机器学习从业者有最大的亲和力?
  • 也许你是一个有普遍兴趣的商业人士。
  • 也许你是一个交付项目的经理。
  • 也许你是一个“机器学习”的学生。
  • 也许你是机器学习研究员。
  • 也许你是一个有问题的研究人员。
  • 也许你想要实现算法
  • 也许你需要一次性的预测。
  • 也许你需要一个可以部署的模型。
  • 也许你是一个数据科学家。
  • 也许你是一个数据分析师。
 vA`[#(C  
每个人群都有不同的兴趣,从不同的方向走向机器学习领域。 WtRy~5A2  
当然,并不是所有的书籍和材料都适合你,你需要找到你的领域,然后找到适合你的材料。 Arp4$h  
这篇文章可能有帮助: )STt3.  
w5|@vB/pj  
第2步:选择一个过程 ;o^m"I\y  
{z F  
D@ =.4z  
你想在问题后得到高于平均水平的结果吗? 2~J|x+  
你需要遵循一个系统化的过程。
  • 一个与你水平相对应的实例。
  • 你不需要依靠记忆或直觉。
  • 它引导你完成一个项目的端到端。
  • 你知道下一步该做什么。
  • 它可以根据您的特定问题类型和工具进行量身定制。
4QI vxH  
一个系统的过程就是过山车一方面是好的还是坏的结果,一方面是高于平均水平,另一方面是永远改善的结果。 ;prp6(c  
我推荐的流程模板如下所示:
  • 第1步:定义问题(列出问题)。
  • 第2步:准备数据。
  • 第3步:检查算法。
  • 第4步:改善结果。
  • 第5步:得出结果。
v?LJ_>hw*T  
下面这幅图,总结了上方的流程: |=%$7b\C  
?N|PgNu X  
/=r&9P@Ay<  
通过一个系统化、可重复的流程,可以得出一个一致的结果。 K4R jGSaF  
#='#`5_5  
您可以在这篇文章中了解更多关于流程的信息 =u;q98r  
你并不一定要使用这个流程,但是你需要系统化的流程来处理预测建模问题。 5<a<!]|C  
(U.&[B  
第3步:选择一个工具 k2+Z7#2n  
IS=)J( 0  
,~4(td+R7  
选择一个可以用来提供机器学习结果的最佳工具。 *v5y]E%aW  
将您的过程映射到工具上,并学习如何最有效地使用它。 qob!!A14p  
我推荐的工具有三种:
  • Weka机器学习工作台(适合初学者)。Weka提供了一个GUI界面,不需要代码。我用它来快速地解决一次性建模问题。 Weka机器学习迷你课程
Python生态系统(中级)。您可以在开发中使用相同的代码和模型,并且足够可靠,可以在操作中运行。 R平台(高级)。R是为统计计算而设计的,虽然语言比较深奥,而且一些软件包记录不完善,但它提供了大多数方法以及最先进的技术。 A23Z)`  
我也有专业领域的建议:
  • Keras深度学习。它使用Python,意味着您可以利用整个Python生态系统,节省大量时间。界面非常干净,同时也支持Theano和Keras,后端的功能非常强大。 深度学习迷你课程
XGBoost渐变提升。这是该技术最快的实现。它还支持R和Python,使您可以在项目中利用任一平台。 ljf9L:L  
学习如何使用选择的工具,研究它,精通它。 DHJnz>bE  
@%fkW"y:  
什么是编程语言? Z'j<wRf  
jyT(LDsS  
R1m18GHQ  
编程语言并不重要。 vcSS+  
即使你使用的工具并不重要。 q{5Vq_s\  
通过问题学习的技能将轻松地从平台转移到平台。 Wex4>J<`/  
不过,下面是机器学习中各种语言受欢迎程度的调查结果: {Y/  
 9q5[W=|  
第四步:数据集实操 n&Tv]-  
V\xQM;  
pKJ[e@E^  
虽然有了系统化流程和相关工具,仍需要多加练习,方能生巧。 07MLK8jS  
在标准机器学习数据集上的实践。
  • 使用真实的数据集,从实际问题领域收集(而不是人为虚构的)。
  • 使用适合的内存或Excel电子表格的小型数据集。
  • 使用易于理解的数据集,以便了解期望的结果类型。
JH5])i0  
练习不同类型的数据集,练习一些让你不喜欢的问题,因为你将不得不提高技术来获得解决方案。在数据问题中找出不同的特征,例如:
  • 不同类型的监督学习,如分类和回归。
  • 从数十,数百,数千和数百万个实例的不同大小的数据集。
  • 不到十个,几十个,几百个和几千个属性的不同数量的属性。
  • 来自实数,整数,分类,序数和混合的不同属性类型。
  • 不同的领域,迫使你迅速理解和了解一个你以前没有解决过的新问题。
D"WkD j"M  
UM]wDFn'E  
使用UCI机器学习库 ?@,:\ ,G  
|% kK?!e+-  
=0-qBodbl  
这些是最常用和最好理解的数据集,也是最好的开始。 x~z 2l#ow  
在这篇文章中了解更多: }B.C#Y$@  
-Tt}M#W   
使用机器学习比赛,如Kaggle m6 gr!aT  
p?h;Sv/  
OH(+]%B78  
这些数据集通常较大,需要更多的准备才能建模。 {!S/8o"]  
有关您可以练习的最受欢迎的数据集列表,请参阅以下文章: CNz[@6-cYU  
-,tYfQ;:  
对你自己的设计问题的实践 PLyu1{1" z  
lyPXlt  
utE:HD.PN  
收集有关您的重要机器学习问题的数据。 [4t KJ+v  
你会发现你所设计的问题和解决方案更有价值。 vP2QAGk <  
欲了解更多信息,请查看帖子: Rb0{t[IU  
E.3}a>f  
第五步:建立一个收藏夹 [ b W=>M  
cmeyCyV*  
)-{~7@yqZ  
把自己完成的项目内容,放入一个收藏夹,把它们好好利用起来(有点像高中的错题集)。 P(;c`   
在您处理数据集并获得更好的效果时,请汇总您的发现、学习经验到自己的收藏夹。
  • 可以上传你的代码,并在自述文件中总结。
  • 可以你在博客文章中写下你的结果。
  • 可以做一个幻灯片。
  • 可以在You