【数据挖掘算法分享】机器学习平台——回归算法之支持向量机
2022-08-19 13:51:00
次
在机器学习中,支持向量机是具有相关学习算法的监督学习模型,用于分析用于分类和回归分析的数据。在支持向量回归中,拟合数据所需的直线称为超平面。
支持向量机回归(Support Vector Regression, SVR) 方法是支持向量机(Support Vector Machines, SVMs) 处理回归问题的算法。它通过定义 epsilon 带,将回归问题转换为分类问题,以极大化类间间隔为目标,并以之作为最佳回归超平面。
算法思想:
支撑向量机回归(Support Vector Regression, SVR) 方法是支撑向量机(Support Vector Machines, SVMs) 处理回归问题的算法。它通过定义 epsilon 带,将回归问题转换为分类问题,以极大化类间间隔为目标,并以之作为最佳回归超平面。其中定义的类间间隔为两类样本到分类超平面的最小距离。通过引入松弛变量,使支撑向量机能够解决类间重叠问题,并提高泛化能力;另一方面引入核函数能够使算法处理非线性分类问题。
支持向量机回归算法,假设能容忍f(x)与y之间最多有 ε 的偏差,即当f(x)与y之间的差别绝对值大于ε 时才计算损失。于是,SVR问题可形式化为:
其中C为正则化参数,是 ε-不敏感损失函数:
可采用序列优化算法进行求解,算法整体步骤如下:
1、给定训练数据样本集 ,选取适当的核函数 核适当的参数C和适当的精度参数ε,并构造求解最优化问题.
求解最优解
2、选择 的一个正分量0<
3、构造决策函数
是正定核函数。
支撑向量机回归在解决小样本、非线性及高维模式识别问题中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中,且其最终的决策函数只由少数支持向量所确定,计算复杂性取决与支持向量的数目,而不是样本数量,在某种意义是上避免了维数灾难。
数据格式
- 必须设置类属性(输出),且类属性(输出)必须是连续型(数值);
- 非类属性(输入)可以是连续型(数值)也可以是离散型(名词);
参数说明
参数 |
类型 |
描述 |
数据标准化 |
下拉框 |
设置数据标准化的方法,字符型,取值范围:无处理,归一化,标准化,默认值为无处理 |
取值区间下限 |
文本框 |
设置归一化取值区间下限,浮点型,取值范围:[0,∞),默认值为0 |
取值区间上限 |
文本框 |
设置归一化取值区间上限,浮点型,取值范围:[0,∞),默认值为1 |
正则化参数 |
文本框 |
正则化参数控制机器的复杂度,浮点型,取值范围:[0,∞),默认值为0.01 |
迭代步长 |
文本框 |
设置每次迭代的步长,浮点型,取值范围:(0,∞),默认值为0.01 |
最大迭代次数 |
文本框 |
设置最大迭代次数,整型,取值范围:[1,∞),默认值为100 |
最小批样本比例 |
文本框 |
设置每次迭代的样本比例,浮点型,取值范围:(0,1],默认值为1 |
是否显示变量重要性 |
复选框 |
用户选择是否分析每个变量对于回归结果的影响程度,如果选择是,则在洞察中显示参与建模的每个变量对于模型的贡献程度情况 |
结果说明
未设置核函数,所以是线性SVM,因此模型为线性方程及其系数。
最后一列属性“prediction”为预测列。
演示实例
在Tempo机器学习平台中构建如下流程:
【文件输入】节点配置如下:
【设置角色】节点配置如下:
【SVM回归】节点配置如下:
流程运行结果如下: