归纳学习算法
归纳学习算法 (ILA) 是一种迭代和归纳机器学习算法,用于生成一组分类规则,生成“IF-THEN”形式的规则,对于一组示例,在每次迭代时生成规则和附加到规则集。
基本理念:
基本上有两种方法可以从领域专家那里提取知识,然后是机器学习。
对于非常大量的数据,领域专家并不是非常有用和可靠。所以我们转向机器学习方法来完成这项工作。
使用机器学习 一种方法是以算法的形式复制专家逻辑,但这项工作非常繁琐、耗时且昂贵。
所以我们转向归纳算法,它本身生成执行任务的策略,不需要在每一步单独进行指导。
在存在其他机器学习算法的情况下需要 ILA:
ILA 是一种新算法,即使在其他强化学习(如 ID3 和 AQ)可用时也需要它。
- 需要是由于先前算法中存在的缺陷,主要缺陷之一是缺乏规则的泛化。
- ID3 和 AQ 使用决策树生成方法,该方法过于具体,难以分析并且对于基本的短分类问题执行速度很慢。
- 如果某些属性缺失,基于决策树的算法将无法解决新问题。
- ILA 使用生成通用规则集的方法而不是决策树,克服了上述问题
ILA 算法:
算法开始时的一般要求:-
- 以表格“T”的形式列出示例,其中每行对应一个示例,每列包含一个属性值。
- 创建一组 m 个训练示例,每个示例由 k 个属性和一个具有 n 个可能决策的类属性组成。
- 创建一个规则集 R,其初始值为 false。
- 最初表中的所有行都未标记。
算法步骤:-
第1步:
将包含 m 个示例的表 'T' 划分为 n 个子表 (t1, t2,.....tn)。类属性的每个可能值对应一张表。 (对每个子表重复步骤 2-8)
第2步:
初始化属性组合计数 'j' = 1。
第 3 步:
对于正在进行工作的子表,将属性列表划分为不同的组合,每个组合具有 'j' 个不同的属性。
第四步:
对于每个属性组合,统计在考虑的子表的未标记行中同一属性组合下出现的属性值,同时未出现在其他子表的相同属性组合下的属性值的出现次数。 -表。将出现次数最多的第一个组合称为最大组合“MAX”。
第 5 步:
如果 'MAX' == null ,则将 ' j ' 增加 1 并转到步骤 3。
第 6 步:
将子表中出现“MAX”值的所有行标记为已分类。
第 7 步:
向 R 添加一条规则(IF 属性 = “XYZ” –> THEN 决策是 YES/NO),其左侧将具有 'MAX' 的属性名称,它们的值由 AND 分隔,其右侧包含与子表关联的决策属性值。
第 8 步:
如果所有行都被标记为已分类,则继续处理另一个子表并转到步骤 2。否则,转到步骤 4。如果没有可用的子表,则退出到那时获得的规则集。
显示使用 ILA 的示例
假设一个示例集具有地点类型、天气、位置、决策和七个示例属性,我们的任务是生成一组规则,在什么条件下什么是决策。
Example no. | Place type | weather | location | decision |
---|---|---|---|---|
I ) | hilly | winter | kullu | Yes |
II ) | mountain | windy | Mumbai | No |
III ) | mountain | windy | Shimla | Yes |
IV ) | beach | windy | Mumbai | No |
V ) | beach | warm | goa | Yes |
VI ) | beach | windy | goa | No |
VII ) | beach | warm | Shimla | Yes |
第1步
子集 1
s.no | place type | weather | location | decision |
---|---|---|---|---|
1 | hilly | winter | kullu | Yes |
2 | mountain | windy | Shimla | Yes |
3 | beach | warm | goa | Yes |
4 | beach | warm | Shimla | Yes |
子集2
s.no | place type | weather | location | decision |
---|---|---|---|---|
5 | mountain | windy | Mumbai | No |
6 | beach | windy | Mumbai | No |
7 | beach | windy | goa | No |
步骤 (2-8)
在迭代 1
选择第 3 行和第 4 行天气并标记第 3 行和第 4 行。
规则被添加到 R 如果天气温暖,那么决定是肯定的。
在迭代 2
选择第 1 行列位置类型并标记第 1 行。
规则被添加到 R 如果地方类型是丘陵那么决定是。
在迭代 3
选择第 2 行列位置并标记第 2 行。
规则被添加到 R IF 位置是 Shimla 然后决定是。
在迭代 4
选择第 5 行和第 6 行列位置并标记第 5 行和第 6 行。
规则被添加到 R 如果位置是孟买,那么决定是否定的。
在迭代 5
第 7 行列位置类型和天气被选中,第 7 行被标记。
规则被添加到 R IF 地方类型是海滩并且天气有风,那么决定是否定的。
最后我们得到了规则集:-
规则集
- 规则 1:如果天气温暖,那么决定是肯定的。
- 规则 2:如果地点类型是丘陵,那么决定是肯定的。
- 规则 3:如果地点是西姆拉,那么决定是肯定的。
- 规则 4:如果地点是孟买 THEN 决定是否定的。
- 规则 5:如果地点类型是海滩并且天气多风,那么决定是否定的。