• 1.摘要
  • 2.基本信息
  • 3.简介
  • 4.形式概念分析
  • 5.应用实例
  • 6.结束语

形式概念分析

基本信息

  • 中文名

    形式概念分析

  • 外文名

    (Formal Concept Analysis

  • 简称

    FCA

  • 应用领域

    机器学习数据挖掘信息检索

  • 定义

    数据分析和规则提取的强有力工具

  • 提出者

    Wille

简介

形式概念分析(Formal Concept Analysis,FCA)是Wille提出的一种从形式背景进行数据分析和规则提取的强有力工具,形式概念分析建立在数学基础之上,对组成本体的概念、属性以及关系等用形式化的语境表述出来,然后根据语境,构造出概念格(concept lat-tice),即本体,从而清楚地表达出本体的结构。这种本体构建的过程是半自动化的,在概念的形成阶段,需要领域专家的参与,识别出领域内的对象、属性,构建其间的关系,在概念生成之后,可以构造语境,然后利用概念格的生成算法CLCA,自动产生本体。形式概念分析强调以人的认知为中心,提供了一种与传统的、统计的数据分析和知识表示完全不同的方法,成为了人工智能学科的重要研究对象,在机器学习、数据挖掘、信息检索等领域得到了广泛的应用。

形式概念分析

本体,从而清楚地表达出本体的结构。在形式概念分析中,概念的外延被理解为属于这个概念的对象的集合,而内涵则被认为是所有这些对象所共有的特征或属性集,这实现了对概念的哲学理解的形式化。所有的概念连同它们之间的泛化/例化关系构成一个概念格。

概念格是FCA的核心数据结构。概念格的每个节点是一个概念,由外延和内涵组成。外延是概念所覆盖的实例;而内涵是概念的描述,是该概念所覆盖实例的共同特征。概念格可以通过其Hasse图生动简洁地体现概念之间的泛化和例化关系。概念格结构模型是形式概念分析理论中的核心数据结构。其本质上描述了对象和特征之间的联系,表明了概念之间的泛化与例化关系。这种概念格构建的过程是半自动化的。

应用实例

排序算法是数据结构学科经典的内容,其中内部排序现有的算法有很多种,究竟各有什么特点呢?本文主要是对内排序的冒泡排序、交换排序、选择排序、插入排序,希尔排序、基数排序、快速排序、归并排序、堆排序九种算法为对象集,把算法的平均时间复杂度,最好时间复杂度,最差时间复杂度,稳定性,辅助空间为属性集构建形式背景。

表1 形式背景

平均 时间 复杂度

最好 时间 复杂度

最坏 时间 复杂度

稳定 性

辅助 空间

冒泡排序

O(n)

O(n)

O(n)

O(1)

交换排序

O(n)

O(n)

O(n)

O(1)

选择排序

O(n)

O(n)

O(n)

O(1)

插入排序

O(n)

O(n)

O(n)

O(1)

注:基数排序的复杂度中,r代表关键字的基数,d代表长度,n代表关键字的个数

此形式背景为多值的,为了简便,把平均时间复杂度,最好时间复杂度,最差时间复杂度为O(n)的算法认为其时间复杂度高,其余的认为时间复杂度低。存储空间为O(1)的算法认为其存储空间小,其余的认为存储空间大。并且把时间复杂度低,算法稳定,存储空间小用1表示,把时间复杂度高,算法不稳定,存储空间大用0表示,简化后的形式背景如表2。 表2 简化的形式背景

平均 时间 复杂度

最好 时间 复杂度

最坏 时间 复杂度

稳定 性

辅助 空间

冒泡排序

0

1

0

1

1

交换排序

0

0

0

0

1

选择排序

0

0

0

0

1

插入排序

0

1

0

1

1

可以依据基于约简意义的概念格构造方法对其进行简约。把属性值相同的对象进行合并。通过观察,可以看出冒泡排序和插入排序可以合并,交换排序和选择排序可以合并,基数排序和归并排序可以合并。约简后的形式背景如表3。

表3 约简后的形式背景

平均 时间 复杂度

最好 时间 复杂度

最坏 时间 复杂度

稳定 性

辅助 空间

冒泡排序/,插入排序

0

1

0

1

1

交换排序/,选择排序

0

0

0

0

1

希尔排序

1

1

0

0

1

基数排序/,归并排序

1

1

1

1

0

把对象的属性值为1的作为默认值。把简约后的形式背景变为单值的形式背景。并用1,2,3,4,5依次代表各属性,用a,b,c,d,e,f依次代表个对象。则有对象集{a,b,c,d,e,f},属性集{1,2,3,4,5},单值形式背景如表4。

表4 单值形式背景

1

2

3

4

5

a

×

×

×

b

×

c

×

×

×

d

×

×

×

×

为了方便构造形式背景的概念格,将单值形式背景转换为带有父子关系(继承关系)的单值形式背景,也就是基于属性个数比较的排序。例如,表4中对象b有1个属性,属性个数最少,将其放在第一位。对象e有两个属性,放在第二位。对象a,c有3个属性,所以将其放在e后面2位。对象d,f有四个属性,放在最后两位。这样由表4得到的带有父子关系的单值形式背景如表5所示。