形式概念分析
基本信息
- 中文名
形式概念分析
- 外文名
(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所示。