在基于 class 中心的模糊化算法中如何计算决策属性的 class 中心?

How is the class center for a decision attribute calculated in class center based fuzzification algorithm?

我遇到了 class 基于中心的模糊化算法 on page 16 of this research paper on TRFDT。但是,我无法理解该算法的第 2 步中发生了什么(论文中的标题为算法 2:模糊化)。如果有人可以通过举一个小例子来解释它,那肯定会有所帮助。

从你的问题中不清楚你理解了文章的哪些部分,恕我直言,这篇文章的写作方式不是最清晰的,所以这将是一个很长的答案。

让我们从本文背后的一些直觉开始。简而言之,我会说它是:"let's add fuzziness everywhere to decision trees".

决策树是如何工作的?我们有一个 classification 问题,我们说不是以整体方式分析数据点的所有属性,而是按照树定义的顺序逐一分析它们,并导航树直到我们到达某个叶节点。该叶节点处的标签是我们的预测。所以诀窍是如何构建一棵好树,即良好的属性顺序和良好的分裂点。这是一个经过充分研究的问题,其想法是构建一棵树,通过某种度量对尽可能多的信息进行编码。有几个指标,本文使用类似于广泛使用的熵 information gain.

下一个想法是我们可以将 class 化(即将值拆分为 classes)更改为模糊而不是精确(又名 "crisp")。这里的想法是,在许多现实生活情况下,并非 class 的所有成员都具有同等代表性:一些更多 "core" 的例子和一些更多 "edge" 的例子。如果我们能捕捉到这种差异,我们就能提供更好的 class化。

最后还有一个问题是数据点有多相似(通常或某些属性的子集),这里我们也可以有一个模糊的答案(见公式 6-8)。

所以主要算法(算法 1)的思想与 ID3 tree 中的相同:递归地找到属性 a* 使 class 以最佳方式对数据进行处理并沿该属性执行最佳拆分。主要区别在于如何测量最佳属性 selection 的信息增益(参见公式 20-24 中的启发式),并且由于模糊性,通常的 "only one class left" 停止规则不再起作用因此,另一个熵(25 中的 Kosko 模糊熵)用于决定是否该停止。

鉴于算法 1 的框架,您可以(或应该)使用相当多的部分 select:

  • 如何测量μ(ai)τ (Cj)(x) 在 (20) 中使用(这是衡量 x 代表 class Cj关于属性ai,注意这里不在Cj和远离 Cj 中的点也很好)有两个明显的选择下限(16 和 18)和上限(17 和 19)

  • 如何测量(16-19)中使用的μ(x,y)。鉴于 R 是由 ai 引起的,这就变成了 μ(ai)τ(x, y) 是两点之间关于属性 ai 的相似性度量。这里可以选择其中一个指标(6-8)

  • 如何测量(16-19)中使用的μCi(y)。这是衡量点 y 在 class Ci 中的拟合程度。如果您已经有模糊 class 化的数据,则无需在此处执行任何操作。但是如果你的输入 classification 是清晰的,那么你应该以某种方式从中产生 μCi(y) 这就是算法 2 可以。

μCj(xi) = " 1 if xi ∈ Cj and 0 otherwise”但这一点也不模糊。构建模糊数据的过程称为"fuzzification"。算法 2 背后的想法是我们假设每个 class Cj 实际上是 space 属性中的某种簇。因此我们可以测量隶属度 μCj(xi) 作为距离xi 到集群的中心 cj距离)。请注意,由于距离是由属性测量的,因此您应该以某种方式标准化您的属性,否则其中一个属性可能会支配距离。这正是算法 2 所做的:

  1. 它估计 class Cj 的聚类中心作为那个 center of mass 中所有已知点的 center of mass =146=] 即每个坐标(属性)的所有点的平均值。

  2. 计算每个点xi到classcj[=93=的每个估计中心的距离]

  3. 在第 12 步查看公式,它使用距离的平方反比作为接近度的度量,并且只是对值进行归一化,因为对于模糊集 Sum[over all Cj](μCj(xi)) 应该是 1