引子
系统的学习机器学习课程让我觉得受益匪浅,有些基础问题的认识我觉得是非常有必要的,比如机器学习算法的类别。
为什么这么说呢?我承认,作为初学者,可能无法在初期对一个学习的对象有全面而清晰的理解和审视,但是,对一些关键概念有一个初步并且较为清晰的认识,有助于让我们把握对问题的认识层次,说白了,就是帮助我们有目的的去学习新的知识,带着问题去学习,充满对解决问题的动力去实验,我觉得这种方式是有益并且良性的。
之前,我遇到过很多这方面的问题,可能出于对问题分析不够,在寻找解决的问题的方法或者模型的时候,有可能不知所措。造成这种情况的原因可能有两点:1、基础不深厚,不了解最常用的算法模型;2、学习过程中,缺乏对模型适用的实际问题的了解,缺乏将模型应用于实际问题的经验。
所以,在学习过程中,要特别注意的不光是深入研究算法的精髓,还要知道该算法的应用场合、适用条件和局限性。如果只是去探究原理,而不懂实际应用,只能是书呆子,只会纸上谈兵;如果只想拿来用,不去深究算法精髓,又只能游离在核心技术的边界,无法真正的领悟。只有结合理论和实践,才可以达到学习效果的最大化。从这条路径出发,一定要坚持不懈。
输入空间、特征空间和输出空间
输入空间和输出空间其实就是输入和输出所有可能取值的集合。输入和输出空间可以是有限元素的集合,也可以是整个欧式空间。输入空间和输出空间可以是一个空间,也可以是不同的空间;通常情况下,输出空间要远远小于输入空间。
特征空间是所有特征向量存在的空间。特征空间的每一维对应于一个特征。有时假设输入空间与特征空间为相同的空间,对它们不予区分;有时假设输入空间与特征空间为不同的空间,将实例从输入空间映射到特征空间。模型实际上都是定义在特征空间上的。
这就为机器学习算法的分类提供了很好的依据,可以根据输入空间、特征空间和输出空间的具体情况的不同,对算法限定的具体条件进行分类。
各种学习型算法的分类
首先声明一下,下面的分类是我在学习相关课程和自己学习过程中进行的归纳,不尽完善,但是可以概括一定的问题,希望在此能总结一下,以备以后能理清思路并完善。
接下来介绍的算法的分类是根据初学者学习的内容的普遍角度展开的,分类角度从常用的分类方式到相对陌生的分类方式。