AI小白学习之旅(1):从什么是机器学习说起
一、我们先定义一下什么是机器学习machine learning
在最早的书中,对于机器学习的定义是:通过非显著式的编程使得机器能够获得学习能力。 (感觉不太讲人话,首先就不理解啥是显著式,啥是非显著式编程,这个我们稍后再谈。)
在之后的书中,对于机器学习的定义更加数学化,标准化,理性化,它的定义是:如果一段程序被认为是可以学习的,那么在一个任务T上,可以用一个性能指标P来衡量任务完成的好坏,而性能指标P会随着一个经验E的增加而增加。 (还是不讲人话,但这是一个理性地表达方式,更加的严谨。不过,如果我们需要真正的理解什么是机器学习,那么我们还应该对机器学习有感性的认识。)
感性认知,需要举个例子:为了让计算机识别菊花和玫瑰花,有两种方式。
方法一:人为的输入菊花的特点(黄色,花瓣长条形的),玫瑰花的特点(红色,花瓣圆形的),然后计算机根据人为输入的特征对于菊花和玫瑰花进行分类。
方法二:不事先给出区分菊花和玫瑰花的特征,而是直接给计算机大量菊花和玫瑰花的图片,并且告诉计算机哪些是玫瑰花,哪些是菊花。在大量的图片的支持下,计算机可能可以自己识别出哪些是玫瑰花,哪些是菊花。感性上看,我们可以认为是计算机自己总结出了一些特征和规律来区分菊花和玫瑰。但是实际上,对于计算机而言,那只是一些数学的参量的判定结果,对于人类而言,并不确定这些参量是否可以解读出人类能理解的意义。说人话就是,机器总结的规律有可能人能理解,但是机器也有可能发现一些人不能理解或不可见的规律,这些规律也能保证在识别菊花与玫瑰花时保持准确。
机器学习,我们指的就是方法二这样的一个过程,机器通过大量数据的支持,学习到了一些领域的知识(或者是规律),并且可以通过这个规律来对本领域新的问题做出解答。在方法二的例子中,我们不人为规定菊花有哪些特征,玫瑰花有哪些特征,只告诉机器结果,而不告诉机器理由和原因,反映到编程上,这就是: 人类在编程中不给定具体的规则和特征。这是非显著式编程的主要特点。 此外,方法二的例子也很好的解释了定义中的度量P,经验E,任务T。对于机器来说,分辨菊花和玫瑰花就是它的任务T,而大量的已经标明好哪些是玫瑰哪些是菊花的图片,则是经验E。机器对于新的图片,将图片准确识别出是玫瑰花还是菊花,度量识别好坏的叫做识别率,而识别率就是P(performance表现)。机器通过E的增加,在任务T上提高P。这符合我们一般生活中的规律,一个事情,我们越熟练,经验(E)越丰富,遇到同类的事情(T)我们解决处理的更完善,表现(P)更好。
这就是机器学习理性的认识和感性的认识了。于我个人而言,机器学习更像是一种赋予机器灵魂的尝试。人类对世界的认知也是由大量的经验堆积起来的,人类做出的决定也是基于以往的一些列经验,机器学习,就是在模仿这样一个过程。