两类支持向量机

使用支持向量机算法创建二进制分类模型

类别:机器学习/初始化模型/分类

注意

适用于:机器学习 Studio (经典) 应用

可在 Azure 机器学习设计器中获取类似的拖放模块。

模块概述

本文介绍如何使用 机器学习 Studio (经典 ) 中的双类支持向量机模块创建基于支持向量机算法的模型。

支持向量机 (SVM) 是一种研究深入的监督式学习方法。 此特定实现适合于基于连续或分类变量预测两个可能结果。

定义模型参数后,使用训练模块之一训练模型,并提供包含标签或结果列的带标记数据集。

有关支持向量机的更多信息

支持向量机是最早的机器学习算法之一,并且 SVM 模型在信息检索、文本和图像分类等领域有着广泛的应用。 SVM 可用于分类和回归任务。

此 SVM 模型是一种监督式学习模型,它需要带标签的数据。 在训练过程中,算法会分析输入数据并在称为“超平面”的多维特性空间中识别模式。 所有输入示例都表示为该空间中的点,并映射到输出类别,以便通过尽可能宽和清晰的间隔来分割类别。

对于预测,SVM 算法会将新示例分配到一个或另一个类别中,并将它们映射到该同一空间。

如何配置Two-Class向量机

对于此模型类型,建议在使用数据集来训练分类器之前对数据集进行标准化。

  1. 将" 双类支持向量机 "模块添加到工作室中的试验 (经典) 。

  2. 通过设置“创建训练程序模式”选项,指定要如何对模型进行训练。

    • “单个参数”:如果你知道自己想要如何配置模型,可以提供一组特定的值作为参数。

    • 参数范围:如果不确定最佳参数,可以通过指定多个值和使用优化模型 参数模块查找最佳配置来查找最佳参数。 训练程序会多次进行设置组合,并确定生成最佳模型的值的组合。

  3. 对于“迭代数”,请键入一个数字来指定在构建模型时使用的迭代数目。

    此参数可用来控制训练速度与准确度之间的权衡。

  4. 对于“Lambda”,请键入一个值来用作 L1 正则化的权重。

    可以使用此正则化系数来优化模型。 值越大,对越复杂的模型越不利。

  5. 如果要在训练之前对特性进行标准化,请选择“标准化特性”选项。

    如果在训练之前应用了标准化,则数据点将以平均值为中心,并缩放为有一个单位的标准偏差。

  6. 选择“投影到单位球体”选项可以对系数进行标准化。

    将值投影到单位空间意味着,在训练之前,数据点将以 0 为中心,并缩放为有一个单位的标准偏差。

  7. 如果希望确保在各次运行之间的可再现性,请在“随机数种子”中键入一个整数值来用作种子。 否则,将使用系统时钟值作为种子,这可能会导致结果在各次运行之间稍有不同。

  8. 选择选项" 允许未知类别",为训练或验证集的未知值创建组。 在这种情况下,模型对于已知值可能不太精确,但它可以为未知值的新值 (更好的) 预测。

    如果取消选中此选项,该模型只会接受训练数据中包含的值。

  9. 连接标记数据集和训练模块之

    • 如果将“创建训练程序模式”设置为“单个参数”,请使用训练模型模块。

    • 如果将"创建训练程序模式"设置为"参数范围",请使用"优化模型超参数"

    注意

    如果将参数范围传递给 训练模型,则它只会使用参数范围列表中的第一个值。

    如果将一组参数值传递给优化模型超参数模块,则当它需要每个参数的一系列设置时,它会忽略这些值,并且使用学习器的默认值。

    如果选择" 参数 范围"选项并输入任何参数的单个值,则指定的单个值将在整个扫描过程中使用,即使其他参数在一系列值中更改。

  10. 运行试验。

结果

在训练完成后:

  • 若要查看模型参数的摘要以及从训练中学习的特征权重,请右键单击"训练模型"或"优化模型超参数"的输出,然后选择"可视化"

  • 若要使用训练后的模型进行预测,请将训练后的模型连接到评分模型模块。

  • 若要对标记的数据集执行交叉验证,请将未训练的模型和数据集连接到 交叉验证模型

示例

有关如何使用此学习算法的示例,请参阅以下 Azure AI 库

技术说明

本部分包含实现详情、使用技巧和常见问题解答。

使用提示

对于此模型类型,建议在使用数据集来训练分类器之前对数据集进行标准化。

尽管最近研究开发了准确性更高的算法,但如果对你而言速度比准确性更为重要,那么此算法非常适用于简单数据集。 如果你无法通过使用“双类支持向量模型”获得所需的结果,请尝试下列分类方法之一:

模块参数

名称 范围 类型 默认 说明
迭代数 >=1 Integer 1 迭代次数
Lambda >=double.Epsilon Float 0.001 L1 正则化的权重。 使用非零值以避免将模型过度拟合到训练数据集。
规范化特征 任意 布尔 True 如果为 True,则规范化特征。
投影到单位球 任意 布尔 False 如果为 True,则将特征投影到单位圆。
随机数种子 任意 Integer 模型使用的随机数生成器的种子。 默认留空。
允许未知的分类级别 任意 布尔 True 若为 True,则为每个分类列都创建一个附加级别。 测试数据集中不可用于定型数据集的任何级别都会映射到此附加级别。

输出

名称 类型 说明
未训练的模型 数据表 未定型的二元分类模型。

另请参阅

分类
A-Z 模块列表