您的当前位置是:第六章 机器学习>>学习内容>>知识点三

观看视频讲解,学习机器学习

一、机械学习的模式

机械学习是最简单的机器学习方法。机械学习就是记忆,即把新的知识存储起来,供需要时检索调用,而不需要计算和推理。机械学习又是最基本的学习过程。任何学习系统都必须记住它们获取的知识。在机械学习系统中,知识的获取是以较为稳定和直接的方式进行的,不需要系统进行过多的加工。

当机械学习系统的执行元件解决完问题之后,系统就记住该问题及其解。可以把系统的执行元件抽象成某个函数F,该函数在得到自变量输入值(X1,X2,…,Xn)之后,计算并输出函数值(Y1,Y2,…,Yp)。若经过评价得知该计算是正确的,则把联想对:

[(X1,X2,…,Xn),(Y1,Y2,…Yp)]

存入知识库中。以后再次需要F(X1,X2,…,Xn)时,系统的执行机构就直接从知识库中把(Y1,Y2,…,Yp)检索出来而不是重新计算它。

假设要设计一个汽车修理成本估算保险程序,它的输入信息是有关待修理汽车的描述,包括制造厂家、出厂日期、车型、汽车损坏的部位以及它的损坏程度,输出则是该汽车的修理成本。为了进行估算,系统必须在其知识库中查找同一厂家、同一出厂日期、同一车型、同样损坏情况的汽车,然后把知识库中对应的数据作为修理成本的估算数据输出给用户。若在系统的知识库中没有找到这样的汽车,则系统使用保险公司公布的赔偿规则估算出一个修理费用,并得到确认,然后把该车的描述与估算出的费用存储到知识库中,以便将来查找使用。

机械式学习实质上是用存储空间来换取处理时间,所以在机械学习中要全面权衡时间与空间的关系,这样才能取得较好的效果。

二、数据化简

Lenat,Hayes Roth,和Klahr等人于1979年关于机械学习提出一种有趣的观点。他们指出,可以把机械学习看成是数据化简分级中的第一级。数据化简与计算机语言编译类似;其目的是把原始信息变成可执行的信息。在机械学习中我们只记忆计算的输入输出,忽略了计算过程,这样就把计算问题化简成存取问题。见图6.2。

正像计算问题可以化简成存取问题一样,其它的推理过程也可以简化成较为简单的任务。例如推导可以简化成计算。比如说,第一次要我们求解一个一元二次方程的时候,我们必须使用很长的一段推导才能得出解方程的求根公式。但是一旦有了求根公式,以后再解一元二次方程时,就不必重复以前的推导过程了,可以直接使用求根公式计算出根,这样就把推导问题简化成计算问题。同样地,归纳过程也简化成推导过程。例如我们可以在大量病例的基础上归纳总结出治疗的一般规律,形成规则,当遇见一个新病例时,我们就使用规则去处理它,而不必参照以前的众多病例推断解决办法。化简的目的主要是为了提高工作效率。

问题:机械学习把把计算问题化简成( )问题。
A.存取 B.求解问题

三、主要问题

对于机械学习,需要注意3个重要的问题:存储组织,稳定性和存储与计算之间的权衡。

①存储结构

只有检索一个项目的时间比重新计算一个项目的时间短时,机械学习才有意义,检索得越快,其意义也就越大,因此,采用适当的存储结构,使检索速度尽可能快,是机械学习中的重要问题。在数据结构与数据库领域,为提高检索速度,人们研究了许多卓有成效的数据存储方式,如索引,排序,杂凑等,在机械学习中可充分利用这些成果。

②环境的稳定性和存储信息的适用性

使用机械学习时,总是认为保存的知识或信息以后仍然有效,若环境急剧变化,保存的知识和信息就会失效而不能再使用。例如,知识库存储的是二十世纪九十年代计算机的配置及价格,就不能用它来估计二十一世纪当前的计算机的配置及价格,因为计算机发展得太快了,它的配置和价格目前都已发生了很大的变化。解决这一问题的办法就是随时监视环境的变化,不断更新知识库中保存的信息或知识。

③存储与计算间的权衡

因为机械学习的根本目的是改进系统的执行能力,因此对机械学习来说很重要的一点是它不能降低系统的效率。这种存储与计算之间的权衡问题有两种解决方法:一种方法是估算一下存储信息所要花费的存储空间以及检索信息时所花费的时间,然后将其代价与重新计算所花的代价进行比较,再决定是否存储信息;另一种方法是把信息先存储起来,但为了保证有足够的检索速度,限制了存储信息的量,系统只保留那些最常使用的信息,“忘记”那些不常使用的信息,这种方法也叫“选择忘却”技术。