提交需求
赛事与广告咨询合作,请填写需求表单,我们会在第一时间与您联系!
不知道你有没有这样的感受,想学点人工智能,却被一大堆名词吓坏? 想看点直白的说人话的简单介绍,却被各种绕来绕去的语言弄昏头?
没关系,本文就试图以最简单的语言,给你普及一下我们通常所说的人工智能的四种方法,并通过有趣的例子,帮你建立一些直观的感受,而且很容易读懂,是一篇机器学习入门的不可多得的好文章。有感兴趣UI的可以加群:740187290
文章开始了:
读懂机器学习的四大方法
根据训练方法的不同,机器学习可以分为四类:
监督学习
无监督学习
半监督学习
强化学习
监督学习是用正确答案已知的例子来训练神经网络,也就是用标记过的数据。如果我们想设计一个系统——从相册中找出包含你的父母的照片,基本的步骤如下:
第一步:数据的生成和分类
首先,需要将你所有的照片看一遍,记录下来哪些照片上有你的父母。然后把照片分为两组。第一组叫做训练集,用来训练神经网络。第二组叫做验证集,用来检验训练好的神经网络能否认出你的父母,正确率有多少。
之后,这些数据会作为神经网络的输入,得到一些输出。用数学语言表示就是:找到一个函数,该函数的输入是一幅照片。当照片上有你的父母的时候,输出为1;没有的时候,输出为0。
这种问题通常叫做分类。因为这个例子中,输出只有两个可能,是或者不是。
当然,监督学习的输出也可以是任意值,而不仅仅是0或者1。举另一个例子,我们的神经网络可以预测一个人还信用卡的概率。这个概率可以是0到100的任意一个数字。这种问题通常叫做回归。
第二步:训练
在进行训练这一步时,每一幅图像都会作为神经网络的输入,根据一定的规则(激活函数),决定某个神经元的输出,进而得到某一层的输出。当计算完所有神经元的时候,最后得到了最右边的神经元(输出节点)的输出,是0还是1。
上一步中,我们已对照片上是否有你父母做过标记。这样,我们就能知道神经网络所预测的结果是否正确,并把这一信息反馈回神经网络。
这里所反馈的,是成本函数的计算结果,即神经网络计算结果与实际情况的偏差。这个函数也叫做目标函数、效用函数或者适应度函数。这一结果用来调整神经元的权重和偏差,这就是BP算法,即反向传播算法,因为该信息是从后向前传递的。
刚才针对的是一个照片。你需要对每张照片不断重复这个过程。每个过程中都要最小化成本函数。
BP算法有很多实现方法,最常用还是梯度递减的方法。
Algobeans 非常通俗易懂的解释了这个方法。Michael Nielsen 在此基础上,加上了积分和线性代数,也给出了形象生动的演示。
神经网络入门
https://algobeans.com/2016/11/03/artificial-neural-networks-intro2/
反向传播算法原理
http://neuralnetworksanddeeplearning.com/chap2.html
第三步:验证
至此,第一组中的数据已经全部用完。接下来我们会用第二组数据验证训练得到的模型的准确率。
优化模型的许多参数(超参)需要优化,因此导致第二步和第三步通常会交叉进行。常用的超参有神经网络有多少个神经元,有多少层神经元,哪个函数用来激活一个神经元(激活函数),用多快的速度来训练网络(学习速率)等等。Quora 工程师主管的这一回复很好的解释了这些超参。
Quora 工程师主管回复
https://www.quora.com/What-are-hyperparameters-in-machine-learning
第四步:应用
完成以上三步,模型就训练好了。接下来,我们可以把模型融合到程序中。模型可以提供一个 API,例如 ParentsInPicture(photo)。当应用程序调用该 API 的时候,模型会计算得到结果,并返回给应用程序。
稍后,我们将用同样的方法步骤,在 iPhone 上制作一个 APP,用来识别名片。
对数据集进行标记的成本是非常高的。因此,必须确保使用网络得到的收益比标记数据和训练模型的消耗要更高。
举例来说,在医学领域,根据X光照片标记病人是否患有癌症成本是很高的,但能以极高的准确率来诊断病人是否患癌的系统则又非常有价值。
▍无监督学习
无监督学习 中使用的数据是没有标记过的,即不知道输入数据对应的输出结果是什么。无监督学习只能默默的读取数据,自己寻找数据的模型和规律,比如聚类(把相似数据归为一组)和异常检测(寻找异常)。
假设你要生产T恤,却不知道 XS、S、M、L 和 XL 的尺寸到底应该设计多大。你可以根据人们的体测数据,用聚类算法把人们分到不同的组,从而决定尺码的大小。
假如你是初创的安全相关公司的 CTO。你想从网络连接情况找到一些蛛丝马迹:突然增大的数据流量可能意味着有快要离职的员工下载所有的 CRM 历史数据,或者有人往新开账户里面转了一大笔钱。如果你对这类事情感兴趣,可以参考无监督异常检测算法概览:
Google Brain 团队的人想让系统知道 YouTube 视频里面有什么。他们所实现的 “YouTube 找猫算法”重新激起了大众对于人工智能的热情。他们的论文介绍了 Google Brain 同斯坦福大学的 Quoc Le 和吴恩达合作,开发出一个分类算法,能够把 YouTube 视频分为很多不同的类,其中一类就是猫。他们并没有为系统设置“找猫”的任务,也没有提供任何标记数据,但是算法能对 YouTube 视频自动分组,并且找出了猫,当然还有 ImageNet 所定义的22000个类别中的数千个其他物体。半监督学习训练中使用的数据,只有一小部分是标记过的,而大部分是没有标记的。因此和监督学习相比,半监督学习的成本较低,但是又能达到较高的准确度。举例来说,我们在 AI 咨询公司 Joostware 工作的朋友 Delip Rao,用半监督学习方法对每类只标记30个数据,和用监督学习对每个类标记1360个数据,取得了一样的效果。并且这使得他们的客户可以标记更多的类,从20个类迅速扩展到了110个类。
强化学习也是使用未标记的数据,但是可以通过某种方法知道你是离正确答案越来越近还是越来越远(即奖惩函数)。传统的“冷热游戏”(hotter or colder,是美版捉迷藏游戏 Huckle Buckle Beanstalk 的一个变种)很生动的解释了这个概念。你的朋友会事先藏好一个东西,当你离这个东西越来越近的时候,你朋友就说热,越来越远的时候,你朋友会说冷。冷或者热就是一个奖惩函数。半监督学习算法就是最大化奖惩函数。可以把奖惩函数想象成正确答案的一个延迟的、稀疏的形式。
大牛,别默默的看了,快登录帮我点评一下吧!:)
登录 立即注册