前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >从机器学习开始的4个步骤:初学者开始和实践的自上而下的策略

从机器学习开始的4个步骤:初学者开始和实践的自上而下的策略

作者头像
花落花飞去
发布2018-02-05 15:51:40
1.7K0
发布2018-02-05 15:51:40
举报
文章被收录于专栏:人工智能

入门比您想象中的要容易得多。

在这篇文章中,我向你展示了采用自顶向下的策略来入门应用机器学习的方法。我可以看到这个方法分为四个步骤。你应该对这些步骤他们感到熟悉,因为它可能跟你用来学习编程的自上而下的方法相同,亦即,掌握基础知识,大量练习,然后在你找到感觉、进入状态后再深入细节。

在这篇文章的最后,我贴上了我的迷你课程的链接,可以让你缩短学习路径,并给你手把手的指导,以开始和练习应用机器学习。

初学者是不同的

初学者对机器学习有兴趣,但不知道如何迈出第一步。他们感到困惑,因为现有的博客文章和课程中的材料几乎都是给有中等知识水平的人看的,这些人都有着初学者所不具备的基础知识。

机器学习

照片由埃里克·查尔顿拍摄,保留部分权利。

典型的书籍和大学水平的课程是自下而上的。他们先教数学知识,或者课前就要求掌握必备的数学知识,然后通过教授一些关键的算法和理论来带你入门。如果你有时间,耐心和适当的背景,这可能是一个好方法。但并不是每个人都有这么多的时间或者动力,在领略到应用机器学习的魅力前,花费大工夫学习底层的知识。

我收到很多来自初学者的电子邮件,询问入门机器学习的建议。这是一个棘手的问题,因为可能性太多了,我可以推荐的东西也太多了。我告诉他们不要深入数学细节不要直接回到学校

我给予建议的学生和专业人士几乎都是程序员,或者有工程背景,我告诉他们有一个更有效的学习机器学习的途径。

解决方案:采用自上而下的策略

我对机器学习初学者的建议是采取自上而下的方法。

初学者是不同的

照片由mikebaird拍摄,保留部分权利。

我建议初学者在投入大量的时间资源来研究理论之前,先对应用机器学习的全部内容来一个快速、大致的了解。这是有道理的、有效的,也是你很熟悉的策略,因为这是你对编程产生兴趣的方式,此后你才会深入学习编程,并把它当成你学习和工作的重心。

所谓自顶向下的方法,就是使用软件工具,快速掌握从头到尾解决一个机器学习问题的每一个环节。使用现代化的平台,可以在软件工具内部,自动执行最复杂的、最先进的算法,严谨的验证、统计假设检验等工作,在几分钟到几个小时内解决一些小问题。

只有在你对整个过程感到熟悉和自信之后,我才建议你开始深入研究机器学习的算法和理论方面得知识。先学如何、先学做法(how),后学为何、后学原理(why)。

我们可以总结这种自顶向下的方法如下:

  1. 学习使用应用机器学习解决问题的流程。
  2. 学习如何使用足够的工具来解决问题。
  3. 在数据集上练习,大量练习。
  4. 深入到机器学习算法的细节和理论。

应用机器学习的过程

我已经写了很多关于应用机器学习过程的文章。我提倡使用一个六步骤的过程解决分类和回归类型问题,这也是大多数机器学习问题的核心。过程如下:

  1. 问题定义:理解并清楚地描述正在解决的问题。
  2. 分析数据:了解将用于开发模型的现有信息。
  3. 准备数据:发现并展示出数据集中的结构。
  4. 评估算法:开发一个足够强大的测试工具和确定基准精度,从中改进和抽样数据检验算法
  5. 改善结果:利用测试结果改进出更准确的模型。
  6. 目前的结果:描述问题和解决方案,以便第三方能够理解。
流程概览
流程概览

应用机器学习过程概述

通过遵循这个结构化的流程来解决您所遇到的每一个问题,您都可以用最低程度的努力和要求,大大提高获得良好(或更可能优秀)结果的可能性。

使用Weka机器学习工作台

Weka Machine Learning Workbench是初学者入门学习的软件平台。

我认为使用Weka来入门机器学习的道理是傻子都能明白的,因为:

  • 它提供了一个简单的图形用户界面,封装了上面概述的应用机器学习过程。
  • 它提供帮助进行算法和数据集的探索以及严谨的实验设计和分析。
  • 它是免费的,开源的,在GNU GPL下授权。
  • 它是跨平台的,可在Windows,Mac OS X和Linux上运行(需要Java虚拟机)。
  • 它包含最先进的算法,包括种类数量惊人的决策树算法,基于规则的算法,集成学习(ensemble)算法以及其他方法。

加载了Iris数据集的Weka Explorer界面

你自己可以感受到这个平台使用起来有多容易,我写了一些5分钟的Weka教程,比如:

此外,你可以从命令行运行算法,并通过应用程序编程接口(API)将算法集成到应用程序中。它是一个可扩展的平台,您可以快速轻松地将自己的算法实现通过接口介入平台,并在GUI中使用它们。

练习,练习,练习,在数据集上练习!

一旦你开始使用Weka,你需要练习应用机器学习的6步骤流程。

Weka安装后包含一个带有许多标准的机器学习数据集的数据目录,大部分来自真实的具体领域的问题。还有大量优秀的数据集在UCI机器学习库中供你进行试用和学习。这些数据集是您开始学习和练习的好地方。

  • 数据集很小,很容易放入内存。
  • 数据集的小尺寸也意味着算法和实验快速运行。
  • 问题和数据是真实的,包括噪声,取样和数据收集方面的偏差,您需要考虑。
  • 数据是广泛了解和采用的,您可以参考很多已有的知识,并公开与同行讨论这些数据。
  • 你可以找到现有的“好结果”,便于比较和重新试验。

您可以在结构化流程的每个步骤中选择适合自己的详细程度。我建议每一步在开始时花费不超过一个小时。您可以在一小时内通过Weka对一个问题学到很多知识,特别是在设计和运行实验时。这将保持你的动力和项目运行的高速度。

大量的数据

照片由cibomahto贡献,保留部分权利

结构化流程鼓励您在您进行观察,并记录试验结果和解决问题过程中的发现。一个明智的做做法将这些观察和发现记录在一起,卸载在项目目录或Github项目中。

我建议您写下关于您的每个项目的博客,甚至完成项目的每一步。您可以在自己的博客(如果有)或Facebook或Google+的最新版本(现在已经支持图片和文本格式)写下笔记。公开博客项目鼓励诚实,这也是我所喜欢的。它还暗示了您的同行和同事,您对应用机器学习感兴趣,并且认真对待,还已经有了一些实际的工作。

过渡与深入

由于项目规模小,流程结构化,因此您可以通过一些项目快速了解一些问题。您也可以收集有关您自己的问题的数据,并使用相同的流程为工作中的项目或您自己的事情提供有用且有意义的结果。

下一步是深入研究这些算法,并了解它们为什么会起作用,以及如何从中获得更多。我推荐通过阅读“ 数据挖掘:实用机器学习工具和技术 ”一这本书书,来深入探讨这个问题 。它由Weka平台的原作者编写,告诉了我们怎样在Weka的工作中使用算法,为什么使用这些算法,以及机器学习的其他更深层次的思考。

更深层的知识将帮助您定义自己的问题,并从平台上获得更多。它也可以让你更好地欣赏Weka中的方法,并且你将开始建立一种解决什么样的问题使用什么样的算法的直觉。

总结

在这篇文章中,您发现了用自上而下的策略入门的机器学习方法,这种方法倡导学习具体的结构化过程,掌握一个支持这个过程的强大的工具,并聚焦在一系列项目中练习应用机器学习。

您还了解到,这与传统的自下而上的方法完全相反,因为他们希望您先进行繁重的准备工作(甚至在您知道该领域是否适合您之前),并完全让你自行去思考如何在实践中应用这些算法。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 初学者是不同的
  • 解决方案:采用自上而下的策略
  • 应用机器学习的过程
  • 应用机器学习过程概述
  • 使用Weka机器学习工作台
  • 练习,练习,练习,在数据集上练习!
  • 过渡与深入
  • 总结
相关产品与服务
TI-ONE 训练平台
TI-ONE 训练平台(以下简称TI-ONE)是为 AI 工程师打造的一站式机器学习平台,为用户提供从数据接入、模型训练、模型管理到模型服务的全流程开发支持。TI-ONE 支持多种训练方式和算法框架,满足不同 AI 应用场景的需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档