找回密码
 立即注册
搜索

我是这样用机器学习轻松将帆船变成赛艇的!

点击上方关注,All in AI中国
我们以相当传统的方式教授机器学习:让参与者把一艘真正的帆船变成赛艇机器人。在这篇博客文章中,我们将分解这一应战,并专注于第一个子义务:应用机器学习找到帆船比赛中驾驶的最佳航线。
您将学习如何博得帆船比赛以及完成此义务所需的基本的机器学习概念。



从'为什么'末尾
问“我们为什么这样做?”应该是我们在任何机器学习项目中提出的第一个成绩。很多时分我们看到项目失败,是由于一个错误的缘由末尾,所以我们对于这个新项目首先末尾问下:
我们为什么要制造自动驾驶帆船?简短回答:它为学习如何运用机器学习提供了一个绝佳的环境。
这并不是由于人们厌倦了本人驾驶帆船,也不是我们想用新的智能系统去博得比赛,而是发起的这个应战有一些要素在内,使得它非常合适学习:

  • 帆船赛其实是一场比赛
这种所谓的“对抗性”设置意味着我们不只要思索本人的行为,还要思索一个或多个对手的行为。这在有形中添加了一层全新的复杂性,从而提供了一个非常具有应战性的学习环境。

  • 环境是真实的
这种设置不是人为的,而是理想的和无情的。有许多要素需求思索:风、波浪、船的状况等。这些是大多数算法在理想世界中工作时所面临的理想。

  • 知识会更结实
人们通常会在调动起一切的感官的时分学习效果更为分明。乘坐帆船的时分,会刺激到一切人,并提供丰富的学习阅历,这会有助于您更为深化了解这些概念。
在我们的课程中,我们采用的方法与大多数其他AI课程不同。我们不会从基本概念末尾,直到我们处理难题这种方法。我们将采取不同的道路,博得成功。经过不断保持次要目的(创建自主帆船),您将在整个过程中保持更多的参与和积极性。
目的
让我们稍微细化一下我们的目的。创建一艘自动驾驶的帆船听起来比较简单,但能够会触及到很多的内容。
我们可以按如下方式定义目的:
为帆船创建一个自动驾驶仪(转向机构),使其可以以竞争的方式参加帆船比赛。到如今它照旧看起来像是一个非常大的难题。通常有助于将成绩分解为我们可以单独处理的较小成绩。这样的事情能够会有所协助:

  • 目的1:寻觅最佳驾驶道路,思索风向和速度
  • 目的2:让船沿着最佳航线航行
  • 目的3:运用比赛策略,以便我们可以选择最大化获胜机会的举动
目的1似乎如今看起来愈加适用了。我们可以提出一些详细的成绩:在给定风向和速度的状况下,帆船的最佳航线是什么?
可以提出这样一个成绩是很有协助的,接上去我们一同看下
目的1:找到最佳航线
在我们可以经过机器学习做些什么之前,我们首先需求学习一两件关于航行的知识。这种“范畴知识”对于机器学习项目的成功至关重要。除了错误的动机之外,缺乏范畴知识是许多机器学习项目失败的第二个缘由。有时分,要么是我们处理成绩的缘由错了,要么是我们处理了错误的成绩。
思索下图1中的情形。假设我们需求到达顶部的标志点,风是直接来自上方的。根据航行方面的常识成绩,您能够知道:我们无法直接驶入风中。但假如风来自侧面,我们就永远不会集中目的。所以在这两个极端之间存在一个最佳形状。找到这个最优是我们的目的。


图1:顺风梯(风来自顶部)


风角、风速和船速之间的关系通常由海员用极坐标显示。图2显示了这样一个图的一个例子。


图2:极坐标图


粗黑线表示在某些风角(相对于船)和速度下的船速。针对6,8,10,12和20节的风速绘制不同的曲线。船速通常以1节≈1,85kph的结节来测量。如今变得非常容易阅读船速:10度风在110度风角(答案约为7节)。更重要的是,这个图有助于我们找到最佳的VMG(见视频:Velocity Made Good)。
粗黑线表示在一定的风角(相对于船)和速度下的船速。风速分别为6、8、10、12和20节时绘制了不同的曲线。船的速度通常用绳结来计算,绳结≈每小时1,85公里。如今的船速就很容易阅读了
它变得很容易读的船速说:10节风在110度角(答案是大约7节)。更重要的是,这个图协助我们找到最优的VMG(参见视频:Velocity Made Good)。
比较简单吧?我们不需求机器学习。只是我们没有为每艘船提供这些极坐标图。通常船艇设计师会提供一些实际上的内容,但专业团队需求创造本人的最佳功能。
如今我们可以将第一个目的重新定义为更详细的内容:
根据风速和风向,预测某个方向的船速。
有了这样的模型,我们可以很容易地预测最大VMG的过程。如今让我们继续看看如何运用机器学习来完成这一目的!
一直牢记目的
在课程中,我们将运用除自动帆船以外的示例。当我们引见新概念时,我们将运用如下插入将它们链接到我们的目的:
目的:寻觅最佳航线
什么是机器学习?
那么,什么是机器学习?让我们首先定义学习本身。 Google网络定义告诉我们:
学习:经过学习、阅历或被教导获得知识或技能
这适用于计算机以及人类。后来我们的确会看到:人类和计算机其实是以非常相似的方式学习。
在机器中,获得的知识存在于所谓的模型中。该模型在训练阶段学习,稍后将用于在运用程序中执行其最终义务。以预测为例。
模型:系统的世界观,包含系统学到的东西
机器学习的类型
根据下面的学习定义,机器学习有三大类:

  • 监督学习(正在教授)
  • 强化学习(阅历)
  • 无监督学习(学习)
监督学习
目前,这是最常见的机器学习方式。我们知道结果必须是什么,经过提供好的和坏的数据示例“教导”机器更接近。
更详细:我们希望我们的模型可以将给定输入(通常名为X)转换为特定输入(通常命名为y)。我们经过输入具有相应输入的输入示例来训练模型,这称为训练集。


图3:输入、输入和模型


定义它的另一种方法是将其写为数学公式:
y = f(X)这里f是将输入转换为输入的函数(模型)。
强化学习
这在技术上是一种监督学习方式,但教师不是真实的人类。系统会经过反复实验从其环境中学习。
该模型仍有输入和输入,但我们没有带示例的训练集。相反,我们有一个称为奖励函数的东西,模型试图最大化。
无监督学习
即便没有教师,机器也可以学习如何在收到的数据中找到结构。例如:'clustering'和'dimensionality reduction'。请参阅下面的维数减少示例。系统找到看起来相似的照片示例。


图4:t-SNE降维示例


目的 - 寻觅最佳航线
成绩
什么机器学习类型最合适我们的目的?
回答
我们有一个标签数据集,所以我们可以运用监督学习。
成绩的类型
在有监督的学习中,我们可以处理两种次要类型的成绩。类型取决于所需的输入。
想象一下,您想要确定某个图像能否包含狗或猫。这将是分类的一个例子。
分类:目的是预测一个类或类别
另一个例子:假设我们想根据天气预告和季节来预测北京的烟雾量。这将是一个回归成绩。
回归:目的是预测实数
目的 - 寻觅最佳航线
成绩
我们的目的是分类还是回归类成绩?
回答
显然是一个回归成绩,由于我们想要预测的船速是一个实数。
特征
如今,我们来看一下机器学习系统的输入数据。模型需求知道我们想要了解的东西的属性,这些属性称为特性。
我们以水果为例:水果的分量和颜色都是特征。


图5:橙子和猕猴桃的不同特征


该模型可以运用这些特征来预测我们观察到的水果种类。这将是分类。
试图根据分量和颜色预测直径是一个回归成绩。
目的 - 寻觅最佳航线
成绩
对于我们的目的,模型的特征是什么?
回答
风角和风速
训练模型
好的,但我们如何从特征到预测呢?首先,我们必须训练我们的模型。
训练分类模型
让我们继续水果的例子,我们想根据分量和颜色来确定水果的类型。首先,我们需求将颜色转换为数字。我们选择以nm为单位的光波长。绿色变为520nm,橙色为600nm。我们把两个数字都绘制在图表中。


图6:带有数据点的散点图


训练的目的是找到一条分出猕猴桃和橙子的线。该线完全是随机末尾的。在每个训练步骤中,模型都试图将直线往正确的方向移动一点点。一段工夫后,越来越多的水果将最终落在正确的一侧。


图7:对橙子和猕猴桃停止分类


经过5个步骤,我们对结果感到称心。训练中止,我们如今可以运用我们全新的训练模型停止预测。
训练回归模型
这遵照相反的基本准绳,如今我们将根据分量预测每个橙子的价格。目的是绘制一条与我们用于训练的示例非常婚配的线。


图8:回归模型的示例


训练后,模型给出了给定分量的每个橙子的估计价格。
回到帆船上
那么思索到风速和风向,我们如何运用机器学习模型来预测某个方向的船速?在我们末尾训练之前,我们需求数据!
假设您的团队去年每次航行时都记录了风速、风向和船速。你遇到了很多不同的天气(和波浪)条件。清算完这些数据后,最终会得到一个带数字的大表。来自该数据帧的随机样本如图9所示。


图9:数据集的随机样本


在这种状况下,boat_speed是我们的目的变量。我们的输入功能是wind_speed和angle_of_attack。
在我们的课程中,我们运用船上搜集的数据来训练机器学习模型。参与者将运用这些预测来制造他们本人的船的极坐标图。如前所述,这将使船舶可以自动驾驶,并在竞赛中发挥重要作用。
然后我们用帆船将它们挂在水面上测试模型。我们还与一切参与者停止虚拟竞赛,以找出最合适的模型!






总结
在这篇博客文章中,您曾经发现了我们完成自主航行应战子目的1的方法——找到最佳航线,并学习了一些机器学习的关键概念。
那么子目的2和3呢?子目的1在一篇博客文章中曾经涵盖了很多内容,所以请继续关注后续的文章。


编译出品

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

大神点评2

动力 2019-3-25 21:30:12 显示全部楼层
不错 支持一个了
回复

使用道具 举报

床上小桌 2019-3-26 11:40:09 显示全部楼层
顶起顶起顶起
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies