当今的机器学习领域已被统计学习方法统治,但统计学习有它自己的问题,例如它要求大量的数据,而且最好是有标记的数据,而实际情况是,很多数据都很难获取,尤其是一些不常见的长尾情形。
例如,医学领域中,我们很容易获得正常人的核磁共振图像,而脑疾病患者的核磁共振图像则相对较少,这时很多先进的统计学习方法都不能取得很好的效果,如果能够将医生的知识引入到学习系统中,将有很大的帮助。
又如,聊天机器人,现有系统都或多或少的存在知识面的问题,这导致这些系统显得缺乏一些基本常识,以及幽默感。由于这些知识很多很杂,如果依靠从数据中进行学习,则对数据量、计算能力和算法性能都提出了很高的要求。如果能把人类知识输入到学习系统里,将对系统有很大帮助。
规则学习就是统计学习之外的一种学习方法。这种方法可以从数据中学习出一系列的规则,这些规则有两种形式:
命题逻辑:例如 (分数=100)->优秀
一阶谓词逻辑:例如 更高(A,B)->更优秀(A,B)
可以看出,区别在于命题逻辑关注的是单个样本,而一阶谓词逻辑关注的是样本之间的相对关系。
规则学习的最简单方法是“序贯覆盖法”,其流程为
学习一个规则, 让它覆盖大多数的正例,覆盖较少的反例
从样本中移去这条规则所覆盖的正例,在剩余的样本中继续学习一个新的规则
重复第2步,直到覆盖所有的正例
将这些学习到的规则进行析取运算,便为最终学习到的规则
与统计学习相比,规则学习具有很好的可解释性,但缺点是泛化能力不如统计方法。因此,这种方法在80年代开始渐渐被统计学习超越。
但是,正如周志华老师所言,在富含结构信息和领域知识的任务中,逻辑表达的重要性逐渐凸显,而将规则学习和统计学习相结合是机器学习发展的一大趋势。
领取专属 10元无门槛券
私享最新 技术干货