热线电话:13121318867

登录
首页精彩阅读谷歌教你学 AI -第二讲机器学习的7个步骤
谷歌教你学 AI -第二讲机器学习的7个步骤
2017-12-29
收藏

谷歌教你学 AI -第二讲机器学习的7个步骤

Google Cloud发布了名为"AI Adventures"的系列视频,用简单易懂的语言让初学者了解机器学习的方方面面。

观看更多国外公开课,点击"阅读原文"

上一期主要讲了机器学习的概念(谷歌教你学 AI -第一讲机器学习是什么?),今天让我们一起看到第二讲:机器学习的7个步骤。

主讲人还是来自Google Cloud的开发人员,华裔小哥Yufeng Guo。让我们在学习AI知识的同时来提高英语吧。

CDA字幕组目前在对该系列视频进行汉化,之后将继续连载,欢迎关注和支持~

附有中文字幕的视频如下:

AI Adventures-第二讲机器学习的7个步骤

针对不方便打开视频的小伙伴,CDA字幕组也贴心的整理了文字版本,如下:


从检测皮肤癌到给黄瓜分类,以及检测需要维修的电梯,机器学习赋予了计算机系统全新的能力。但它的背后到底是如何运作的呢?我们来看一个简单的例子,并借此来聊一聊运用机器学习从你的数据中得到信息的过程。

欢迎来到Cloud AI Adventures,我的名字叫Yufeng Guo。在这个节目里,我们会探索机器学习的艺术性、科学性以及相关工具。

假设我们要构建一个系统用来判断酒水是红酒还是啤酒。我们构建的这个问答系统称为模型,构建这个模型的过程称为训练。

机器学习中训练的目的是建立一个准确模型,在大多数情况下能够地准确回答问题。但是为了训练这个模型,我们需要收集用于训练的数据,这就是我们开始着手的地方。

红酒还是啤酒

我们通过装着红酒或啤酒的杯子来收集数据,酒水中包含了方方面面的数据信息。比如泡沫的数量、杯子的形状等。

但是出于我们的目的,只需要两个简单的信息。颜色,记录为光的波长;酒精含量,记录为百分比。希望仅仅通过这两个因素,我们能够分辨出这两种酒。从现在开始我们把这两点称为特征,颜色和酒精含量。

第一步就是去杂货店买各种不同的酒,以及用于测量的设备。光谱仪用来衡量颜色,比重计用来衡量酒精含量。

第1步:收集数据

一旦设备和酒都齐全了,就可以开始进行机器学习真正的第一步:收集数据。

这一步非常重要,因为你所收集数据的质量和数量将直接决定预测模型的效果。这个例子里 我们收集的数据就是,每种酒水的颜色和酒精含量。

这样我们就可以得出一个表格,关于每种酒的颜色和酒精含量,是啤酒还是红酒。这将成为我们的训练数据。

第2步:数据准备

经过几小时的测量,我们得到了训练数据,也许还喝了几杯。下面是机器学习的第二步:数据准备。我们将数据加载到合适的地方。进行处理从而用于机器学习的训练。

首先把所有数据放在一起,任意排列。不要让数据的顺序影响到学习的效果,排列并不是判断酒水种类的因素。换句话说,我们不想让序列中酒水的前后排列顺序,影响对酒水种类的判断。

这时也可以对数据进行相关可视化,帮助判断不同变量之间是否存在相应关系,以及是否存在数据失衡。

例如,如果我们收集的数据点中啤酒的数据要远多于红酒,那么训练出来的模型就会有严重的偏差,偏向把酒水都判断为啤酒。因为在大部分情况下这不会错。然而在实际情况中,模型会处理差不多数量的啤酒和红酒。意味着判断为啤酒一半情况都是错的。

我们还需要把数据分成两部分,用于训练模型的第一部分将是数据集的主要数据;第二部分用于评估训练模型的效果。

我们不想把训练用的数据用于评估,因为模型会记住这些问题。就像你不会把数学作业里的问题作为考试内容一样。

有时我们收集的数据需要其他方式的调整和处理。比如去重、标准化、误差修正等等。这些都在数据准备过程中进行。在这里我们不需要进一步的数据准备,所以让我们继续。

第3步:选择模型

我们工作流程的下一步是:选择模型。

在过去研究者和数据科学家,已经建立了很多模型。有些非常适用于图像数据;有些适用于文字、音乐这种序列数据;有的适用于数字数据,还有一些适用于文本数据。

这里我们只有两个特征:颜色和酒精含量,我们用一个小型线性模型就足够了。这个模型很简单但足以完成任务。

第4步:训练

现在进行下一步,这通常被认为是机器学习的主体部分:训练。

这一步我们将用数据,逐步提高模型预测酒水为红酒或啤酒的能力。这有点类似初次学开车,一开始初学者完全不知道踏板 把手、开关的作用,或者什么时候要用到。但是经过许多次的练习和纠错,就能成为有驾照的司机了。在开车一年之后就成为老司机了。在现实中驾驶提高了驾驶水平,磨练了技术。

针对酒水我们将从更小的范围着手。直线方程是y=m*x+b。x是输入,m是斜率,b是y轴截距,y是直线x位置上的值。我们能够调整和训练的值只有m和b,m是斜率,b是y轴截距。没有其他改变直线位置的方式,因为变量只有x输入和y输出。

机器学习中可能存在很多m,因为有很多特征。这些值通常构成矩阵,称为w即权重矩阵。类似的我们把b集合在一起,称为偏差

训练过程包含对w和b赋予一些随机数初始化,以及尝试用这些值预测输出。可以想象一开始结果会很糟糕。但是我们可以将模型预测值与应该得出的值进行比较,进而调整w和b的值。这样下一次能够得出更准确的预测。

然后不断重复这个过程。每次更新权重和变量的迭代或周期称为一个训练步骤(training step)。看看这对我们的数据集具体意味着什么。

就像在数据中任意画一条线。随着训练的进展,这条线一步步移动,逐步接近区分红酒和啤酒的理想方式。

第5步:评估

一旦训练完成,就要进行评估,查看模型的效果。

这时就要用到之前预留的数据。评估让我们用训练中未使用的数据测试模型,这个指标让我们用新数据测试模型的性能,这可以代表模型在现实情况中的效果。

根据经验法则,我一般将训练和评估数据按照80/20或者70/30分配。大多情况下取决于原始源数据集的大小。如果数据很多可能就不需要太多的测试数据集。

第6步:参数调整

完成评估之后你想看看是否能够进一步提高训练。可以通过调整一部分参数,我们隐含假设有一些参数在训练时已经调整了。现在可以回头看看测试这些假设,试试这些值。

举个例子,有一个参数我们可以调整,即在训练中训练数据集运行了多少次。可以多次使用这些数据,从而提高精度。

另外一个参数是学习率,这规定了在每一步线移动的幅度。根据上一次训练步骤得到的信息,这些值都会影响模型的准确性以及训练时长。

对于更复杂的模型,初始条件也会大大影响训练结果。根据模型开始训练时,初始值是为0还是其他值的分布以及分布是什么,得出的结果会有区别。

可以看到训练的这一阶段,有很多因素值得考虑。重要的是要定义什么决定了模型的好坏。否则将花很长的时间调整参数。

这些参数通常被称为超参数。调整超参数的过程比起科学更像是艺术。这是实验性的过程,并很大程度上取决于具体的数据集、模型和训练过程。

一旦满意你的训练和超参数,通过评估步骤,终于可以做一些有用的事情了。

第7步:预测

机器学习用数据来解答问题,因此预测或推断就是解答问题的步骤,这是所有工作的重点,即实现机器学习价值的地方。

我们终于可以用模型,根据颜色和酒精含量,预测酒水为红酒还是啤酒。

总结

机器学习的强大在于,我们可以用模型来测定和区分红酒与啤酒,而不是通过人的主观判断或者经验。你可以把今天所讲的概念,拓展到适用这些规则的其他领域:

机器学习的7个步骤:

· 收集数据

· 准备数据

· 选择模型

· 训练

· 评估

· 超参数调整

· 预测

TensorFlow Playground

如果你想了解更多关于训练和参数的信息,可以访问TensorFlow Playground。这是完全基于浏览器的机器学习沙盒,你可以尝试不同的参数,用模拟数据进行训练。不用担心 ,你不会把网站崩掉。

下期预告

当然在之后的视频中,我们会遇到更多的步骤和区别。但这作为帮我们理解问题很好的基本框架,用通用的语言考虑每一步,并在以后更加深入。

在下一期的AI adventures,我们将用代码构建第一个真正的机器学习模型。


数据分析咨询请扫描二维码

最新资讯
更多
客服在线
立即咨询