支持向量机模型的优化与解释性分析
1. 模型性能评估与初步优化
在机器学习中,支持向量机(SVM)模型构建完成后,需要对其性能进行评估。常用的评估指标之一是平均平方误差(Average Squared Error, ASE)。例如,在验证分区(VALIDATE partition)上,初始默认设置下的支持向量机模型的平均平方误差为 0.1076。
为了提升模型性能,我们可以对模型进行优化。对于支持向量机,优化模型和优化复杂度这两个任务之间没有明显的界限。与决策树和神经网络不同,支持向量机的训练不涉及一系列模型或迭代过程。因此,不能通过评估多个模型或迭代过程在验证数据上的性能来优化复杂度。相反,我们可以调整一些关键的超参数,然后观察支持向量机模型在验证数据上的性能。
在 Model Studio 中,可以通过修改三个关键选项的设置来增加支持向量机模型的灵活性,它们分别是:
-
惩罚项(Penalty)
:在模型优化中,惩罚项用于考虑分类错误。
-
核函数(Kernel)
:核函数是一种数学函数,在高维空间中对转换后的数据进行点积运算。
-
容差(Tolerance)
:容差用于平衡支持向量的数量和模型的准确性。
2. 优化问题及解决方案
在支持向量机中,优化问题的目标是找到一个最优的超平面,使得不同类别的数据点能够被正确分类,并且超平面与数据点之间的间隔最大。
假设目标变量为二进制变量,用 +1 和 -1 表示。如果目标变量等于 1,则超平面 (H) 必须大于或等于 1;如果目标变量等于 -1,则 (H) 必须小于或等于 -1。最优超平面需要满足这些条件,并且具有最小的范数。
为了便于数学计算,将这两个约束条件合并为一个单一的约束条件。最大间隔超平面的宽度由点到直线的距离计算得出。一般来说,点 ((x_0, y_0)) 到直线 (Ax + By + C = 0) 的距离公式为:
[d = \frac{|Ax_0 + By_0 + C|}{\sqrt{A^2 + B^2}}]
通过最大化 (2/||w||) 来找到最大间隔超平面,其中 (||w||) 是向量 (w) 的范数,定义为 (||w|| = \sqrt{w’w})。最大化 (2/||w||) 等价于最小化 (||w||),为了简化数学计算,通常最小化 (||w||) 的平方。
如果数据点不是线性可分的,就需要引入软间隔超平面。在这种情况下,需要考虑分离超平面可能产生的错误。在优化过程中,错误点与超平面之间的距离通常用 (\xi) 表示。
惩罚项 (C) 的值对超平面的选择有重要影响:
- 当 (C) 值较大时,优化过程会选择一个较小间隔的超平面,以确保所有训练点都能被正确分类。
- 当 (C) 值非常小时,优化器会寻找一个较大间隔的分离超平面,即使这个超平面会错误分类更多的点。
对于优化问题,通常使用拉格朗日方法来求解。引入拉格朗日乘子 (\alpha_i \geq 0),将问题总结为一个拉格朗日函数。需要找到拉格朗日函数的鞍点,即对 (w)、(b) 和 (\xi) 进行最小化,对 (\alpha) 进行最大化。
3. 改变解决方案方法的示例
下面通过一个示例来展示如何改变支持向量机节点的默认设置,以提高模型性能:
1.
回顾初始模型性能
:基于默认设置的上一个模型在验证分区上的平均平方误差为 0.1076。
2.
修改惩罚项属性
:将惩罚项属性从 1 改为 0.1。较小的 (C) 值会使优化器寻找一个较大间隔的分离超平面,即使这个超平面会错误分类更多的点;而较大的惩罚值通常会提供一个更健壮的模型,但可能会导致过拟合。
3.
运行支持向量机节点
。
4.
打开节点结果
。
5.
查看评估指标
:点击“评估”选项卡,检查拟合统计窗口。调整后的支持向量机模型在验证分区上的平均平方误差为 0.0932,这个拟合统计值比使用默认设置的第一个模型更好(更小)。
6.
关闭结果窗口
。
| 操作步骤 | 具体内容 |
|---|---|
| 回顾初始模型性能 | 默认设置下验证分区平均平方误差 0.1076 |
| 修改惩罚项属性 | 从 1 改为 0.1 |
| 运行支持向量机节点 | 执行模型训练 |
| 打开节点结果 | 查看训练结果 |
| 查看评估指标 | 验证分区平均平方误差 0.0932 |
| 关闭结果窗口 | 结束操作 |
4. 核技巧
在前面的部分,我们尝试通过改变惩罚项来改进模型。但如果模型的性能仍然不理想,我们可以应用核函数来进一步提高分类效果。
在大多数实际场景中,数据通常不是线性可分的,软间隔分类器可能会产生太多错误,无法成为一个可行的解决方案。一种解决方案是将数据转换到更高的维度,然后在这个高维空间中找到最大间隔超平面。
然而,在特征空间中计算点积是非常困难的。为了克服这个问题,引入了核技巧。核技巧的核心思想是,不需要显式地将数据映射到高维特征空间,只需要计算特征空间中向量之间的内积。
在 Model Studio 中,提供了几种核函数:
-
线性核函数
:(K(u, v) = u^T v)
-
二次核函数
:(K(u, v) = (u^T v + 1)^2),添加 1 是为了避免 Hessian 矩阵中出现零值项。
-
三次核函数
:(K(u, v) = (u^T v + 1)^3),同样添加 1 是为了避免 Hessian 矩阵中出现零值项。
惩罚项的值用于平衡模型复杂度和训练误差。较大的惩罚值会创建一个更健壮的模型,但存在过拟合训练数据的风险。容差的值用于平衡支持向量的数量和模型的准确性。容差是一个用户定义的值,用于控制目标函数的绝对误差。如果容差太大,会导致支持向量太少;如果容差太小,则会过拟合训练数据。当绝对误差小于或等于容差时,迭代停止。
graph LR
A[数据线性不可分] --> B[使用核函数]
B --> C[映射到高维空间]
C --> D[找到最大间隔超平面]
D --> E[解决分类问题]
5. 模型解释性
理论上,支持向量机具有几何解释,因为它们是超平面。但在实践中,许多分析师认为支持向量机模型和神经网络一样,是黑盒模型。因此,在模型准确性和模型解释性之间通常存在权衡。
机器学习算法擅长生成准确且可泛化的预测模型,但很难理解算法是如何得出这些预测的,甚至难以了解模型的行为或趋势。我们无法通过分析模型参数来深入了解支持向量机和其他一些机器学习模型,但可以通过分析这些模型的预测结果来获得很多信息。
SAS Visual Data Mining and Machine Learning 提供了三种有助于用户解释模型结果的图:
-
部分依赖图(Partial Dependence, PD)
:PD 图描绘了模型输入与模型预测之间的函数关系。通过固定一些选定特征的值,并对其他特征进行平均,可以观察目标与特征之间的关系是线性、单调还是更复杂的。
-
个体条件期望图(Individual Conditional Expectation, ICE)
:ICE 图是 PD 图的分解,用于揭示观察层面的交互作用和差异。SAS Visual Data Mining and Machine Learning 默认会为最具代表性的观察簇创建 ICE 图。
-
局部可解释模型无关解释图(Local Interpretable Model-Agnostic Explanations, LIME)
:LIME 图围绕特定观察(或簇质心)创建一个局部线性回归模型。通过对原始输入数据进行扰动,创建一个样本数据集,然后使用原始模型对样本进行评分,并根据与感兴趣观察的接近程度对样本观察进行加权。最后,使用 LASSO 技术进行变量选择,并创建一个线性回归模型来解释扰动输入数据与扰动目标变量之间的关系。
这些图适用于所有模型,并且可以用于比较不同模型的结果。
6. 改变核函数并添加模型解释性的示例
下面通过一个示例来展示如何改变支持向量机节点的核函数和其他参数,并添加模型解释性:
1.
回顾上一个模型性能
:基于改变惩罚项的上一个模型在验证分区上的平均平方误差为 0.0932。
2.
修改核函数
:将核函数从线性改为多项式,多项式次数保持为 2。线性核函数通常适用于线性可分的数据,如果数据不是线性可分的,线性核函数的分类效果可能不佳。
3.
修改容差
:将容差从 0.000001 改为 0.5,容差指定了迭代停止的最小数值。
4.
修改最大迭代次数
:将最大迭代次数从 25 改为 10,该属性指定了每次尝试允许的最大迭代次数。
5.
运行支持向量机节点
。
6.
打开节点结果
。
7.
查看评估指标
:点击“评估”选项卡,检查拟合统计窗口。调整后的支持向量机模型在验证分区上的平均平方误差为 0.0912,略优于上一个模型。
8.
关闭结果窗口
。
虽然模型性能有所提高,但模型解释仍然是机器学习模型(包括支持向量机)中的一个具有挑战性的任务。
接下来,我们可以使用 Model Studio 的模型解释性功能来解释支持向量机模型:
9. 在训练后属性中,展开“模型解释性”,选择全局解释性中的 PD 图、局部解释性中的 ICE 图,并开启 LIME 图。
10. 滚动到训练后属性的底部,展开通用 ICE/LIME 选项。默认情况下,ICE 和 LIME 图用于解释簇质心,而不是单个观察。同时,默认从观察中生成两个簇用于这些图。
11. 再次运行支持向量机节点。
12. 打开节点结果。
13. 点击“模型解释性”选项卡。
14. 展开部分依赖图:部分依赖图显示了特征对先前拟合模型预测结果的边际效应。通过固定一些选定特征的值,并对其他特征进行平均,可以观察目标与特征之间的关系。例如,部分依赖图可以显示总超计划天数与模型预测之间存在正线性关系,即客户使用设备超过指定计划的时间(天数)越多,客户流失的概率就越高。
15. 查看其他变量的关系:点击“查看图表”旁边的下拉箭头,可以选择其他变量,如“手机使用年龄组”变量。该 PD 图表明,手机越旧,客户流失的概率越低。
16. 退出部分依赖图的最大化视图。
17. 展开个体条件期望图:对于选定的特征,ICE 图通常为每个实例绘制一条线,代表当特征变化时实例的预测如何变化。SAS Visual Data Mining and Machine Learning 默认会为最具代表性的观察簇创建 ICE 图。例如,总超计划天数的分段 ICE 图显示,对于两个客户细分市场,在其他特征不变的情况下,总超计划天数的增加会导致客户流失概率的一致增加。
18. 查看其他变量的 ICE 图:点击“查看图表”旁边的下拉箭头,选择“手机使用年龄组”变量。分段 ICE 图显示,对于两个簇,最旧手机年龄组的客户流失概率最低,并且簇 1 中最旧手机组的平均预测客户流失概率略低于簇 2。
19. 退出个体条件期望图的最大化视图。虽然 PD 和 ICE 图只能间接近似模型的工作原理,但它们是一种流行且高度可视化的工具,有助于理解日益复杂的机器学习模型。
20. 展开局部模型表:围绕簇质心 1 对扰动样本数据拟合了一个局部逻辑回归模型。表中的估计列是簇质心 1 的局部逻辑回归模型的估计参数系数。
21. 恢复局部模型表。
22. 展开名义变量的局部解释图:该图显示了簇质心 1 中每个名义输入的估计回归系数。例如,“手机使用年龄组”对该簇客户流失概率的影响最大,最旧手机年龄组(>48 个月)的系数为负,表明该组客户流失概率的最大降低。
23. 恢复名义变量的局部解释图。
24. 最大化区间变量的局部解释图:该图显示了簇质心 1 中总超计划天数的估计回归系数为正,表明对于该簇,总超计划天数的增加会导致预测客户流失概率的增加。
| 操作步骤 | 具体内容 |
|---|---|
| 回顾上一个模型性能 | 验证分区平均平方误差 0.0932 |
| 修改核函数 | 从线性改为多项式,次数为 2 |
| 修改容差 | 从 0.000001 改为 0.5 |
| 修改最大迭代次数 | 从 25 改为 10 |
| 运行支持向量机节点 | 执行模型训练 |
| 打开节点结果 | 查看训练结果 |
| 查看评估指标 | 验证分区平均平方误差 0.0912 |
| 关闭结果窗口 | 结束操作 |
| 添加模型解释性 | 选择 PD、ICE、LIME 图 |
| 再次运行支持向量机节点 | 执行模型训练 |
| 打开节点结果 | 查看训练结果 |
| 点击模型解释性选项卡 | 查看解释性结果 |
| 展开部分依赖图 | 查看特征与预测关系 |
| 查看其他变量关系 | 选择不同变量查看 |
| 退出部分依赖图最大化视图 | 结束操作 |
| 展开个体条件期望图 | 查看特征与预测关系 |
| 查看其他变量 ICE 图 | 选择不同变量查看 |
| 退出个体条件期望图最大化视图 | 结束操作 |
| 展开局部模型表 | 查看局部回归系数 |
| 恢复局部模型表 | 结束操作 |
| 展开名义变量局部解释图 | 查看名义变量系数 |
| 恢复名义变量局部解释图 | 结束操作 |
| 最大化区间变量局部解释图 | 查看区间变量系数 |
graph LR
A[改变核函数和参数] --> B[运行模型]
B --> C[查看评估指标]
C --> D{性能提升?}
D -- 是 --> E[添加模型解释性]
D -- 否 --> F[调整参数重新训练]
E --> G[运行模型]
G --> H[查看解释性结果]
通过以上步骤,我们可以逐步优化支持向量机模型的性能,并通过添加模型解释性来更好地理解模型的行为和预测结果。
支持向量机模型的优化与解释性分析(续)
7. 模型解释性工具的深入理解
前面介绍了 SAS Visual Data Mining and Machine Learning 提供的三种模型解释性工具,下面进一步深入探讨它们的特点和应用场景。
7.1 部分依赖图(PD)
PD 图是一种全局解释性工具,它通过固定一些特征的值,然后对其他特征进行平均,来展示单个特征对模型预测结果的边际效应。这种方法可以帮助我们了解特征与目标变量之间的整体关系,例如是线性关系、单调关系还是更复杂的关系。
例如,在前面的示例中,总超计划天数与模型预测之间的正线性关系,以及手机使用年龄组与客户流失概率之间的负相关关系,都可以通过 PD 图直观地呈现出来。这种全局的视角有助于我们把握模型的整体趋势,为业务决策提供宏观的指导。
7.2 个体条件期望图(ICE)
ICE 图是对 PD 图的细化,它可以揭示不同实例之间的差异和交互作用。与 PD 图的全局平均视角不同,ICE 图为每个实例绘制一条线,展示当特征变化时该实例的预测结果如何变化。
在实际应用中,ICE 图可以帮助我们发现数据中的异质性。例如,在总超计划天数的分段 ICE 图中,我们可以看到不同客户细分市场对总超计划天数的反应可能不同。这种局部的信息对于个性化的业务决策非常有价值,例如针对不同客户群体制定不同的营销策略。
7.3 局部可解释模型无关解释图(LIME)
LIME 图则是一种局部解释性工具,它围绕特定的观察或簇质心创建一个局部线性回归模型。通过对原始数据进行扰动,LIME 图可以解释模型在局部区域的决策过程。
在前面的示例中,我们通过 LIME 图得到了局部逻辑回归模型的估计参数系数,这些系数可以帮助我们理解每个特征在局部区域对目标变量的影响。例如,在簇质心 1 中,手机使用年龄组和总超计划天数对客户流失概率的影响可以通过 LIME 图清晰地呈现出来。这种局部的解释性对于理解模型在特定数据点附近的行为非常有帮助。
8. 模型优化与解释性的权衡
在实际应用中,我们需要在模型优化和模型解释性之间进行权衡。一方面,我们希望通过调整模型的超参数(如惩罚项、核函数、容差等)来提高模型的性能,例如降低平均平方误差。另一方面,我们也希望模型具有良好的解释性,以便能够理解模型的决策过程和预测结果。
然而,这两个目标往往是相互冲突的。例如,增加模型的复杂度(如使用更复杂的核函数)可能会提高模型的准确性,但同时也会降低模型的解释性。相反,为了提高模型的解释性而简化模型结构,可能会导致模型的性能下降。
因此,在进行模型优化时,我们需要根据具体的应用场景和需求来平衡这两个目标。如果应用场景对模型的准确性要求较高,而对解释性的要求相对较低,那么我们可以更侧重于模型的优化;反之,如果应用场景需要对模型的决策过程进行详细解释,那么我们可能需要在一定程度上牺牲模型的性能来提高解释性。
9. 总结与建议
通过以上对支持向量机模型的优化和解释性分析,我们可以得出以下总结和建议:
9.1 模型优化方面
- 超参数调整 :合理调整惩罚项、核函数和容差等超参数可以显著提高模型的性能。例如,在数据不是线性可分的情况下,选择合适的核函数可以将数据映射到更高的维度,从而找到更好的分类超平面。
- 多次尝试 :模型优化是一个不断尝试的过程,我们可以通过多次调整超参数并比较不同模型的性能,来找到最优的模型设置。
9.2 模型解释性方面
- 综合使用解释性工具 :PD 图、ICE 图和 LIME 图各有优缺点,我们可以综合使用这些工具来全面理解模型的行为和预测结果。例如,先使用 PD 图了解特征与目标变量的全局关系,再使用 ICE 图发现数据中的异质性,最后使用 LIME 图解释模型在局部区域的决策过程。
- 结合业务知识 :在解释模型时,要结合具体的业务知识和背景,将模型的解释性结果转化为实际的业务建议。例如,根据模型解释性结果发现某些特征对目标变量的影响较大,我们可以针对这些特征制定相应的业务策略。
10. 未来发展趋势
随着机器学习技术的不断发展,支持向量机模型的优化和解释性也将面临新的挑战和机遇。
10.1 模型优化
- 自动化超参数调整 :未来,可能会出现更多的自动化超参数调整方法,如贝叶斯优化、遗传算法等,这些方法可以更高效地找到最优的超参数组合,减少人工调参的工作量。
- 集成学习 :将支持向量机与其他机器学习算法进行集成,如决策树、神经网络等,可以进一步提高模型的性能和泛化能力。
10.2 模型解释性
- 更强大的解释性工具 :研究人员将不断开发更强大的模型解释性工具,能够处理更复杂的模型结构和数据类型,提供更详细和准确的解释。
- 可解释性机器学习的标准化 :随着可解释性机器学习的重要性日益凸显,未来可能会出现相关的标准和规范,指导模型解释性的评估和应用。
综上所述,支持向量机模型的优化和解释性是一个复杂而重要的研究领域。通过合理的模型优化和有效的解释性分析,我们可以提高模型的性能和可理解性,为实际的业务决策提供更有力的支持。
| 工具名称 | 特点 | 应用场景 |
|---|---|---|
| 部分依赖图(PD) | 全局解释,展示特征与目标变量的整体关系 | 把握模型整体趋势,宏观业务决策 |
| 个体条件期望图(ICE) | 局部解释,揭示不同实例差异和交互作用 | 发现数据异质性,个性化业务决策 |
| 局部可解释模型无关解释图(LIME) | 局部解释,围绕特定观察或簇质心解释模型决策过程 | 理解模型在局部区域的行为 |
graph LR
A[模型优化] --> B{性能提升?}
B -- 是 --> C[模型解释性分析]
B -- 否 --> D[调整超参数]
D --> A
C --> E{解释性满足需求?}
E -- 是 --> F[应用于业务决策]
E -- 否 --> G[调整模型结构或使用更强解释性工具]
G --> C
通过以上的分析和总结,我们可以更好地掌握支持向量机模型的优化和解释性方法,为实际的机器学习应用提供更有效的指导。
超级会员免费看

被折叠的 条评论
为什么被折叠?



