类别

版本

一代优化(Yagga)(RapidMiner Studio Core)

概要

该操作员可以从原始属性集中选择一些属性,并且还可以从原始属性集生成新属性。除非添加或删除(或两个)属性被证明具有更好的健身性,否则Yagga(又是另一个生成遗传算法)不会更改原始属性数。

描述

有时,单独选择功能是不够的。在这些情况下,必须执行特征空间的其他转换。来自给定属性的新属性的生成扩展了特征空间。也许可以在扩展特征空间中轻松找到假设。该操作员可以被认为是属性选择和属性生成过程的混合物。它可以从原始属性集中选择一些属性,并且还可以从原始属性生成新属性。(生成)突变可以以不同的概率进行以下操作之一:

  • 概率P/4:向特征向量添加新生成的属性。
  • 概率P/4:在特征向量中添加随机选择的原始属性。
  • 概率P/2:从特征向量删除随机选择的属性。
因此,可以确保特征向量的长度既可以生长又缩小。平均而言,它将保持其原始长度,除非更长或更短的个体证明具有更好的健身性。

遗传算法(GA)是模仿自然进化过程的搜索启发式。这种启发式措施通常用于生成有用的解决方案来优化和搜索问题。遗传算法属于较大的进化算法(EA),该算法使用受自然进化的启发,例如遗传,突变,选择和交叉生成优化问题的解决方案。要研究遗传算法的基本算法,请研究优化选择(进化)操作员的描述。

该操作员是嵌套操作员,即具有子进程。子过程必须返回性能向量。您需要对子流程有基本的了解才能应用此操作员。请研究子过程操作员的文档,以了解子过程的基本了解。

分化

一代优化(Yagga2)

Yagga2操作员是通常的Yagga操作员的改进版本,该操作员允许更多功能生成器,并为预防冗余提供了多种技术。这导致较小的示例包,包含较少的功能。

输入

  • 示例设置(数据表)

    此输入端口期望一个示例集。该示例集可在嵌套链的第一个端口(在子过程内)提供,用于在子过程中处理。

输出

  • 示例列出(数据表)

    遗传算法应用于输入示例集。最终的示例集通过此端口交付。

  • 属性权重(属性重量)

    属性权重通过此端口传递。

  • 性能(性能向量)

    此端口提供所选属性的性能向量。性能向量是性能标准值的列表。

参数

  • limit_max_total_number_of_attributes此参数指示所有世代中属性的总数是否应受到限制。如果设置为true,则最大数字由最大属性总数范围。范围:布尔值
  • max_total_number_of_attributes此参数仅在限制最大属性总数参数设置为true。此参数指定所有世代中属性的最大总数。范围:整数
  • use_local_random_seed此参数指示是否局部随机种子应用于随机分组。使用相同的值局部随机种子将产生相同的随机化。范围:布尔值
  • local_random_seed此参数指定局部随机种子。此参数仅在使用局部随机种子参数设置为true。范围:整数
  • show_stop_dialog此参数确定是否与停止应显示按钮,以停止搜索最佳功能空间。如果搜索最佳功能空间,则发现最佳个人将返回。范围:布尔值
  • maximal_fitness此参数指定最大适应性。如果健身达到此值,则优化将停止。范围:真实
  • 人口_Size此参数指定人口大小,即每一代人的个体数量。范围:整数
  • maxtum_number_of_generations此参数指定了应终止算法的世代数。范围:整数
  • use_plus此参数指示是否应应用求和函数来生成新属性。范围:布尔值
  • use_diff此参数指示是否应应用差异函数来生成新属性。范围:布尔值
  • use_mult此参数指示是否应应用乘法函数来生成新属性。范围:布尔值
  • use_div此参数指示是否应应用该函数以生成新属性。范围:布尔值
  • use_reciprocals此参数指示是否应应用互惠函数来生成新属性。范围:布尔值
  • use_early_stopping此参数可以提早停止。如果未设置为true,则始终执行最大世代数。范围:布尔值
  • Generations_without_improval此参数仅在使用尽早停止参数设置为true。此参数指定早期停止的停止标准,即它在此之后停止n几代人没有改善表演。n由此参数指定。范围:整数
  • tournament_size此参数指定应将当前人口的比例用作比赛成员。范围:真实
  • start_temperature此参数指定缩放温度。范围:真实
  • dynamic_selection_pressure如果此参数设置为TRUE,则在完整的优化运行期间,选择压力将增加到最大值。范围:布尔值
  • keep_best_individual如果设置为真,则可以保证为下一代选择每一代人的最佳个体。范围:布尔值
  • p_initialize该参数指定要打开的属性的初始概率。范围:真实
  • P_Crossover该参数指定了为交叉选择的个人的概率。范围:真实
  • crossover_type可以通过此参数选择交叉的类型。范围:选择
  • use_heuristic_munt_probability如果此参数设置为true,则将突变的概率选择为1/n在哪里n是属性的数量。否则,应通过P突变范围范围:布尔值
  • p_munt更改属性的概率由此参数指定。如果设置为-1,则将概率设置为1/n在哪里n是属性的总数。范围:真实

教程流程

在多项式数据集上应用Yagga

使用检索操作员加载“多项式”数据集。这里插入一个断点,以便您可以查看示例集。您可以看到示例集具有5个常规属性,而不是标签属性。驱动器(Yagga)运算符优化在示例集上。逐代优化(Yagga)是嵌套操作员,即具有子过程。子过程有必要提供性能向量。基础遗传算法使用该性能矢量。看看该操作员的子过程。使用拆分验证操作员本身就是嵌套操作员。看看拆分验证操作员的子过程。 The Linear Regression operator is used in the 'Training' subprocess to train a model. The trained model is applied using the Apply Model operator in the 'Testing' subprocess. The performance is measured through the Performance (Regression) operator and the resultant performance vector is used by the underlying algorithm. Run the process and switch to the Results Workspace. You can see that the ExampleSet that had 5 attributes now has 6 attributes. The attributes 'a1' and 'a2' were selected from the original attribute set and the attributes 'gensym2', 'gensym35', 'gensym63' and 'gensym72' were generated. The number of resultant attributes is not less than the number of original attributes because YAGGA is not an attribute reduction operator. It may (or may not) increase or decrease the number of attributes depending on what proves to have a better fitness.