机器学习100天-Day1603支持向量机回归

说明:本文依据《Sklearn 与 TensorFlow 机器学习实用指南》完成,所有版权和解释权均归作者和翻译成员所有,我只是搬运和做注解。

第五章是对支持向量机SVM的系统介绍,阐述支持向量机的核心概念,怎么使用这个强大的模型,以及它是如何工作的。

这应该是第三次做这方面的内容了,贴出另一个比较全面的SVM进阶博客。

https://blog.csdn.net/v_JULY_v/article/details/7624837

支持向量机(SVM)是个非常强大并且有多种功能的机器学习模型,能够做线性或者非线性的分类,回归,甚至异常值检测。机器学习领域中最为流行的模型之一,是任何学习机器学习的人必备的工具。SVM特别适合应用于复杂但中小规模数据集的分类问题

本章使用数据为Sklearn中iris数据

源代码已经同步在github中

https://github.com/jwc19890114/-02-learning-file-100days

3. SVM回归

SVM 算法应用广泛:不仅仅支持线性和非线性的分类任务,还支持线性和非线性的回归任务。

读到这里突然忘记回归任务和分类任务的区别了……

回归问题的应用场景(预测的结果是连续的,例如预测明天的温度25度)。回归问题通常是用来预测一个值。另外,回归分析用在神经网络上,其最上层是不需要加上softmax函数的,而是直接对前一层累加即可。回归是对真实值的一种逼近预测。

分类问题的应用场景(预测的结果是离散的,例如预测明天天气类型-阴,晴,雨)。分类问题是用于将事物打上一个标签,通常结果为离散值。

OK,我们继续。

SVM算法应用于回归任务,技巧在于“逆转目标”,不是试图找到两类之间的最大margin,而是在限制间隔违规情况下,尽量放置更多的样本在间隔上。间隔宽度由超参数C控制。下面使用SVR来实现SVM回归。(这就是为什么Sklearn里面svm有一个SVC和SVR,SVC是分类,SVR是回归

作为对比,生成了两个SVM回归模型,其中一个epsilon=1.5,另一个0.5

在处理非线性回归任务中,可以使用核化SVM模型。关键参数设定类似上一节的核设定

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190113A0HOFL00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券