SVM、BP了解以及性能比较

来源:互联网 发布:hql与sql exists in 编辑:程序博客网 时间:2024/06/15 04:18

SVM的了解

通俗的说SVM 就是一种二分类器,特征空间上的间隔最大化的分类器,目的是从特征学习中取出一个0/1分类模型,对于二分类问题y只取两个值,目标是求一个超平面,而且有着很重要的意义。

直观上说超平面是分开两类数据的直线,所以求的最大间隔就是就是取函数间隔与几何间隔。为了使的分类的精度高,最大化间隔值,因此我们要找到最大的间隔值引出了最大间隔分类器定义为,当目标函数是二次的,是凸二次规划问题,可以使用QP优化包,一定的条件下,目标最优,损失最小,由于问题的特殊性,可以引入拉格朗日来找出对偶变量,这样更容易解出题目。

以上的说法只能解决线性问题,若是遇到非线性的问题,这就要引入核函数,核函数就是把非线性的问题映射为线性的,通过引入核函数,可将隐式得到的非线性数据映射到高维空间中,而不增加参数的个数。建立非线性学习器的2个步骤是:1.使用非线性映射,将数据映射到F。2.在特征空间中使用线性分类器。核函数可以分为这么几类,多项式核函数,斯核函数,线性核函数。他们的本质是遇到高维不可分的情况,可以映射到高维空间,解决映射中的维数爆炸,价值就在他虽然是低维转换到了高维,但是计算还是低维的。

SVM允许数据在一定的程度中偏离一下超平面。

SVM本质上是一个分类器,用定义分类函数,于是为最大的间隔继而引出了拉格朗日因子,有引出SMO算法与核函数。感知器算法就是不断的试错,来寻找一个超平面。

SVM用于文本分类,图像分类,生物序列排序,数据分析,字符识别。

2.BP神经网络

BP神经网络是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层、隐层和输出层。

BP算法由数据流的前向计算(正向传播)和误差信号的反向传播两个过程构成。正向传播时,传播方向为输入层→隐层→输出层,每层神经元的状态只影响下一层神经元。若在输出层得不到期望的输出,则转向误差信号的反向传播流程。通过这两个过程的交替进行,在权向量空间执行误差函数梯度下降策略,动态迭代搜索一组权向量,使网络误差函数达到最小值,从而完成信息提取和记忆过程。

通俗的讲就是一个加减乘除的做法。

BP网络首先要训练,使得网络可以记忆和预测

1.初始化网络

2.计算隐含层的输出

3.输出层的计算

4.误差计算

5.权值计算

6.阈值计算

7.判断迭代

这就是BP算法的流程。

比较SVM、BP、ELM的优缺点

ELM 的优缺点

数学建模简单,可以求得全局的最优解,泛化性能好

由于训练的数据小,也通过与BP的比较,没有的出明显缺点,尽管网上对ELM有很大的争议,我也没找出来。

SVM的优缺点:

非线性映射理论基础,利用核函数代替了高维空间的映射,最大化间隔是核心,支持向量是训练的结果,最终结果是少量的向量决定的,可以提出较大的样本,所以有较小的鲁棒性。

不足:对大规模训练难以实施,解决多分类有很大的困难。

BP 的优缺点:

可实现非线性映射,有自学能力,有推广概括能力。

不足时采用梯度下降法,速度慢,有可能进入局部最小值而训练失败,新加入的样本有影响,可能会出现欠学习或过学习。

0 0