Scikit-learn实战之 SVM回归分析、密度估计、异常点检测

Scikit-learn实战之

SVM回归分析、密度估计

异常点检测

1. SVM回归

SVM的支持向量的方法能够被扩展以解决回归问题。这种方法被称之为SVR(Support Vector Regression 支持向量回归)。该模型是由SVC(支持向量分类)演化而来,它依然依赖于训练数据的子集。因为构建Model的损失函数并不关心位于边缘上的训练点(样本)集。类似的,由支持向量回归(SVR)生成的模型仅仅依赖于训练数据的某个子集,因为构建模型的损失函数忽略了所有的接近模型预测的训练数据。

Scikit-learn提供了三种不同的支持向量回归的实现:SVR, NuSVR 和 LinearSVR。LinearSVR提供了最快的实现,但是它仅仅实现了线性核函数。如果想搞清楚它们三者的具体实现细节,请参考:

http://www.csie.ntu.edu.tw/~cjlin/libsvm/

作为回归分析的参数,y必须是浮点数型:

代码

>>> from sklearn import svm
>>> X = [ [0, 0], [2, 2] ]
>>> y = [0.5, 2.5]
>>> clf = svm.SVR()
>>> clf.fit(X, y)
>>> clf.predict( [ [1, 1] ] )
array( [ 1.5] )

2. 密度估计、异常点检测

One-class SVM用于异常点检测。也就是说,给一个样本集合,它将检测该点集的软边缘以对将来的新的检测点是否属于该集合加以判断。该类的实现是OneClassSVM。检测结果为1表示内部点,-1表示离群点。

代码

>>> from sklearn import svm
>>> X = [ [0, 0], [1, 1], [2, 0], [0, 3], [-3, 0],
                [-1, -1], [-2, -2], [-2, 2], [2, -2] ]
>>> Y = [ [0.5, 0.5], [-2.5, 0], [9, 9], [5, -2] ]
>>> estimate = svm.OneClassSVM()
>>> estimate.fit(X)
>>> results = estimate.predict(Y)
>>> print(results)
 [ 1.  1. -1. -1.]

3. 复杂性分析

SVM是一个强大的工具,但是它对计算和存储需求随着训练样本的增加而急剧增长。

SVM的核心是一个二次规划问题,计算的复杂度在:

之间。

作者:章华燕

小编:赵一帆

原文发布于微信公众号 - 机器学习算法全栈工程师(Jeemy110)

原文发表时间:2017-09-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏人工智能LeadAI

边缘检测论文笔记

摘要:这篇论文提出了一种基于FCNN和深度监督网络的新的边缘检测算法HED,它解决了两个重要的问题,1)整体图片的训练和预测,2)多尺度多层级的特征学习。HED...

992
来自专栏CreateAMind

Deep Learning Book 中文第八章 深度学习模型中的优化

学习和优化的差异;神经网络的优化挑战;参数初始化策略;自适应学习率算法;二阶近似方法;优化技巧和元算法:batch normalization;

721
来自专栏人工智能

机器学习基础

监督学习:训练时有输入及对应的输出结果的学习方式。目前推荐的学习方式,适合有比较好数据源的场景 非监督学习:训练时只有输入,不知道结果的学习方式。各种数据不完善...

1739
来自专栏ATYUN订阅号

【教程】估算一个最佳学习速率,以更好地训练深度神经网络

对于训练深度神经网络来说,学习速率是调优的最重要的超参数之一。在这篇文章中,我将描述一个简单而有力的方法来找到一个合理的学习速率。这种方法是我从Fast AI网...

2776
来自专栏人工智能

单样本学习:使用孪生神经网络进行人脸识别

选自towardsdatascience 作者:Firdaouss Doukkali 机器之心编译 参与:Nurhachu Null、刘晓坤 这篇文章简要介绍单...

3358
来自专栏人工智能

从AlexNet到残差网络,理解卷积神经网络的不同架构

导读: 卷积神经网络对视觉识别任务很有帮助。优秀的卷积神经网络具有数百万个参数和大量隐藏层。事实上,一个错误的经验法则是:「隐藏层的数量越多,卷积神经网络越好」...

1867
来自专栏机器之心

从语义上理解卷积核行为,UCLA朱松纯等人使用决策树量化解释CNN

40510
来自专栏机器学习算法全栈工程师

深度学习入门

引言 近几年来人工智能越来越火,大家都已经知道了AlphaGo的威力,然而在其背后,从技术层面来说,深度学习功不可没。那么深度学习到底是什么,其...

2757
来自专栏郭耀华‘s Blog

MaxPooling的作用

1152
来自专栏机器之心

深度森林第三弹:周志华组提出可做表征学习的多层梯度提升决策树

2164

扫码关注云+社区