【编译】我们天天都在说的机器学习,究竟该怎么入门?

为了使大家对机器学习有一个基本的认识,在这篇文章中,我们将对以下四个主题做简要的介绍:

什么是机器学习?

机器学习模型的训练。

模型参数的优化。

神经网络。

即使你不是机器学习方面的专家也不必担心,因为你只需具备高中数学的基本知识就能读懂本篇文章。

▌什么是机器学习?

牛津词典对“机器学习”的定义如下:

计算机从经验中学习的能力。

机器学习的目标是找到一种或多种算法,在现有示例数据的基础上学习执行某项任务。

例如,假设现在我们想要编写一个能够玩Go这款游戏的程序。我们可以为这款程序添加某些游戏规则,或者也可以为其制定一些开放性策略和决策规则。

但此处存在一个问题。一方面,在编写新规则的同时,程序会变得越来越复杂;另一方面,程序员所能提出的策略也是有限的,程序最终会受到限制。解决这个问题最好的办法就是建立机器学习算法。人类能够根据某些案例和实际的经验去学习如何玩围棋游戏,同样机器学习也可以。这就是DeepMind公司用他们的阿尔法围棋(AlphaGo)程序所做的事情,阿尔法围棋(AlphaGo)程序是一种基于深度学习的机器算法。

▌机器学习模型的训练

机器学习算法是根据带标签的数据实例来训练模型的,通常情况下它会定义一个具有可调参数和优化算法的模型,如下图所示。首先该模型以数据(x)的形式进行输入,然后根据输入的数据及模型参数生成输出(y)。优化算法会设法找到最佳的参数组合,也就是说,在给定输入数据x的情况下,使得模型输出的y尽可能接近期望输出。经过训练的模型将生成特定的函数f,即在输入x时输出y。因此,函数方程式为y = f (x)。

训练机器学习模型的途径

图片翻译:

labeled data——标记数据,

model with tunable parameters——具有可调参数的模型

optimisation algorithm——优化算法

Trained model——训练模型y = f (x))

▌优化算法

有许多方法可以找到参数的最佳组合,它们都能在输入x的情况下使得模型f的输出y尽可能的接近期望输出。其中一种方法是尝试所有可能的参数组合,并选择能够提供最佳结果的组合。如果模型中的参数组合数量有限,那么这种方法可能会起作用,但是对于具有数千甚至数百万个参数的典型机器学习模型来说,这种方法可以说是完全不切实际。幸运的是,目前我们有一种更好的方法可以为某些类型的模型找到最佳解决方案,这种方法得益于17世纪的数学家牛顿。

牛顿和莱布尼茨- https://xkcd.com/626/

图片翻译:

牛顿,1666年,I have invented calculus——我发明了微积分

莱布尼茨,1674年,I have invented calculus——我发明了微积分

Really?sounds a little bit——真的吗?听起来有点……

Derivative——导数

牛顿发明了导数(也被称为梯度)。函数的导数表示该函数伴随其中某一参数的变化而变化的趋势,它能够表示函数的增减方向。如果我们有一个函数f,该函数有一个参数p,那么参数p的变化就可以表示为dp,函数f相对于dp的变化就可以表示为df,其方程式为df(p)/ dp。

Derivative (gradient) df(p)/dp of f(p) = psin(p^2) for different values of p.

那么,我们如何利用导数来提高模型的优化效率呢? 假设我们有一些数据(x,t),在输入x时对应于输出t,并且这些数据在图表中的表示如下:

标签数据(x,t)

如果我们现在想要创建一个模型,在该模型中对于所有给定的示例数据,在输入x时都能输出最接近期的t,那么我们就可以尝试拟合出一条通过原点的直线(这也被称为线性回归)。这条直线可以用y=f(x)和f(x)=p·x的函数来表示,其中p是该模型的唯一参数(注意:p表示该直线的斜率)。这个模型可以用下图来表示:

表示我们的模型y = f(x)

为了找到参数p,使函数y=x·p的值在所有给定的示例(x,t)中都接近期望输出t,我们必须用数学方法定义一种能够衡量“亲密度”的度量方法,即“成本函数”。在此,我们有一个解决该问题的典型成本函数,即将所有的示例(x,t)的期望输出t和模型输出y之差的绝对值的平方值(也就是|t-y|²)求和。最终,成本函数的形式为Σ| t - (xp)| ²,其中Σ(sigma)表示求和。由于这个例子非常简单,对于所有的参数p,我们很容易便能看到整个的成本函数。

例子中的成本函数

为了找到最好的参数p,我们需要最小化成本函数。请记住,我们的模型中存在一个参数p,并且在输入x时生成输出y。因此我们可以把这个模型写成y = xp。由于成本函数的表达式是Σ| t-y | ²,我们可以用xp代替y,并将成本函数写成Σ | t -(xp)| ²的形式。如果我们想要最小化这个函数,并使输出y尽可能接近期望输出t, 我们可以让每个输入样本(x,t)尝试所有可能的p值,并最终选择其中一个p值,该p值能够使所有输入样本的成本之和最低。

当模型中只有一个参数时,尝试所有可能的p值是可能的,但是很快当模型中存在多个参数时尝试所有p值的方法就会变得不可行。这也就是导数能够发挥作用的时候。利用导数,我们可以简单地为p选择一个随机起始参数值,然后开始在相反的方向上求导,最终找到成本函数的最低点。导数(梯度)下降的过程也被称为梯度下降。

这个过程如下图所示,我们从p=0.3开始,然后沿着梯度进行12个次渐变,同时改善模型与数据的拟合的情况(右图所示的线)。当成本函数不再大幅度下降时,我们停止对模型进行拟合,此时最终的参数p的值为1.94,成本函数的值为0.451。我们注意到,相比最初的线性回归函数,最终的线性回归函数与数据(x,t)的匹配程度更高,而且高很多。

梯度下降优化

▌神经网络

以上就是我们在训练神经网络模型时实实在在发生的事情。然而,更典型的神经网络模型是由比y=xp模型复杂得多的函数组成的。我们有各种各样的神经网络模型,但通常它们都是可以区分的,并且可以用在上文介绍的梯度下降法进行优化。

例如,在计算机视觉中使用的典型神经网络由多个层组成,每一层都对应成百上千个参数以及一个非线性函数。正是由于在神经网络中存在许多个层,所以才有了“深度学习”这一术语。在模型中使用多个层的好处是,每个层都可以利用上一层提取的信息来建立更为复杂的数据表示。正因为如此,神经网络才会非常强大,经过训练后不仅可以从视频中识别出猫,还能识别语音,甚至也能玩Atari视频游戏。

如果你想尝试一些小型的神经网络,可以试试谷歌的Tensorflow;如果你想尝试一些更具技术含量的神经网络,想要学习更多的东西,你可以尝试查阅我的教程“如何实现神经网络”(how to implement networks),并且在它的帮助下尝试建立自己的模型。

gradient descent

https://en.wikipedia.org/wiki/Gradient_descent

how to implement networks

http://peterroelants.github.io/posts/neural_network_implementation_part01/

原文地址

https://medium.com/onfido-tech/machine-learning-101-be2e0a86c96a

【来源】本文经“AI100(ID:rgznai100)”授权

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 175,490评论 5 419
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 74,060评论 2 335
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 124,407评论 0 291
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 47,741评论 0 248
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 56,543评论 3 329
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 43,040评论 1 246
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 34,107评论 3 358
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 32,646评论 0 229
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 36,694评论 1 271
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 32,398评论 2 279
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 33,987评论 1 288
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 30,097评论 3 285
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 35,298评论 3 282
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 27,278评论 0 14
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 28,413评论 1 232
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 38,397评论 2 309
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 38,099评论 2 314

推荐阅读更多精彩内容