svr算法和svm算法哪个好

Python018

svr算法和svm算法哪个好,第1张

1、支持向量机( SVM )是一种比较好的实现了结构风险最小化思想的方法。它的机器学习策略是结构风险最小化原则

为了最小化期望风险,应同时最小化经验风险和置信范围)

支持向量机方法的基本思想:

( 1

)它是专门针对有限样本情况的学习机器,实现的是结构风险最小化:在对给定的数据逼近的精度与逼近函数的复杂性之间寻求折衷,以期获得最好的推广能力;

( 2

)它最终解决的是一个凸二次规划问题,从理论上说,得到的将是全局最优解,解决了在神经网络方法中无法避免的局部极值问题;

( 3

)它将实际问题通过非线性变换转换到高维的特征空间,在高维空间中构造线性决策函数来实现原空间中的非线性决策函数,巧妙地解决了维数问题,并保证了有较好的推广能力,而且算法复杂度与样本维数无关。

目前, SVM

算法在模式识别、回归估计、概率密度函数估计等方面都有应用,且算法在效率与精度上已经超过传统的学习算法或与之不相上下。

对于经验风险R,可以采用不同的损失函数来描述,如e不敏感函数、Quadratic函数、Huber函数、Laplace函数等。

核函数一般有多项式核、高斯径向基核、指数径向基核、多隐层感知核、傅立叶级数核、样条核、 B

样条核等,虽然一些实验表明在分类中不同的核函数能够产生几乎同样的结果,但在回归中,不同的核函数往往对拟合结果有较大的影响

2、支持向量回归算法(svr)主要是通过升维后,在高维空间中构造线性决策函数来实现线性回归,用e不敏感函数时,其基础主要是 e

不敏感函数和核函数算法。

若将拟合的数学模型表达多维空间的某一曲线,则根据e 不敏感函数所得的结果,就是包括该曲线和训练点的“

e管道”。在所有样本点中,只有分布在“管壁”上的那一部分样本点决定管道的位置。这一部分训练样本称为“支持向量”。为适应训练样本集的非线性,传统的拟合方法通常是在线性方程后面加高阶项。此法诚然有效,但由此增加的可调参数未免增加了过拟合的风险。支持向量回归算法采用核函数解决这一矛盾。用核函数代替线性方程中的线性项可以使原来的线性算法“非线性化”,即能做非线性回归。与此同时,引进核函数达到了“升维”的目的,而增加的可调参数是过拟合依然能控制。

文章自动打分简称 AES (Automated Essay Scoring),AES 系统利用 NLP 技术自动对文章进行打分,可以减轻阅卷人员的负担。目前有不少大型的考试都采用了 AES 算法进行作文打分,例如 GRE 考试,GRE 考试会有一位阅卷老师和 AES 系统一起打分,如果 AES 的分数和阅卷老师的分数相差过大,才有再增加一位阅卷老师进行打分。本文主要介绍两种比较经典的自动打分算法。

自动打分算法从优化目标或者损失函数来说大致可以分为三种:

传统的自动打分算法通常会人工设置很多特征,例如语法错误,N 元组,单词数量,句子长度等,然后训练机器学习模型进行打分。目前也有很多使用了神经网络的方法,通过神经网络学习出文章的特征。

下面介绍两种打分算法:

出自论文《Regression based Automated Essay Scoring》。给定很多需要打分的文章后,首先需要构造出文章的特征,用到了人工设置特征和向量空间特征。

拼写错误 Spelling Errors :使用 pyenchant 包统计出拼写错误单词数量占总单词数量的比例。

统计特征 Statistical Features :统计字符数量,单词数量,句子数量,段落数量,停止词数量,命名实体数量,标点符号数量 (反映文章的组织情况),文本长度 (反映写作流畅程度),不同词汇的数量与总单词数的占比 (反映词汇量水平)。

词性统计 POS count :统计各种词性出现的频率,例如名词,动词,形容词,副词等,词性通过 nltk 包获取。

语法流畅特征 Grammatical Fluency :使用 link grammar (链语法) 解析句子,然后统计 links 的个数;统计 n 元组出现的概率;统计词性 n 元组出现的概率。

可读性 Readability :可读性分数是衡量文本组织以及文本句法和语义复杂程度的一个指标。采用了 Kincaid 可读性分数作为一个特征,计算公式如下

本体特征 Ontological Features :为每个句子打上标签,例如研究、假设、主张、引用、支持和反对等。

可以将一篇文章投影到一个向量空间模型中 (VSM),此时文章可以用向量空间中的一个特征向量表示,例如可以用 one-hot 编码表示一篇文章,长度等于词汇表长度,如果一个单词出现在文章中,则对应的位置置为 1,如下:

另外也可以使用 TF-IDF 向量表示文本,但是采用这种表示方式单词之间不存在任何关联,为了解决这个问题,文章中使用了一个单词相关性矩阵 W 加上线性变换从而引入单词之间的相关性。

单词的相关性矩阵 W 通过 word2vec 生成的词向量计算,即 W (i,j) = 单词 i 和单词 j 词向量的余弦相似度。

最后,为了考虑文章中单词的顺序问题,将文章拆分成 k 个段落,然后分别计算向量空间特征,融合在一起。

得到上述特征之后,采用 SVR 算法进行回归学习。数据集是 kaggle ASAP 比赛数据集,数据集包含 8 个集合的文章,评价指标采用 KAPPA 和相关系数,以下是一些实验效果。

这是在 8 个集合上分别使用 linear kernel 和 rbf kernel 的效果。

这是和人类打分者的对比。

以下内容出自论文《Neural Networks for Automated Essay Grading》,可以采用回归或者分类的方法进行训练,模型如下图所示。

论文中主要使用了三种方法构造出文章的特征向量:

论文中主要用了三种神经网络结构,NN (前向神经网络),LSTM 和 BiLSTM。所有的网络都会输出一个向量 h(out),根据 h(out) 构造出损失函数,下面分别是回归和分类的损失函数。

回归损失

分类损失

第一种模型:NN (前向神经网络)

使用了两层前向神经网络,网络输入的文章特征向量是 Glove 词向量的平均值或者训练的词向量平均值。h(out) 的计算公式如下。

第二种模型:LSTM

LSTM 模型接受的输入是文章所有单词的词向量序列,然后将 LSTM 最后输出的向量作为文章的特征向量 h(out)。

第三种模型:BiLSTM

因为文章通常比较长,单向的 LSTM 容易丢失前面的信息,因此作者也使用了 BiLSTM 模型,将前向 LSTM 和后向 LSTM 模型的输出加在一起作为 h(out)。

添加 TF-IDF 向量

以上模型的输出 h(out) 都可以再加上 TF-IDF 向量提升性能,首先需要对 TF-IDF 向量降维,然后和模型的输出拼接在一起,如下图所示 (BiLSTM 为例子)。

《Regression based Automated Essay Scoring》

《Neural Networks for Automated Essay Grading》

svr是一种算法,SPSS是一个统计软件,这两个东西怎么比呀?

看你的运用环境,需要,就做svr,找相应的工具。

如果普通的线性回归或逻辑回归,用SPSS就可以了。