基于属性蕴含的形式背景的生成
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于属性蕴含的形式背景的生成
摘要:形式概念分析是近年来发展较快的一种用于数据挖掘的工具,它广泛地应用于机器学习、软件配置、信息获取、知识管理和软件工程等领域。以前大家研究的内容都是基于属性之间没有关联,给出相应的形式背景,然后得出概念格的,并在此基础进行约简和优化。然而在现实中属性之间存在诸如蕴涵、依赖等关系的。本文论述了基于一些属性间的蕴涵式来生成一个形式背景的算法,拓广了形式背景的生成的方法。
关键词:格;形式背景;概念格
中图分类号:o236 文献标识码:a 文章编号:1007-9599 (2012)19-0000-02
1 引言
形式概念分析又称为概念格理论,是由德国的数学家wille教授于1982年作为一种数学理论首先提出的[1],它是一种基于概念和概念层次的数学化表达的应用数学的一个分支,在应用形式概念分析理论时,需要用数学的思维方式进行概念数据分析和知识的处理[2]。近年来,形式概念分析的应用得到了迅速发展,广泛应用于机器学习、软件配置、信息获取、知识管理和软件工程等领域[3]。概念格的构造是形式概念分析应用的前提条件,为此许多学者进行了广泛的研究,许多构造算法也相继被提出,这些算法主要分为两大类:批处理算法(如bordat算法[4]、chein算法[5]、ganter
算法[6])和渐进式算法(如godin算法[7]、capineto算法[8])。
同时国内许多学者也提出了一些概念格的构造算法[9-10],并在此基础上进行优化。但从参考文献[4]-[10]可以看出,目前人们对形式概念分析的研究都是基于已建立的形式背景或概念格,而对怎样建立形式背景目前还没有看到报道。本文讨论基于属性蕴含式生成形式背景的算法,如a b,则某对象如果具有属性a则一定具有属性b,而只有属性a或者只有属性b,则是不符合要求的对象。此算法的提出,弥补了形式背景生成这个方面的空缺,对进一步完善形式背景的研究有一定的意义。
2 基本概念
定义1 设r为定义在集合x上的二元关系,如果对于每一个x∈x,有xrx 则称关系r是自反的。
r在x上是自反的(x)(x∈x xrx)
定义2 设r为定义在集合x上的二元关系,如果对于每个x,y∈x,每当xry,就有yrx,则称集合x上的关系r是对称的。
r在x上对称(x)(y)(x∈x y∈x xry yrx)
定义 3 设r为定义在集合x上的二元关系,如果对于每一个x,y∈x,每当xry 和yrx 必有x=y,则称r在x上是反对称的,即r在x上是反对称的(x)(y)(x∈x y∈x xry yrx x=y)定义4 设r为定义在集合x上的二元关系,如果对于任意,x,y,z∈x,每当xry,yrz时就有xrz,称关系r在x上是传递的。
r在x上传递(x)(y)(z)(x∈x y∈x z∈x xry yrz xrz)
定义 5 设a是一个集合,如果a上的一个关系r,满足自反性,反对称性和传递性,则称r是a上的一个偏序关系,并把它记为“≤”。序偶称作偏序集。
定义6 设是一个偏序集,如果a中任意两个元素都有最小上界和最大下界,则称为格。
定义7 设是一个格,如果在a上定义两个运算∨和∧,使得对任意的a,b∈a,a∨b等于a和b的最小上界,a∧b等于a和b的最大下界,,那么称为由格所诱导的代数系统。二元运算∨和∧分别为并运算和交运算。
定义8 设u是对象的集合,m是属性的集合,i是两个集合u与m 间的关系,则称三元组k=(u,m,i)为一个形式背景(简称背景),(u,m)∈i(或写作uim)表示对象u具有属性m。
定义9 设k=(u,m,i)是一个背景,若a u,b m,令
f(a)={m∈m| u∈a,(u,m)∈i},g(b)={u∈u| m ∈b,(u,m)∈i}
如果a,b满足f(a)=b,g(b)=a,则我们称二元组(a,b)是一个概念。a是概念(a,b)的外延,b是概念(a,b)的内涵。例1:给出表1中的背景,其中对象集u={1,2,3,4,5},属性集m={a,b,c,d,e,f},求出其所有概念。
3 由满足偏序关系的属性蕴含式来构造形式背景
情形一:对于给定的所有蕴含式,如果这些蕴含式满足偏序关系,且“”左右只有一个属性,即蕴含式均为x y的形式。采用如
下方法:①生成一个n阶的矩阵(n为元素的个数),将主对角线上的元素置为1。②遍历所有蕴含式,如果满足x y形式的,就在相应位置置为1。③将该矩阵的最终结果赋给a[0],a[1]=a[0]*a[0],a[2]=a[1]*a[0]……a[n]=a[n-1]*a[0]。④将a[n]中所有大于1的都重置为1,并对从a[0]到a[n]的每个矩阵中相同位置的元素求或运算,将结果赋给result。⑤遍历result中每行元素,如果某i 行中所存在的属性都包含在行j中,则将i行所有的元素的值置为0,矩阵result中一行元素除主对角线元素外不全为0的行即为所求。
情形二:对于给定的所有蕴含式,如果这些蕴含式表示的关系满足偏序关系,且“”左右可能不止一个属性,即蕴含式有形式为:a,b c,d和e,f g和f g,h和a b等形式的情况。采用如下方法:①把第一个属性蕴含的所有属性保存在result数组的第一行中(results是一个n*n的数组)。②从第二个属性蕴含开始,判断result中是否有某一行已经包含了这个属性蕴含左边的所有属性,如果包含了就把这个属性蕴含中的所有属性加到这一行中;如果没有,那就把这个属性蕴含的所有属性存在result的另一行中。③当遍历完所有的蕴含式后,判断result中的每一行的属性是否全部都包含在另一行中,如果是,就删除这一行,否则保留。
4 实验及其分析
为了验证上述基于属性蕴涵情况下形式背景生成算法的可行性,该实验在windows xp3操作系统下,用microsoft visual studio