system: [SYSTEM]

user: 3. 联合粒度属性约简算法 受表1算法的启发，以知识粒度 [ 7 ] 作为启发式函数进行遍历搜索，选取知识粒度值的大小进行比较，得出一个新算法—基于联合粒度属性约简算法。算法的具体描述如表2所示。 Table 1 Heuristic attribute reduction algorithm based on knowledge granularity [8 输入：一个简单决策表 D T = ( U ， C ∪ D ， V ， f ) 。 输出：条件属性C相对于决策属性D的一个相对约简 B ∈ R E D D ( C ) 。 1. 计算每个条件属性与决策属性的相似度 s ( c i ， D ) 。 2. 然后根据每个条件属性与决策属性的相似度的值的大小将条件属性集进行降序排列 C = { c 1 ， c 2 ， ⋯ ， c n } ，其中n是条件属性的个数。 3. 对属性约简 R E D D ( C ) 赋初始值 R E D D ( C ) = C ，冗余属性 C P = ∅ ，对此，检验 C 1 = ∅ ，然后对集合C中的每个条件属性属性 c i ，令 C m = R E D D ( C ) − c i ，执行下述操作： 3.1. 计算每个条件属性属性 c i 与集合 C m 中条件属性 c j 的相似度 s ( c i ， c j ) ，然后与前面的 s ( c i ， D ) 进行比较，若 s ( c i ， D ) ≤ s ( c i ， c j ) ，则将条件属性 c j 赋值给 C P ，将集合 R E D D ( C ) − c j 赋值给 C 1 ； 3.2. 接下来计算 s ( C 1 ， D ) 是否与 s ( C ， D ) 相等，如果相等，则删除条件属性 c j ，将集合 C 1 赋给 R E D D ( C ) ，反之将保留 c j ， R E D D ( C ) 保持不变； 3.3. 如果 C m 中的条件属性没有完成遍历，则直接转至步骤3.1，若完成遍历，则令 i = i + 1 ， C m = R E D D ( C ) − c i ，如果 C m = ∅ ，转步骤4，否则，转步骤3.1； 4. 算法结束，输出相对属性约简集合 R E D D ( C ) 。 表1. 基于知识粒度的启发式属性约简算法 [ 8 ] Table 2 Attribute Reduction Algorithm Based on Joint Granularit 输入：一个完备的决策信息系统 D T = ( U ， A ∪ { d } ， V ， f ) 输出：属性约简结果 P = R E D A 1. 初始化 R E D A = ∅ ； 2. 根据知识粒度的定义，计算所有剩余属性的知识粒度值 G K ( A i ) ； 3. If G K ( A i ) < 1 then 4. 寻找第2步中的知识粒度最小的属性，记为 min ( A i ) ； 5. R E D A = R E D A ∪ min ( A i ) ； 6. 跳入第2步； 7. Else跳转步骤10； 8. Endif 9. 返回属性约简 R E D A 。算法结束。 表2. 基于联合粒度属性约简算法 基于联合粒度属性约简算法不同于上述表1，它主要从知识属性、粒计算 [ 9 ] 角度进行约简，可以直接对不同知识属性进行粒度和重要度的比较，同时使得约简过程更加精细，约简结果更加精确。 属性约简信息损失 [ 9 ] 定义3.1 [ 9 ] [ 10 ] [ 11 ] 在一个给定的决策系统 D S = ( U ， A ， d ) 中，设A和 { d } 在论域U上导出的划分分别为X和Y，其中 X = U / A = { X 1 ， X 2 ， ⋯ ， X N } ， Y = U / { d } = { Y 1 ， Y 2 ， ⋯ ， Y M } ， p ( X i ) = | X i | | U | ， p ( Y j ) = | Y j | | U | ， p ( X i ， Y j ) = | X i ∩ Y j | | U | ， p ( Y j | X i ) = | X i ∩ Y j | | X i | ， i = 1 ， 2 ， ⋯ ， N ， j = 1 ， 2 ， ⋯ ， M . A和 { d } 的信息熵 [ 12 ] 分别可 定义为： H ( D S ， A ) = − ∑ i = 1 N p ( X i ) l b p ( X i ) { d } 与A的联合熵 [ 13 ] 即可定义为： H ( D S ， A ， { d } ) = − ∑ i = 1 N ∑ i = 1 M p ( X i ， Y j ) l b p ( X i ， Y j ) 定义3.2 [ 9 ] [ 10 ] [ 11 ] 给定 D S = ( U ， A ， d ) 是一个决策系统， B ⊆ A 是该决策系统的一个约简，则 B ⊆ A 属性约简的信息损失定义如下： Δ ( B ) = H ( D S ， A ) − H ( D S ， B ) B ⊆ A 属性约简的信息损失率可定义如下： s ( B ) = Δ ( B ) H ( D S ， A ) × 100 % = 1 − H ( D S ， B ) H ( D S ， A ) × 100 % 命题1 给定一个决策系统 D S = ( U ， A ， d ) ，若 B 1 ⊆ A 是基于正区域的相对约简， B 2 ⊆ A 是基于知识粒度的属性约简， B 3 ⊆ A 是基于联合粒度的属性约简，则有 Δ ( B 1 ) ≥ Δ ( B 2 ) ≥ Δ ( B 3 ) . 证明：根据知识粒度约简、联合粒度约简及正区域相对约简可证。 例1下表所示 D S 1 = ( U ， C ∪ D ， V ， f ) 是一个决策表，如表3所示。U为论域，其中 U = { x 1 ， x 2 ， x 3 ， x 4 ， x 5 ， x 6 ， x 7 ， x 8 } ， C = { e 1 ， e 2 ， e 3 ， e 4 } 是条件属性， D = { d } 是决策属性集。 Table 3 Decision System D S 1 = ( U ， A ， d U e 1 e 2 e 3 e 4 d x 1 0 1 2 1 0 x 2 0 2 1 1 1 x 3 1 0 1 1 0 x 4 1 0 1 1 1 x 5 1 1 1 1 0 x 6 1 1 1 1 1 x 7 1 1 0 1 0 x 8 1 1 0 0 1 表3. 决策系统 D S 1 = ( U ， A ， d ) U / C = { { x 1 } ， { x 2 } ， { x 3 ， x 4 } ， { x 5 ， x 6 } ， { x 7 } ， { x 8 } } U / { d } = { { x 1 ， x 3 ， x 5 ， x 7 } ， { x 2 ， x 4 ， x 6 ， x 8 } } 由正区域的定义可得： P O S C ( d ) = { x 1 ， x 2 ， x 7 ， x 8 } 。 根据条件属性依赖度的计算公式可得： γ C ( D ) ≠ 1 ，所以该决策表是不相容决策表。 (1) 根据知识粒度的属性约简算法可得约简后为： R 1 = R E D C = { e 2 ， e 3 ， e 4 } . 根据属性约简的信息损失的计算方法可得： H ( D S 1 ， C ) = − ∑ p ( X ) l b p ( X ) = 2.5 H ( D S 1 ， R 1 ) = − ∑ p ( X ) l b p ( X ) = 2.5 故 R 1 的信息损失量为： Δ ( R 1 ) = 0 。 (2) 由正区域约简算法可得： R 2 = { e 2 ， e 3 ， e 4 } ， R 3 = { e 1 ， e 3 ， e 4 } H ( D S 1 ， R 3 ) = − ∑ p ( X ) l b p ( X ) = 2 故 R 2 的信息损失量为0。 R 3 的信息损失量为 Δ ( R 3 ) = 0.5 。 (3) 根据联合粒度属性约简算法可得： R 4 = { e 2 ， e 3 ， e 4 } 故 R 4 的信息损失量为0。 例2下表所示为一个决策表， D S 2 = ( U ， A ， d ) 是一个决策系统，如表4所示。U为论域， A = { α 1 ， α 2 ， α 3 ， α 4 } 是条件属性， { d } 是决策属性集。 Table 4 Decision system D S 2 = ( U ， A ， d U a b c e d e 1 0 1 0 1 0 e 2 1 1 0 0 1 e 3 1 1 0 1 1 e 4 0 1 1 1 0 e 5 0 2 1 0 1 e 6 1 2 0 1 0 表4. 决策系统 D S 2 = ( U ， A ， d ) U / A = { { e 1 } ， { e 2 } ， { e 3 } ， { e 4 } ， { e 5 } ， { e 6 } } ， U / { d } = { { e 1 ， e 4 ， e 6 } ， { e 2 ， e 3 ， e 5 } } ， 由正区域的定义可得： P O S A ( d ) = { e 1 ， e 2 ， e 3 ， e 4 ， e 5 ， e 6 } 。 根据条件属性依赖度计算公式得： γ A ( D ) = 1 ，所以该决策表是相容决策表。 H ( D S 2 ， A ) = − ∑ p ( X ) l b p ( X ) = 2.585 (1) 基于正区域的相对约简： S 1 = { a ， b } H ( D S 2 ， S 1 ) = − ∑ p ( X ) l b p ( X ) = 1.918 故 S 1 的信息损失量为： Δ ( S 1 ) = 0.667 。 (2) 基于知识粒度的属性约简： S 2 = R E D A = { a ， b ， e } H ( D S 2 ， S 2 ) = − ∑ p ( X ) l b p ( X ) = 2.252 故 S 2 的信息损失量为： Δ ( S 2 ) = 0.333 。 (3)基于联合粒度的属性约简： S 3 = { a ， b ， e } ， S 4 = { a ， b ， c } H ( D S 2 ， S 4 ) = − ∑ p ( X ) l b p ( X ) = 2.252 故 S 3 ， S 4 的信息损失量为： Δ ( S 3 ) = Δ ( S 4 ) = 0.333 。