机器学习研究的是计算机怎样模拟人类的学习行为,以获取新的知识或技能,并重新组织已有的知识结构使之不断改善自身。机器学习就是计算机从数据中学习规律和模式,以应用在新数据上做预测的任务。
机器学习有点人类的思考过程,假设我们去买苹果,想挑又脆又甜的苹果,如何挑呢?记得妈妈说过,苹果的表面要光滑,没有虫眼,没有干枯。所以我们有了一个简单的标准,只挑表面要光滑的。
如果用计算机程序来帮我们挑选,则可写下这样的规则:
if(表面光滑) then
苹果是甜的
else
苹果不甜
我们会用这些规则来挑选苹果。如果在我们的苹果实验中有了新的发现,比如我们买回的苹果中有些是不好吃的,经过品尝各种不同类型的苹果,我们发现如果带有蒂的话那一定要选蒂比较绿的,枯黄的话就说明苹果不新鲜了。所以我们修改了规则:
if(表面光滑 and 蒂比较绿)then
苹果是甜的
else
苹果不甜
我们会发现这个普通的计算机算法有个缺点。那就是:我们需要搞清楚影响苹果甜度的所有因素的错综复杂的细节,比如又发现了自然熟透的苹果都是黄里透红,苹果越重说明含水量越充足等等。如果问题越来越复杂,我们就要针对所有苹果类型建立规则,手动地制定挑选规则就变得非常困难。
那如何解决克服这个缺点呢?机器学习算法可以解决这个问题。机器学习算法是由前面的普通算法演化而来的。通过自动地从提供的数据中学习,它会让我们的程序变得更“聪明”。
我们从市场上的苹果里随机地抽取一定的样品(机器学习里叫作训练数据),记录每个苹果的物理属性,比如颜色、大小、产地等(称之为特征),还记录下这个苹果甜不甜(称作标签)。
我们将这个训练数据提供给一个机器学习算法,然后它就会学习出一个关于苹果的特征和它是否甜之间关系的模型。下次我再去市场买苹果,面对新的苹果(测试数据),然后将新的苹果输入这个训练好的模型,模型就会直接输出这个苹果是甜的还是不甜的。有了这个模型,我们可以满怀自信地去买苹果了,根本不用考虑那些挑选苹果的细节。只需要将苹果的物理属性输入模型,就直接可以知道苹果是不是甜的。
更重要的是,我们可以让这个模型随着时间越变越好(增强学习),当这个模型读进更多的训练数据,它就会更加准确,并且在做了错误的预测之后进行自我修正。这还不是最棒的地方,最棒的地方在于,我们可以用同样的机器学习算法去训练不同的模型,比如我们可以使用同样的机器算法来预测橘子、西瓜的模型。这是常规计算机传统程序办不到的。这就是机器学习的专属优势。
总结一下,机器学习是用机器学习算法来建立模型,当有新的数据过来时,可以通过模型来进行预测。机器学习最基本的做法,是使用算法来解析数据、从中学习,然后对真实世界中的事件做出决策和预测。与传统的为解决特定任务、硬编码的软件程序不同,机器学习是用大量的数据来“训练”,通过各种算法从数据中学习如何完成任务。