机器学习的通俗解释
机器学习,到底是让机器(电脑)学习什么?今天尝试用最通俗的方式来解释一下。
一、人类学习的过程
人类学习一项能力的过程,以买西瓜为例,由于不能切开西瓜来看,所以我们通常通过瓜皮的颜色、瓜蒂的曲直、拍瓜的声音等因素(参数)来选择西瓜,下面例举了部分西瓜判断的情形:
瓜皮 | 瓜蒂 | 拍击声 | 生/熟 |
浅 | 直 | 清脆 | 生 |
浅 | 曲 | 沉闷 | 熟 |
深 | 曲 | 沉闷 | 熟 |
当买过几次西瓜之后,人们通常就能够总结出买西瓜的经验了:瓜皮颜色深、瓜蒂弯曲、拍击声沉闷的西瓜,通常是熟瓜的概率比较大。
选择西瓜的过程,我们可以看作是一个函数输入输出的过程:
f(瓜皮:浅,瓜蒂:直,声音:脆)= 生瓜
f(瓜皮:浅,瓜蒂:曲,声音:闷)= 熟瓜
f(瓜皮:深,瓜蒂:曲,声音:闷)= 熟瓜
这个判断西瓜生熟的函数,当输入不同的参数时,得出的结论不一样。
二、机器学习的过程
我们来改造一下上面的函数,如果用来分别代表瓜皮、瓜蒂和拍击声音,表示的参数,例如表示(瓜皮)为浅色,表示为深色,那么上面的函数可以表示为:
有了这个函数表示,我们可以让机器来学习判断西瓜的过程了:这些参数,具体该怎么选择,我们不告诉机器,但是我们可以根据以往的经验,告诉机器其中一些组合的结果,例如浅、直、脆=生瓜,深、曲、闷=熟瓜,让机器自己根据部分的结果,去总结这个函数中这几个参数的取值。这个过程就是机器学习的过程。
西瓜生熟的例子,判断的因素(参数)不多,判断的结果也只有两种,只是一个简单的例子。你可能会好奇,机器学习这么简单,对于我们来说有什么用?
三、机器学习的一个复杂例子
下面我们来换一个复杂的例子:通过抽血化验来判断一个人是否生病。
通常的抽血化验,检查的指标项有30-50项甚至更多,我们以50项指标的化验为例,我们用来表示这50项指标,假设每一项指标的结果分为合格(0)、不合格(1)两类,用表示,最终这些指标对应健康(0)与生病(1)两种结果,那么用函数来表示就是:
所有指标组合的结果一共有种情况,不考虑指标之间的相关因素,我们人类是不可能得到所有的结果的,也就是说,我们人类是不可能把所有结果都穷尽出来,然后仅凭抽血化验的结果就判断一个人是否生病的。
我们虽然没有所有化验的结果判断,但是一家医院还是存有几万份医生诊断的结果,也就是说,我们手头有部分化验指标对应的诊断结果,可以把这些结果告诉机器,让机器去寻找,当这些参数取什么值的时候,,找到了这些参数,也就找到了病人抽血化验参数与是否生病之间的对应关系。现阶段,这种对应关系可以辅助医生诊断病情,今后,这种对应关系甚至可能直接产生诊断结果。
今天,先用两个简单的例子来解释,什么是机器学习。之后,我会尝试尽可能用通俗的语言来解释机器学习的其它内容。