日常生活中,人的很多决策都是依靠经验而产生的。比如:根据西瓜的颜色色泽、敲声来判断西瓜甜不甜;根据今年的降雨量来判断今年庄稼的收成;根据一个人的衣着判断这个人的性格经历等等。
对于这样的决策行为,计算机能帮忙吗?
对于没有接触过机器学习的程序开发人员或许都有这样一个认识:我们要想样帮助我们完成某项任务,那我么就必须编写明确的指令来使计算机完成这项任务。如果我们的指令不是明确的,那计算机自然就无法执行我们的命令,因此也就无法完成任务。从这个角度上来讲,计算机显然不能根据经验帮助我们做决策。
可是机器学习的出现,使得这个问题有了不一样的答案。''机器学习,致力于研究如何通过计算的手段,利用经验来改善系统自身的性能。在计算机系统中,经验通常以'数据'形式存在,因此,机器学习所研究的主要内容,是关于在计算机上从数据中产生模型(model)的算法,即"学习算法(learning algorithm)"。有了学习算法,我们把经验数据提供给它,它就能基于这些数据产生模型;在面对的的情况时,模型会给我们提供相应的判断。如果说计算机科学是研究关于"算法"的学问,那么类似的,可以说机器学习是研究关于"学习算法"的学问。
机器学习是一种全新的思维模式。在这种模式中,我们不再自己去研究解决问题的每一种具体方法,然后通过计算机语言来实现;而是研究学习算法,使得计算机能够自己从数据中学习出结论(模型),并能用数据不管改善自己的结论,从而自己获得决策的能力。