18、支持向量机模型构建、评估与部署全解析

支持向量机模型构建与评估全解析

支持向量机模型构建、评估与部署全解析

1. 支持向量机模型操作流程

在支持向量机模型的构建与优化过程中,有一系列具体的操作步骤。首先,我们可以通过以下操作查看相关结果:
- 使用“View Charts”菜单查看聚类中心为 2 的结果。
- 恢复区间变量的局部解释图。
- 关闭结果窗口。
- 运行整个管道并查看模型比较结果,基于默认的 KS 值,支持向量机模型在该管道中表现最佳。
- 再次关闭结果窗口。

1.1 模型正则化与超参数调整

支持向量机模型中,找到使损失函数最小化的模型参数是一项具有挑战性的任务。使用自动调优功能时,SAS Visual Data Mining and Machine Learning 会返回惩罚项、核函数以及多项式核函数的次数。自动调优可通过在支持向量机节点的“Options”选项卡中选择“Performing Autotuning”选项来调用。不过需要注意,执行自动调优可能会显著增加运行时间。

自动调优会搜索以下支持向量机参数的最佳组合:
| 参数 | 说明 | 初始值 | 搜索范围 |
| ---- | ---- | ---- | ---- |
| 惩罚项 | 指定是否自动调整惩罚值 | 1 | 0.000001 到 100 |
| 多项式次数 | 指定是否自动调整 SVM 模型的多项式次数 | 1 | 1 到 3 |

1.2 搜索选项

自动调优的搜索选项有多种,具体如下:
- 贝叶斯(Bayesian) :使用先验信息来启动迭代优化。
- 遗传算法(Genetic algorithm) :使用初始拉丁超立方体样本启动遗传算法,每次迭代生成新的替代配置种群。
- 网格(Grid) :使用每个自动调整参数的下限、上限和中间值,以初始值作为基线模型。
- 拉丁超立方体样本(Latin hypercube sample) :执行优化的网格搜索,每个调整参数均匀分布,但组合随机。
- 随机(Random) :生成一组纯随机配置的样本。

1.3 其他相关选项

除了上述参数和搜索选项外,还有一些其他的重要选项:
- 每次迭代的评估次数 :仅在搜索方法为遗传算法或贝叶斯时可用,默认值为 10,范围从 2 到 2,147,483,647。
- 最大评估次数 :仅在搜索方法为遗传算法或贝叶斯时可用,默认值为 50,范围从 3 到 2,147,483,647。
- 最大迭代次数 :仅在搜索方法为遗传算法或贝叶斯时可用,默认值为 5,范围从 1 到 2,147,483,647。
- 样本大小 :仅在搜索方法为随机或拉丁超立方体样本时可用,默认值为 50,范围从 2 到 2,147,483,647。

1.4 自动调优搜索的通用选项

1.4.1 验证方法
  • 分区(Partition) :使用分区验证方法,需指定用于随机分配观测值到每个角色的比例,默认验证数据比例为 0.3。
  • K 折交叉验证(K - fold cross validation) :使用交叉验证方法,每次模型评估需要 k 次训练执行(在 k - 1 个数据折叠上)和 k 次评分执行(在一个保留折叠上),这会使评估时间大约增加 k 倍,默认折叠数为 5,范围从 2 到 20。
1.4.2 目标函数
  • 名义目标目标函数 :用于优化名义目标的调优参数,可能的值包括平均平方误差、曲线下面积、F1 分数等,默认值为误分类率。
  • 区间目标目标函数 :用于优化区间目标的调优参数,可能的值包括平均平方误差、平均绝对误差等,默认值为平均平方误差。
1.4.3 时间限制
  • 最大时间(分钟) :指定优化调优器的最大时间。
  • 单个模型的最大训练时间(分钟) :指定单个模型训练的最大时间,默认无最大时间限制。

1.5 实践操作:构建支持向量机模型

以下是构建支持向量机模型的具体实践步骤:
1. 构建一个使用自动调优功能的支持向量机模型。在 Lesson 5 管道中添加一个支持向量机节点,并连接到变量选择节点,启用自动调优功能。探索自动调优选择时可用的设置,但除多项式次数外,保持所有属性为默认值。在自动调优属性下,将多项式次数的最大值设置为 2。此实践可能需要几分钟才能运行完成。
2. 确定自动调优过程中选择的核函数,以及惩罚参数的值,并与其他 SVM 使用的默认值(1)进行比较。
3. 通过考虑拟合统计量平均平方误差,比较自动调优的 SVM 与管道中的其他模型。

1.6 小测验

问题:由于只有最接近分离超平面的观测值用于构建支持向量机,因此维度灾难得到了缓解。
答案:正确

2. 模型评估与部署

2.1 模型部署概述

在机器学习中,模型部署是指使用新数据进行预测的模型应用过程。构建模型通常并非项目的终点,在大多数情况下,在个人本地机器上进行预测仅在有限时间内可行。如果模型具有实用性,组织需要以可操作的方式使用它,以便快速甚至自动地做出决策。模型部署阶段可以简单到生成报告,也可以复杂到实施可重复的预测过程。通常,我们会构建多个模型,先评估单个模型,然后进行比较以确定最佳模型(通常称为冠军模型),最后将冠军模型部署到生产环境中,这个过程称为评分。模型部署后,需要监控性能并根据需求进行更新。

2.2 模型评估

在模型评估阶段,我们需要评估所构建模型的有效性。没有一个模型在所有情况下都是最好的,特别是考虑到随着时间推移数据发生变化时。选择模型主要基于评估指标和性能统计图形。同时,还需要根据业务需求评估模型,例如解释预测的能力、模型的准确性、评分速度或训练速度等。预测建模的目的是泛化,即模型在新数据上的性能。为了避免乐观偏差,通常采用数据拆分的方法,将一部分数据用于拟合模型,其余数据用于经验验证。验证数据集用于优化模型超参数,训练数据集用于拟合模型,测试数据集用于评估模型在新数据上的性能。

2.3 交叉验证

对于小数据集,单一验证分区可能导致验证数据不足,且保持训练和验证数据的代表性具有挑战性。因此,对于小数据集,通常建议使用交叉验证进行模型验证。交叉验证避免了重叠的测试集,具体步骤如下:
1. 将数据拆分为 k 个大小相等的子集。
2. 依次将每个子集用于验证,其余子集用于训练,这称为 k 折交叉验证。

在 k 折交叉验证中,误差估计会被平均以得出总体误差估计。这种方法可以更好地表示整个数据集的误差,但会增加处理时间。

2.4 评估指标

评估模型性能的数值指标称为评估指标或拟合统计量。选择合适的评估指标需要考虑两个因素:目标测量尺度和预测类型。不同的预测类型有不同的评估重点:
- 决策预测 :对于二元目标,通常考虑主要决策和次要决策。匹配主要决策与主要结果得到真阳性,匹配次要决策与次要结果得到真阴性。决策预测可以通过准确性(预测与结果的一致比例)或误分类(预测与结果的不一致比例)来评估。
- 排名预测 :对于二元目标,每个案例会被分配一个分数,根据其成为主要或次要结果的可能性进行排名。正确排序的主要和次要案例对称为一致对,错误排序的称为不一致对,排序相等的称为平局对。排名预测可以通过一致度(一致对的比例)或不一致度(不一致对的比例)来评估,平局对越少越好。
- 估计预测 :对于二元目标,估计预测是每个案例主要结果的概率。主要结果案例的预测概率应较高,次要结果案例的预测概率应较低。目标与估计之间的平方差称为平方误差,平均平方误差是模型性能的基本评估指标,平均平方误差较低的模型偏差较小。

2.5 按预测类型选择模型拟合统计量

模型拟合统计量可以按预测类型分组:
- 决策预测 :模型比较工具根据准确性或误分类、利润或损失以及 Kolmogorov - Smirnov(KS)统计量来评估模型性能。KS 统计量描述了模型分离主要和次要结果的能力。
- 排名预测 :常用的两个密切相关的模型拟合度量是 ROC 指数和 Gini 系数(对于二元预测),ROC 指数等于一致案例的百分比加上一半平局案例的百分比,Gini 系数等于 2 * (ROC 指数 - 0.5)。
- 估计预测 :常用的性能统计量包括 Schwarz’s Bayesian criterion(SBC)和混淆矩阵。SBC 是一种惩罚似然统计量,可以看作是加权平均平方误差。混淆矩阵是用于计算和显示二元目标决策预测模型性能评估指标的常见格式,它显示了真阳性、真阴性、假阳性和假阴性的数量。

2.6 响应率图表

在直接营销活动中,我们可以使用预测模型预测每个客户响应的概率。为了评估模型性能,可以通过检查与模型相关的累积增益和提升来衡量其与随机目标选择相比的优势。
- 增益图 :说明使用预测模型进行业务决策与不使用模型(即基线或随机模型)相比的优势,也称为累积百分点击(CPH)图,在 Model Studio 中称为累积百分比捕获响应图。
- 提升图 :帮助我们决定使用哪个模型更好。如果成本/收益值不可用或变化,可以使用提升来选择更好的模型。提升图中,累积提升是响应率的比率,分子是给定模型在给定百分位数(P)的累积百分点击,分母是无模型时相同百分位数的累积百分点击。模型的提升曲线越高,通常越适合模型部署,但最佳模型可能因百分位数而异。

2.7 模型比较

在 Model Studio 中,我们可以使用模型比较节点在管道内比较模型,也可以使用管道比较选项卡在多个管道之间比较模型。
- 模型比较节点 :当添加监督学习节点时,模型比较节点会自动添加到管道中。它允许我们使用各种基准标准比较竞争模型的性能。对于分类目标,评估标准包括误差度量、基于提升的度量和从 ROC 曲线导出的度量;对于区间目标,有多种误差度量可供选择。所有评估指标都会针对可用的数据分区(训练、验证和测试)进行计算,我们还可以选择用于选择冠军的分区。
- 管道比较选项卡 :仅比较每个管道的冠军模型。将每个管道的模型比较节点中选择的模型添加到管道比较选项卡中,这使我们能够比较项目中不同管道的模型并选择冠军模型。若要将未被模型比较节点选择的模型添加到管道比较选项卡中,可右键单击给定模型并选择“添加挑战者模型”。

2.8 模型比较演示

2.8.1 单个管道中比较多个模型

在 Lesson 3 管道中运行模型比较节点,比较模型基于不同拟合统计量的性能。具体操作步骤如下:
1. 可在项目设置选项的“Rules”属性下更改默认评估指标。
2. 若打开项目设置窗口,可点击“Cancel”关闭。
3. 也可在模型比较节点的属性下更改默认设置。点击 Lesson 3 管道选项卡打开它,选择模型比较节点。
4. 若基于树的模型已构建并单独评估,但模型比较节点未运行,可右键单击模型比较节点并选择“Run”。
5. 当模型比较节点完成(出现绿色复选标记),右键单击模型比较节点并选择“Results”。第一个结果表显示基于所选评估指标的冠军模型,评估模型和选择冠军的标准显示在属性表中。
6. 点击“Assessment”选项卡查看更多结果。在该选项卡中,有两个图和一个表展示所有比较模型的性能和拟合统计量。第一个图是提升报告,默认显示响应百分比,还可从菜单中选择查看基于捕获响应百分比、累积捕获响应百分比等的模型性能。第二个图是 ROC 报告,默认基于准确性,菜单提供查看基于 F1 分数和 ROC 的模型性能选项。最后,拟合统计表显示所有模型基于项目中定义的数据分区(训练、验证和测试)的一系列拟合统计量的性能。
7. 展开提升报告图,可查看图例,还可选择显示单个模型或基于单个分区的所有模型的结果。
8. 恢复提升报告图。
9. 关闭结果窗口。

2.8.2 跨管道比较多个模型并注册冠军模型

通过管道比较选项卡比较每个管道的最佳模型,并注册冠军模型以用于管理模型工具。具体操作步骤如下:
1. 点击“Pipeline Comparison”。在管道比较选项卡顶部,可看到每个管道的冠军模型以及管道比较中的总体冠军模型。默认评估指标为 Kolmogorov - Smirnov(KS)。
2. 选择结果页面顶部所有模型旁边的复选框,也可选择表顶部“Champion”旁边的复选框。
3. 当选择多个模型时,右上角的“Compare”按钮将被激活,点击该按钮可查看比较结果,其中评估统计量和图形可在每个管道的所有冠军模型之间进行比较。
4. 关闭比较结果窗口,取消选择窗口顶部表中的模型,直到仅选择总体冠军模型,总体项目冠军模型在“Champion”列中用星号表示。
5. 在注册冠军模型进行部署之前,查看“Insights”选项卡提供的摘要信息。该选项卡包含项目、冠军模型和任何挑战者模型的摘要报告,包括项目的目标变量、冠军模型、事件率和管道数量等信息。
6. 最大化“Most Common Variables Selected Across All Models”图,该图通过显示变量最终出现在多少个管道冠军模型中来总结项目中使用的公共变量。
7. 恢复“Most Common Variables Selected Across All Models”图。
8. 最大化“Assessment for All Models”图,该图总结了每个管道的冠军模型和总体项目冠军的模型性能。
9. 恢复“Assessment for All Models”图。
10. 最大化“Most Important Variables for Champion Model”图,该图显示了根据实际总体冠军模型计算的相对重要性确定的最重要变量。
11. 恢复“Most Important Variables for Champion Model”图。
12. 在报告底部,可查看“Cumulative Lift for Champion Model”图,该图显示了总体项目冠军模型在训练和验证分区的累积提升。
13. 点击“Pipeline Comparison”选项卡返回管道比较结果。
14. 确保仅选择冠军模型,点击右上角的三个垂直点访问项目管道菜单,选择“Register models”。注册模型窗口将出现,状态列中“Registering”旁边的旋转圆圈表示所选模型(如梯度提升)正在积极注册,以便该模型可用于其他 SAS 应用程序。注册完成后,注册模型窗口将更新以指示注册过程已成功完成。注册冠军模型后,可在 SAS 模型管理器中查看和使用它,在其中可以以不同格式导出评分代码、部署模型并管理其性能。

3. 评估指标详解

3.1 分类目标评估指标

评估指标 说明
准确率(Accuracy) 衡量每个响应变量值正确分类的观察值数量,是正确分类的事件和非事件案例数除以所有案例数。
曲线下面积(Area under the curve,C 统计量) 二元结果的拟合优度度量,是一致率,计算为曲线下的面积。
平均平方误差(Average squared error) 平方误差(SSE)之和除以观察值数量。
捕获响应(Captured response) 每个区间的事件数除以总事件数。
累积捕获响应(Cumulative captured response) 捕获响应率的累积值。
累积提升(Cumulative lift) 按预测事件概率降序排序的数据中,指定百分位数区间及之前的累积提升。
F1 分数(F1 score) 精度(正预测值)和召回率(灵敏度)的加权平均值,也称为 F 分数或 F 度量。
错误发现率(False discovery rate) 预期的第一类错误比例,即错误拒绝原假设(假阳性率)。
假阳性率(False positive rate) 误分类为阴性的阳性案例数。
增益(Gain) 类似于提升图,等于使用预测模型的预期响应率除以不使用模型的预期响应率。
基尼系数(Gini) 模型质量的度量,值在 -1 到 1 之间,接近 1 更好,也称为 Somers’ D。
柯尔莫哥洛夫 - 斯米尔诺夫统计量(Kolmogorov - Smirnov statistic,KS) 拟合优度统计量,表示模型 ROC 曲线与基线 ROC 曲线之间的最大分离。
KS(Youden) 拟合优度指数,表示模型 ROC 曲线与基线 ROC 曲线之间的最大分离。
提升(Lift) 衡量使用预测模型改善目标响应与不使用模型相比的优势,是使用和不使用预测模型获得的结果之比,图表较低百分位数的提升越高,模型越好。
误分类(事件)(Misclassification (Event)) 仅考虑事件级别与所有其他级别的分类,在 ROC 报告的上下文中计算,即在每个截止值处计算该度量。
误分类(MCE)(Misclassification (MCE)) 衡量每个响应变量值错误分类的观察值数量,是真正的误分类率。
多类对数损失(Multiclass log loss) 应用于多项分布目标的损失函数,是给定概率分类器预测的真实标签的负对数似然。
ROC 分离(ROC separation) ROC 曲线下的面积是准确率,ROC 分离允许您更改基于 ROC 的截止值,并评估模型在不同准确率范围内的性能。
平均平方误差的平方根(Root average squared error) 预测值与实际观察值之间平均差异的平方根。

3.2 区间目标评估指标

评估指标 说明
平均平方误差(Average squared error) 平方误差(SSE)之和除以观察值数量。
平均平方误差的平方根(Root average squared error) 预测值与实际观察值之间平均平方差异的平方根。
平均绝对误差的平方根(Root mean absolute error) 预测值与实际观察值之间平均差异的平方根,不考虑误差方向。
平均平方对数误差的平方根(Root mean squared logarithmic error) 预测值与实际观察值之间平均平方差异的平方根,差异通过对数函数测量。

4. 图形化评估工具

4.1 ROC 曲线

ROC 曲线是评估二元目标预测模型性能的常用图形工具。其构建过程如下:
1. 为一组验证数据生成预测,预测必须是排名或估计。
2. 按排名或估计从高到低对验证数据进行排序,创建按重要性排序的案例列表。
3. ROC 曲线的每个点对应于排序数据的特定比例。Y 轴表示累积真阳性率(即灵敏度),X 轴表示累积假阳性率(1 - 特异性),坐标轴上的比率范围从 0 到 1,图形包含在单位正方形内。
4. 对于不同的决策规则(即截止值)在 0% 到 100% 之间计算比率,但截止值不在图表中显示。

ROC 曲线的面积(C 统计量或 ROC 指数)可用于总结模型捕获主要和次要结果案例的能力。模型捕获主要和次要结果案例的比例接近选择比例的为弱模型,主要捕获主要结果案例而不捕获次要结果案例的为强模型。

4.2 增益图和提升图

4.2.1 增益图

增益图说明使用预测模型进行业务决策与不使用模型(基线或随机模型)相比的优势,也称为累积百分点击(CPH)图或累积百分比捕获响应图。例如,在直接营销活动中,通过比较使用和不使用模型时不同百分位数的累积捕获响应,可看出模型的优势。

4.2.2 提升图

提升图通常称为累积提升图,帮助我们选择更好的模型。累积提升是响应率的比率,分子是给定模型在给定百分位数(P)的累积百分点击,分母是无模型时相同百分位数的累积百分点击。提升图中,模型的提升曲线越高,通常越适合模型部署,但最佳模型可能因百分位数而异。

5. 总结

5.1 模型构建与调优

在支持向量机模型构建过程中,自动调优功能可帮助我们搜索最佳的模型参数组合。通过设置不同的搜索选项和相关参数,如惩罚项、多项式次数、搜索方法等,可以根据具体需求优化模型。同时,在实践操作中,我们可以通过调整特定参数(如多项式次数)来探索模型性能的变化。

5.2 模型评估

模型评估是选择合适模型的关键步骤。我们需要综合考虑多种评估指标,根据目标测量尺度和预测类型选择合适的指标。同时,交叉验证和数据拆分等方法可以帮助我们更准确地评估模型在新数据上的性能。图形化工具如 ROC 曲线、增益图和提升图可以直观地展示模型的性能,辅助我们进行模型比较和选择。

5.3 模型部署

模型部署是将最佳模型应用于实际业务的过程。通过在 Model Studio 中使用模型比较节点和管道比较选项卡,我们可以比较不同模型和管道的性能,选择冠军模型并进行注册。注册后的冠军模型可以在 SAS 模型管理器中进行进一步的操作,如导出评分代码、部署模型和管理性能。

mermaid 格式流程图展示模型评估与部署的主要流程:

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;

    A(构建多个模型):::process --> B(模型评估):::process
    B --> C{选择最佳模型}:::process
    C -->|冠军模型| D(模型部署 - 评分):::process
    D --> E(监控性能):::process
    E --> F{是否需要更新?}:::process
    F -->|是| G(更新模型):::process
    G --> B
    F -->|否| H(继续使用):::process

通过以上的流程和方法,我们可以更有效地构建、评估和部署机器学习模型,满足不同业务场景的需求。在实际应用中,我们需要根据具体问题和数据特点,灵活选择合适的模型和评估方法,以获得最佳的预测性能和业务效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值