接触机器学习有一年了,是从上张敏老师的课开始的。后来师兄推荐了一本《统计学习理论的本质》,还记得第一印象觉得“统计”二字很奇怪。之后就渐渐习以为常了,接触到的机器学习方法都是基于统计的,以至于统计学习与机器学习成了一个概念,以至于最近看了一些东西突然觉得自己长见识了。
与统计(数字化)机器学习相对的,可以叫做符号(数学化、形式化)机器学习:统计学习的质料是数字,而它的质料是符号;统计学习学的是模型参数,它学的是模型结构;统计学习的搜索空间是连续的,它的搜索空间是离散的。常听说有基于统计与基于规则的区别,那么符号机器学习就是要自动学习那些规则。如果说统计机器学习是黑箱子,参数的意义难以解释,目的只是能够根据x输出合理的y,那么符号机器学习的目标就是能找出人能够理解的对象的规律,让人能够直接增加对事物的认识。
事实上唯一被保留下来的符号机器学习方法就是决策树。他学习的就是一个离散表示的树的结构,其分类过程可以写成命题逻辑的形式,即其结果是符号的。可以看到因为同为机器学习,所以也有过学习的现象,也有结构风险的概念,也受着奥坎姆剃刀的审视。决策树是自顶向下的,而符号学习中的AQ算法就是自低向上的,它期望用尽量少的规则覆盖所有正例而不包括负例(可见其对噪音更敏感)。
既然有命题逻辑的学习,就有谓词逻辑的学习。FOIL系统是比较有名的。他可以根据某一个家族成员间满足parent(x,y)的实例与满足grandparent(x,y)的实例,学习到grandparent与parent这两个谓词形式上的关系,这样的结果就是人类可以理解的知识——“a是b的grandparent,就是指a是b父母的父母”。
还有个有趣的叫Bacon的系统。通过物理实验数据,再次发现了理想气体方程等物理定律。他与普通的回归分析不同,因为事先它不知道要拟合的是什么形式的曲线,方程的形式是他通过启发式搜索得到的。
还有两个理论叫粗糙集与概念格。他们的对象也是样本与样本的特征,目标也是分类,跟统计机器学习完全一样。他们也是要做“特征选择”,分出哪些对分类是必须的,哪些是可以用的,哪些是多余的。概念格有意思的地方是他给“概念”了一个形式化的定义,还包括“外延”与“内涵”都形式化了,真是个模仿真实情况的模型玩具。之所以是玩具,因为粗糙集与概念格都太形式化了太漂亮了以至于更难与复杂的现实结合,比如用它来做人脸识别简直是噩梦。不过我对他们的了解也不深入,需要更多的考察。
做机器人脑识别没听说用基于规则推理的,做机器定理证明也没听说用基于统计的。他们一个是复杂的现实对象,一个是抽象的符号对象。而有趣的是自然语言是介于两者之间的。
有人说学计算机的去单独搞生物信息学很难,必须要一个生物科班出身的给其专业知识方面的指导,如同瞎子背瘸子。而计算语言学的语言学门槛很低,有计算机背景的很容易上手。我想符号学习对统计学习的启示大概就是如此。如同目前的文本分类、分词的统计模型,都没有使用一点语言学知识。svm,crf结构没有一点为应对语言问题而做出的专门的改动。LDA是一个启示,既然统计学习弱于结构,我们似乎就应该考虑语言的本质在模型结构上下功夫,使其更适合语言问题。