7.3.3 分类算法

7.3.3 分类算法

目前,脑机接口领域较为常用的分类算法包含以下几类:朴素贝叶斯模型(naive Bayesianmodel,NBM)、决策树模型(decision treemodel)、支持向量机、K最近邻、逻辑回归(logistic regression,LR)和集成学习(ensemble learning)。以上多种分类算法都可以用于脑电信号分类,但是根据不同模式的脑电信号匹配最佳的分类算法仍然是一种很好的选择,因其可以有效提高系统的性能。

1.朴素贝叶斯模型

贝叶斯模型以贝叶斯原理为基础,使用概率统计的知识对样本数据集进行分类。由于有坚实的数学基础,基于贝叶斯模型的分类算法的误判率很低。贝叶斯模型结合了先验概率和后验概率,可以避免仅使用先验概率的主观偏见,也避免了单独使用样本信息的过拟合现象。而朴素贝叶斯模型是在贝叶斯模型的基础上进行了相应简化,即假定给定目标值时属性之间条件相互独立。没有哪个属性变量对于决策结果来说占有较大的比重,也没有哪个属性变量对于决策结果占有较小的比重。虽然这个简化方式在一定程度上降低了基于贝叶斯模型的分类效果,但在实际应用场景中极大地简化了贝叶斯模型的复杂性。

朴素贝叶斯模型假设数据集属性之间相互独立,因此算法的逻辑性十分简单且较为稳定,当数据呈现不同特点时,朴素贝叶斯模型的分类性能不会有太大差异。换句话说,朴素贝叶斯模型的健壮性比较好,对于不同类型的数据集不会有太大差异。当数据集属性之间的关系相对独立时,基于朴素贝叶斯模型的分类算法会有较好的效果。但是属性独立性的条件同时也是基于朴素贝叶斯模型的分类器的不足之处。数据集属性的独立性在很多情况下是很难满足的,因为数据集的属性之间往往相互关联,如果在分类过程中出现这种问题,会导致分类效果大大降低。

2.决策树模型

决策树是一种十分常用的分类方法,属于监管学习。所谓监管学习,即给定一个样本库,每个样本都有一组属性和一个类别,这些类别是事先确定的,通过学习得到一个分类器,这个分类器能够对新出现的对象给出正确分类。

决策树易于理解和实现,在学习过程中不需要使用者了解很多的背景知识,其能够直接体现数据特点,通过解释使用者都有能力去理解决策树所表达的意义。对于决策树,数据准备往往是简单或不必要的,而且其能够同时处理数据型和常规型属性,在相对短的时间内对大型数据源做出可行且效果良好的结果;易于通过静态测试来对模型进行评测,可以测定模型可信度。如果给定一个观察的模型,那么根据所产生的决策树很容易推出相应的逻辑表达式。

3.支持向量机

支持向量机是一类按照监督学习方式对数据进行二元分类的广义线性分类器(generalized linear classifier),其决策边界是对学习样本求解的最大边距超平面(maximummargin hyperplane)。SVM使用铰链损失函数(hinge loss)计算经验风险(empirical risk),并在求解系统中加入了正则化项以优化结构风险(structural risk),是一个具有稀疏性和稳健性的分类器。

SVM可以通过核方法(kernel method)进行非线性分类,是常见的核学习(kernel learning)方法之一。SVM于1964年提出,在20世纪90年代后得到快速发展,衍生出一系列的改进和扩展算法,在人像识别、文本分类等模式识别(pattern recognition)中得到广泛应用。

4.K最近邻

K最近邻分类算法,是一个理论上比较成熟的算法,也是最简单的机器学习算法之一。该算法的思路是,如果一个样本在特征空间中的K个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。所谓的K最近邻分类算法,即是给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的K个实例(也就是K个邻居),这K个实例的多数属于某个类,就把该输入实例分类到这个类中。

KNN分类算法不仅可用于分类,还可用于回归。通过找出一个样本的K个邻居,将这些邻居的属性的平均值赋给该样本,就可以得到该样本的属性。更有用的方法是对不同距离的邻居对该样本产生的影响给予不同的权值,如权值与距离成反比。该算法在分类时存在不足,即当样本不平衡时,如果一个类的样本容量很大而其他类样本容量很小,有可能导致当输入一个新样本时该样本的K个邻居中大容量类的样本占多数。该算法只计算“最近的”邻居样本,某一类的样本数量很大,那么或者这类样本并不接近目标样本,或者这类样本很靠近目标样本。无论怎样,数量并不能影响运行结果,可以采用权值的方法(和该样本距离小的邻居权值大)来改进。

该算法的另一不足是计算量较大,因为对每一个待分类的文本都要计算它到全体已知样本的距离,才能求得它的K个最近邻点。目前常用的解决方法是事先对已知样本点进行剪辑,去除对分类作用不大的样本。该算法比较适用于样本容量比较大的类域的自动分类,而那些样本容量较小的类域采用这种算法比较容易产生误分。实现K最近邻算法时,主要需要考虑的问题是如何对训练数据进行快速的K近邻搜索,这在特征空间维数大及训练数据容量大时非常必要。

5.逻辑回归

逻辑回归是一种广义线性回归,因此与多重线性回归分析有很多相同之处。它们的模型形式上基本相同,都具有w‘x+b,其中w和b是待求参数,区别在于因变量不同,多重线性回归直接将w‘x+b作为因变量,即y=w‘x+b,而逻辑回归则通过函数L将w‘x+b对应一个隐状态p,p=L(w‘x+b),然后根据p与1-p的大小决定因变量的值。如果L是逻辑函数,就是逻辑回归;如果L是多项式函数,就是多项式回归。

逻辑回归的因变量可以是二分类的,也可以是多分类的,但是二分类更为常用,也更加容易解释,多分类可以使用softmax方法进行处理。实际中最为常用的就是二分类的逻辑回归。逻辑回归模型的适用条件:①因变量为二分类的分类变量或某事件的发生率,并且是数值型变量。但是需要注意,重复计数现象指标不适用于逻辑回归。②残差和因变量都要服从二项分布。二项分布对应的是分类变量而非正态分布,故方程估计和检验问题是采用最大似然法来解决,而不是用最小二乘法。

6.集成学习

集成学习通过构建并结合多个学习器来完成学习任务,有时也被称为多分类器系统(multi-classifier system)、基于委员会的学习(committee-based learning)。集成学习通过将多个学习器结合,常可获得比单一学习器更加显著的泛化性能,这对于“弱学习器”尤为明显。因此集成学习的理论研究都是针对弱学习器进行的,而基学习器有时也被直接称为弱学习器。需注意的是,虽然从理论上说使用弱学习器集成足以获得很好的性能,但在实践中出于种种考虑,如希望使用较少的个体学习器,或是用一些常见学习器的经验等,人们往往会使用比较强的学习器。

根据个体学习器的不同,集成学习方法大致可分为两大类,即个体学习器间存在强依赖关系因而必须串行生成的序列化方法,以及个体学习器间不存在强依赖关系可同时生成的并行化方法。前者的代表是Boosting(提升方法),后者代表是Bagging和“随机森林”。