趋近智
尽管通过从统计分布(如我们之前看到的正态分布或均匀分布)中采样来生成数据很有用,但它通常无法体现真实数据中已知的具体限制或关系。设想生成客户数据;简单地从正态分布中采样年龄可能会产生负数年龄,这不合理。我们需要方法来为生成的数据设定结构和逻辑。这一点上,基于规则的系统就发挥作用了。
基于规则的系统提供了一种不同的方式:我们不纯粹依赖统计概率,而是定义合成数据必须遵守的明确规则、条件或逻辑。这就像为生成每个数据点提供一份“食谱”或一系列“指示”,确保它满足特定要求。
基于规则的系统,其核心在于通过遵循预设的限制集合来生成数据。这些规则可以有多种形式:
年龄,使其满足 。产品类别,使其必须是 {'电子产品', '服装', '日用百货'} 之一。账户类型是'免费',则月度支出必须是 。国家是'美国',则邮政编码格式必须符合美国5位或ZIP+4格式。总价 = 数量 * 单价 * (1 - 折扣率)。这些规则直接将领域知识或期望的特性写入生成过程。
使用基于规则的系统生成数据通常包括:
比如,为了生成合成用户资料:
年龄必须在18到75之间。国家必须是'美国'或'加拿大'。国家是'美国',州必须是有效的美国州缩写(例如,'CA'、'NY')。国家是'加拿大',省份必须是有效的加拿大省份缩写(例如,'ON'、'QC')。年龄小于21岁并且国家是'美国',是否购买过酒精必须是'否'。你可能首先生成一个随机的年龄、国家和地点。然后,你会按顺序应用这些规则:年龄有效吗?国家有效吗?根据国家,州/省份是否在列表中有效?年龄/国家组合是否符合酒精购买规则?如果任何规则不符合,你可能会丢弃该数据点并重试,或者调整冲突的值。
我们可以用图来展示基于规则的简单决策过程。比如,根据用户的订阅类型决定其状态。
一张简单的图表,说明了规则如何根据订阅类型决定用户状态。
基于规则的生成方式有一些优点,特别是对于简单任务而言:
然而,也存在一些局限:
基于规则的系统为生成具有特定结构和限制的合成数据提供了一种基本方法。当你需要直接执行已知逻辑或领域知识时,它们特别有用。通常,它们与统计方法结合使用,以达到两全其美的效果:既确保有效性,又保留一些统计特性。在后续内容中,我们将看到这些基本思想如何应用于表格数据和图像等不同数据类型。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造