智能模型优化
智能模型优化可对您在实验中训练的模型进行自动微调。通过智能模型优化,系统会为您处理迭代特征选择和应用高级转换的过程。借助包含所有相关特征且准备充分的训练数据集,您可以期望智能模型优化在单个版本内训练出可随时部署的模型。
什么是智能模型优化?
智能模型优化使模型微调过程的许多方面实现自动化。通过智能模型优化,您可以快速训练高质量的模型,而无需手动微调特征选择或调整输入数据。
使用智能模型优化
在以下类型的新 ML 实验中,智能模型优化默认处于开启状态:
-
二分类
-
多分类
-
回归
智能模型优化不适合时间序列实验。
您可以为您运行的每个实验版本开启或关闭智能模型优化。
在开启智能优化的状态下运行实验版本后,可以在模型训练摘要中查看优化结果。此摘要显示在模型选项卡的模型洞察下。将光标悬停在带下划线的术语上,可查看包含详细说明的工具提示。
在实验版本中训练的每个模型的模型训练摘要都不同。
智能模型优化如何工作
通过智能模型优化:
-
与手动优化相比,训练的模型更多。特征选择在模型级别进行处理。这意味着与手动优化不同,版本中的每个模型都可以具有不同的特征选择。
-
除了默认应用于所有模型的自动预处理之外,还会使用几种高级转换来处理训练数据。这些转换有助于确保您的数据处于机器学习算法的最佳格式。
-
为了进行质量保证,仍会训练一个基准模型(即在您为该版本配置的整个特征集上训练的模型)。这有助于检查智能优化是否确实提高了模型评分。
-
对于较大的训练数据集,模型会在各种采样率上进行训练。这有助于加快训练过程。有关详细信息,请参阅 训练数据的采样。
训练数据的采样
当您使用大量数据训练模型时,Qlik Predict 会使用采样在原始数据集的各种子集(采样率)上训练模型。采样用于加快训练过程。在训练开始时,模型在较小的采样率上进行训练。随着训练的继续,模型会逐渐在更大比例的数据上进行训练。最终,模型会在整个数据集(100% 的采样率)上进行训练。
During analysis of model training data, models trained with less than 100% of the training dataset are hidden from some views.
智能模型优化期间应用的处理
模型训练摘要显示了智能模型优化如何处理训练数据。以下部分包含有关您在日志中看到的每个项目的更多详细信息。
应用的处理可能因模型而异。
模型的模型训练摘要图表,显示在模型选项卡中
特征选择
智能模型优化通过删除可能降低预测性能的特征来帮助微调您的模型。在智能模型优化期间,可能会由于以下任何原因删除特征:
-
目标泄露:该特征被怀疑受到目标泄露的影响。受目标泄露影响的特征包含有关您尝试预测的目标列的信息。例如,该特征直接源自目标,或包含在预测时无法获知的信息。导致目标泄露的特征可能会让您对模型性能产生虚假的安全感。在实际预测中,它们会导致模型表现非常差。
-
低置换重要性:该特征对模型预测几乎没有影响(如果有的话)。删除这些特征可以通过减少统计噪声来提高模型性能。
-
高度相关:该特征与实验中的一个或多个其他特征高度相关。高度相关的特征不适合用于训练模型。
在实验内的数据选项卡中,您可以查看每个模型中已删除特征的洞察。洞察还指在智能模型优化过程之外删除的特征。有关每个洞察的详细信息,请参阅 解释数据集洞察。
特征转换
智能模型优化在特征级别应用了许多技术转换。这些转换处理您的训练数据,以便更有效地使用它来创建可靠的机器学习模型。特征转换会根据需要自动应用。在模型训练摘要中,当应用特征转换以及哪些特征受到影响时,您会收到通知。
幂转换
特征数据通常自然地包含具有一定程度的不对称性且偏离正态分布的分布。在训练模型之前,如果值分布显得过于偏斜,对数据应用一些处理以使值分布正常化可能会有所帮助。这种处理有助于减少偏差和识别异常值。
通过智能模型优化,超过特定偏斜阈值的数值特征将使用幂转换转换为更接近正态(或类似正态)的分布。具体而言,使用的是 Yeo-Johnson 幂转换。
数值特征分级
某些数值特征可能包含机器学习算法不易处理的模式 and 分布。通过智能模型优化,这在一定程度上通过根据特定数值特征的值范围将其数据组织到不同的箱(分级)中来解决。进行分级是为了将特征转换为分类特征。
分级完成后,新的分类特征将进行 one-hot encoded 并用于训练。有关 one-hot 编码的详细信息,请参阅 分类编码。
行级权重和采样
异常值检测和处理
异常是出现在您合理预期范围之外的数据值。在训练数据中存在一些异常值并不罕见。某些异常甚至可能是为了反映现实世界中的可能性而需要的。在其他情况下,异常会干扰训练可靠模型的能力。
通过智能模型优化,Qlik Predict 会识别潜在的异常。然后,使用基于算法的权重系统处理出现异常值的行。如果强烈怀疑某个值是异常值,权重系统会降低训练数据中相应行对模型的影响。
在模型训练完成后,您会收到关于原始训练数据集中被作为异常数据处理的行百分比的通知。
有关详细信息,请参阅 异常检测和处理。
类别平衡
在您的训练数据集中,特定值(类别)的出现次数可能多于其他值。这种现象称为类别不平衡。当数据中存在类别不平衡时,生成的模型对多数类别的了解会多于对少数类别的了解,从而影响预测准确度。
通过智能模型优化,Qlik Predict 会对二分类模型执行自动类别平衡。通过比较目标列中两个类别的数值分布来检测类别不平衡。具体而言,当两个类别之间的比例满足以下条件时,将执行此操作:
-
95%(或更多)的行包含一个类别
-
5%(或更少)的行包含另一个类别
在类别平衡期间,对训练数据进行过采样以改善类别分布。该过程是迭代的——尝试许多不同的输出比例,以找到模型性能的最佳平衡。
过采样后,过采样的数据集将用于训练实验版本中的模型。
有关类别平衡的更多常规信息,请参阅 类平衡。
关闭智能优化
关闭智能优化后,您将手动优化训练。如果您需要对训练过程进行更多控制,手动优化会很有帮助。特别是,您可能希望运行一个启用了智能模型优化的版本,然后在需要进行少量手动调整时关闭该设置。
执行以下操作:
-
在实验中,单击
查看配置。
实验配置面板将打开。
-
如果您已经运行了至少一个版本的实验,请单击 创建新版本。
-
在面板中,展开 模型优化。
-
从 智能切换到 手动。
注意事项
使用智能模型优化时,请考虑以下事项:
-
使用智能模型优化并不能保证您的训练会产生高质量的模型。数据集准备和实验配置阶段对于生成可靠的模型也至关重要。如果您没有准备充分的数据集,或者您的配置缺少关键特征,则无法保证您的模型在生产用例中表现良好。有关这些阶段的更多信息,请参阅:
-
当为一个版本开启智能模型优化时,该版本中的每个模型都将具有一组单独的包含特征。另一方面,使用手动优化训练的版本中的所有模型都将具有相同的包含特征集。
-
智能模型优化仅使用您在版本配置中包含的特征和算法。
超参数优化
开启智能模型优化时,超参数优化不可用。要激活超参数优化,您需要将模型优化设置为手动。
有关详细信息,请参阅 超参数优化。
示例
有关展示智能模型优化优势的示例,请参阅 教程 - 生成和可视化预测数据。