机器如何学会判断是非

机器学习,顾名思义就是让机器像人一样学会学习,但如何实现呢?早年间,这看上去似乎是一个不可能事情,但在今天,无人驾驶、语音识别,越来越多的事实正在告诉我们,一个AI时代正在到来。

定义问题

很小的时候,我们便学会了如何判断,判断这个是花那个是草,那个是树,可是如何让机器才能学会判断?我们先从简单开始,先来判断是还是不是。

比如这里有一张图片,她是不是树呢?对于人类而言就很简单,但是对于机器不然,我们首先需要将它转化成机器可以理解的语言。

所以第一步就是将这样一个现实问题,抽象成一个数学问题。

这里我们定义两个变量,一个是输入x,另一个是输出y,这里的x就类似于这张图片,奖他输给计算机,而y,就是最终得到的结果,判断这是否是一棵树。

x和y之间有一定的关系,但这个关系是未知的,这里我们用f来代表它们之间的真实关系。

判断是还是不是这实际上是一个二分类问题,就像我这里有一堆的资料,我要把它分成两类,一类是好的一类是不好的,但什么样的资料是好的,什么样的是不好的,肯定是有一定分类方法,但短时间可能我们很难判断,而且资料工很多工作量很大,所以这个时候我们就希望通过机器,来帮助我们寻找规律,这里我们把通过机器找出来的规律称作g。

提出假说

我们希望我们得到的g,跟真实的f是相等的,或者是近似相等。可是f是未知的,如果f已知,那我们就不需要再做机器学习。但我们也不能就此放弃,在面对未知的问题的时候,我们首先可以思考一下,我们知道些什么?

目前我们唯一知道的就是,我们获得的这些资料是来自于f的,那我们能不能先假设,在这些已经获得的资料上,我们的g,是等于f呢?数学表达就是g(x)=f(x)=y

为了方便说明我们这里先从最简单的说起。如图所示:

我们获得了这些资料,就像图中的这些随机的点,我们假设,这些点是线性可分的。也就是说我能找到一根线,正好将这些随机的点分成两类。可是在这样的二维平面里,我们可以找到无数根线,究竟哪一根才是真正的那根线呢?

尝试与修正

一次试验就成功是很需要运气的,但掌握一定的方法,然后不断尝试,总会有找到最佳方案。

按照这种思路,我们首先在这无数条线中随机选择一条线,它可能并不能很好的分类,但我们可以找到一个被错分的点,然后计算它距离这根线的距离,近而调整距离,剩下的就是不断重复和迭代,总会找到一条还不错的线。

总结

第一,定义问题,将复杂的现实问题抽象为数学问题,这一步很关键也很难。

第二,提出假设,尝试在已经获得的资料上去寻找规律,验证假设。

第三,试错验证,找到相对最好的解释。

虽然我们谈论的是机器的学习,但这也是我们自己的学习方式,一开始总会犯错,通过学习、经历不断修正,总会成为更好的自己,先完成,再完美。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180707G0KNTW00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券