要学习人工智能,实际上我们对于智能要有一个认真的思考,所谓智能就是预测的能力吧,能够预测未来,根据现在的数据推测未来数据的能力就是智能吧。之前牛顿从苹果掉落总结出重力的定律,爱因斯坦总结智能方程其实都是智能化的一种吧。
根据各种已有的数据/现象总结出规律,可以是一个线性函数或者一个概率函数其实都是一种智能化的体现,比如根据数序列1,2,4,8,16...总结y=x的平方,我们就具备了输入X可以得到Y的预测能力了吧,这个函数可以很好的拟合未来的数据序列,那就是一种智能化能力吧。这是人的一种学习能力,把这种能力反应到机器上就是机器学习能力把,机器也可以学习y=x的平方 这样简单的函数能力,还可以学习更复杂的能力,比如人脸识别、语音识别和语义理解等等,只不过用到的函数非常复杂,还不一定拟合的这么准确罢了。无论什么样的智能或者学习,都是根据输入,按照模型得到输出的过程吧。其实计算机就是一种智能啊,有输入、有输出,有一个黑盒模型。
机器学习最常见的一种是监督学习,最开始的几步是对于模型的训练,“多了”或“少了”可以理解为训练时的误差,模型根据误差调整自身参数,这就是机器学习里常用的反向传播(Backpropagation)的简单的解释。因为我们现实生活中面对的数据序列不都是简单的1,2,4,8,16...这些序列或者现实中都不存在,我们面对的是海量的数据,复杂无头绪的数据,我们看到之前数据的因果关系,但是我们不知道为什么,怎么计算的。比如你看到张三的脸,就能认出来是张三,这个模型对人来说很简单,但是对于机器确实来说超级复杂,我们没有一个函数可以输出这个结果。就需要一个超级复杂的模型不断来验证,这个就是监督式学习吧,根据已有的推测未知的未来。
其实人类的学习也是监督式学习,人的学习按逻辑顺序可分为三个阶段:输入,整合,输出。人的学习是一个人根据过往的经验,对一类问题形成某种认识或总结出一定的规律,然后利用这些知识来对新的问题下判断的过程。按照贝叶斯原理,可能我们的学习方式就是这样的,总是根据已知来推测未知,同时根据获得的新数据、新知识来不断修正未来的方式。我们的物理好像就是这样的吧,一开始式牛顿,后来有麦克斯韦,有爱因斯坦,都是站在巨人的肩膀上做出的努力(都是根据已有数据,再加上新的观测和数据,来修正我们对未知的预测或者看法)。学习能力绝对是人类打猩猩时代起憋出的大招,在它的帮助下人类一举登顶食物链之巅。就是人类的脑容量和寿命毕竟有限,由于这个限制,纵使人类有超级的学习能力,还是很难让现有知识爆炸性增长的。帮助人类突破这个瓶颈的,正是计算机,或者说是“机器学习”
怎么指导计算机或者机器从数据中总结规律呢?
它们就是各式各样的机器学习算法。机器学习是指用某些算法指导计算机利用已知数据得出适当的模型,并利用此模型对新的情境给出判断的过程。而在这整个过程中,最关键的是数据,是数据,是数据!重要的事情说三遍。机器学习三要素是模型、策略和算法,其实感觉还应该加上“数据”吧。
机器学习是你不去设计, 而让计算机自己去磨,如同用一套很一般的模子里打磨出能够解决特定问题的武器。这点上,机器学习做的正是” 自发能够产生解决问题的程序的程序” , 一些机器学习的经典算法如线性回归, SVM, 神经网络, 它们单个都不能解决问题, 但是通过“学习”却可以一会去预测房价一会去寻找美女。
机器学习是一个源于数据的模型的训练过程,最终归纳出一个面向一种性能度量的决策。 “训练一个模型”代表训练实例,“模型”表示通过经验学习获得的状态,“归纳出一个决策”代表基于输入做出决策的能力,并且需要一个用于未来决策的、不可见的预期输入。最后,“面向一种性能度量”是指准备好的模型的针对性需要和定向特性。
机器学习里面有一个定理:没有免费的午餐定理,就是说没有一个优秀的或者通用的算法可以对一切问题进行拟合,要根据不同的数据,不同的情况,按照不同的模型,优化不同的参数。
机器学习就是在总结过去,预测未来。