热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

粗糙集算法

面对日益增长的数据库,人们将如何从这些浩瀚的数据中找出有用的知识?我们如何将所学到的知识去粗取精?什么是对事物的粗线条描述什么是细线条描述

面对日益增长的数据库,人们将如何从这些浩瀚的数据中找出有用的知识?我们如何将所学到的知识去粗取精?什么是对事物的粗线条描述什么是细线条描述?
 

粗糙集理论经典介绍
    粗糙集合论回答了上面的这些问题。要想了解粗糙集合论的思想,我们先要了解一下什么叫做知识?假设有8个积木构成了一个集合A,我们记:A={x1,x2,x3,x4,x5,x6,x7,x8},每个积木块都有颜色属性,按照颜色的不同,我们能够把这堆积木分成

R1={红,黄,兰}三个大类,那么所有

      红颜色的积木构成集合X1={x1,x2,x6},

      黄颜色的积木构成集合X2={x3,x4},

      兰颜色的积木构成集合X3={x5,x7,x8}。

按照颜色这个属性我们就把积木集合A进行了一个划分(所谓A的划分就是指对于A中的任意一个元素必然属于且仅属于一个分类),那么我们就说颜色属性就是一种知识。在这个例子中我们不难看到,一种对集合A的划分就对应着关于A中元素的一个知识,假如还有其他的属性,比如还有形状R2={三角,方块,圆形},大小R3={大,中,小},这样加上R1属性对A构成的划分分别为:

     A/R1={X1,X2,X3}={{x1,x2,x6},{x3,x4},{x5,x7,x8}} (颜色分类)
     A/R2={Y1,Y2,Y3}={{x1,x2},{x5,x8},{x3,x4,x6,x7}} (形状分类)
     A/R3={Z1,Z2,Z3}={{x1,x2,x5},{x6,x8},{x3,x4,x7}} (大小分类)

    上面这些所有的分类合在一起就形成了一个基本的知识库。那么这个基本知识库能表示什么概念呢?除了红的{x1,x2,x6}、大的{x1,x2,x5}、三角形的{x1,x2}这样的概念以外还可以表达例如

     大的且是三角形的{x1,x2,x5}{x1,x2}={x1,x2},

     大三角{x1,x2,x5}{x1,x2}={x1,x2},

     兰色的小的圆形({x5,x7,x8}{x3,x4,x7}{x3,x4,x6,x7}={x7},

     兰色的或者中的积木{x5,x7,x8}{x6,x8}={x5,x6,x7,x8}。

而类似这样的概念可以通过求交运算得到,比如X1与Y1的交就表示红色的三角形。所有的这些能够用交、并表示的概念以及加上上面的三个基本知识(A/R1,A/R2.A/R3)一起就构成了一个知识系统记为R=R1∩R2∩R3,它所决定的所有知识是A/R={{x1,x2},{x3},{x4},{x5},{x6},{x7},{x8}}以及A/R中集合的并。

    下面考虑近似这个概念。假设给定了一个A上的子集合X={x2,x5,x7},那么用我们的知识库中的知识应该怎样描述它呢?红色的三角?****的大圆?都不是,无论是单属性知识还是由几个知识进行交、并运算合成的知识,都不能得到这个新的集合X,于是我们只好用我们已有的知识去近似它。也就是在所有的现有知识里面找出跟他最像的两个一个作为下近似,一个作为上近似。于是我们选择了“兰色的大方块或者兰色的小圆形”这个概念:{x5,x7}作为X的下近似。选择“三角形或者兰色的”{x1,x2,x5,x7,x8}作为它的上近似,值得注意的是,下近似集是在那些所有的包含于X的知识库中的集合中求并得到的,而上近似则是将那些包含X的知识库中的集合求并得到的。一般的,我们可以用下面的图来表示上、下近似的概念。

          粗糙集理论经典介绍

    这其中蓝色曲线围的区域是X的区域,紫色曲线围的部分是内部参考消息,是下近似,红色曲线围的内部部分就是上近似集。其中各个小方块可以被看成是论域上的知识系统所构成的所有划分。

    整个粗集理论的核心就是上面说的有关知识、集合的划分、近似集合等等概念。下面我们讨论一下关于粗糙集在数据库中数据挖掘的应用问题。考虑一个数据库中的二维表如下:

粗糙集理论经典介绍


    可以看出,这个表就是上面的那个例子的二维表格体现,而最后一列是我们的决策属性,也就是说评价什么样的积木稳定。这个表中的每一行表示了类似这样的信息:红色的大三角积木稳定,****的小圆形不稳定等等。我们可以把所有的记录看成是论域A={x1,x2,x3,x4,x5,x6,x7,x8},任意一个列表示一个属性构成了对论域的元素上的一个划分,在划分的每一个类中都具有相同的属性。而属性可以分成两大类,一类叫做条件属性:颜色、形状、大小都是,另一类叫做决策属性:最后一列的是否稳定?下面我们考虑,对于决策属性来说是否所有的条件属性都是有用的呢?考虑所有决策属性是“稳定”的集合{x1,x2,x5},它在知识系统A/R中的上、下近似都是{x1,x2,x5}本身,“不稳定”的集合{x3,x4,x6,x7,x8},在知识系统A/R中的上、下近似也都是{x3,x4,x6,x7,x8}它本身。说明该知识库能够对这个概念进行很好的描述。

    下面考虑是否所有的基本知识:颜色、形状、大小都是必要的?如果我们把这个集合在知识系统中去掉颜色这个基本知识,那么知识系统变成A/(R-R1)={{x1,x2},{x3,x4,x7},{x5},{x6},{x8}}以及这些子集的并集。如果用这个新的知识系统表达“稳定”概念得到上下近似仍旧都是:{x1,x2,x5},“不稳定”概念的上下近似也还是{x3,x4,x6,x7,x8},由此看出去掉颜色属性我们表达稳定性的知识不会有变化,所以说颜色属性是多余的可以删除。如果再考虑是否能去掉大小属性呢?这个时候知识系统就变为:
A/(R-R1-R3)=A/R2={{x1,x2},{x5,x8},{x3,x4,x6,x7}}。同样考虑“稳定”在知识系统A/R2中的上下近似分别为:{x1,x2}和{x1,x2,x5,x8},已经和原来知识系统中的上下近似不一样了,同样考虑“不稳定”的近似表示也变化了,所以删除属性“大小”是对知识表示有影响的故而不能去掉。同样的讨论对于“形状”属性也一样,它是不能去掉的。最后我们得到化简后的知识库R2,R3,从而能得到下面的决策规则:大三角->稳定,大方块->稳定,小圆->不稳定,中圆->不稳定,中方块->不稳定,利用粗集的理论还可以对这些规则进一步化简得到:大->稳定,圆->不稳定,中方块->不稳定。这就是上面这个数据表所包含的真正有用的知识,而这些知识都是从数据库有粗糙集方法自动学习得到的。因此,粗糙集是数据库中数据挖掘的有效方法。

    从上面这个例子中我们不难看出,实际上我们只要把这个数据库输入进粗糙集运算系统,而不用提供任何先验的知识,粗糙集算法就能自动学习出知识来,这正是它能够广泛应用的根源所在。而在模糊集、可拓集等集合论中我们还要事先给定隶属函数。


推荐阅读
  • 智能全栈云风暴:AI引领的企业转型之路
    当提及AI,人们脑海中常浮现的是天才少年独自编写算法,瞬间点亮机器人的双眼。然而,真正的AI革命正由大型企业和机构推动,它们利用全栈全场景AI技术,实现数字化与智能化的深度转型。 ... [详细]
  • 深入理解OAuth认证机制
    本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
  • 国内BI工具迎战国际巨头Tableau,稳步崛起
    尽管商业智能(BI)工具在中国的普及程度尚不及国际市场,但近年来,随着本土企业的持续创新和市场推广,国内主流BI工具正逐渐崭露头角。面对国际品牌如Tableau的强大竞争,国内BI工具通过不断优化产品和技术,赢得了越来越多用户的认可。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 数据管理权威指南:《DAMA-DMBOK2 数据管理知识体系》
    本书提供了全面的数据管理职能、术语和最佳实践方法的标准行业解释,构建了数据管理的总体框架,为数据管理的发展奠定了坚实的理论基础。适合各类数据管理专业人士和相关领域的从业人员。 ... [详细]
  • 网络攻防实战:从HTTP到HTTPS的演变
    本文通过一系列日记记录了从发现漏洞到逐步加强安全措施的过程,探讨了如何应对网络攻击并最终实现全面的安全防护。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 利用决策树预测NBA比赛胜负的Python数据挖掘实践
    本文通过使用2013-14赛季NBA赛程与结果数据集以及2013年NBA排名数据,结合《Python数据挖掘入门与实践》一书中的方法,展示如何应用决策树算法进行比赛胜负预测。我们将详细讲解数据预处理、特征工程及模型评估等关键步骤。 ... [详细]
  • Python库在GIS与三维可视化中的应用
    Python库极大地扩展了GIS的能力,使其能够执行复杂的数据科学任务。本文探讨了几个关键的Python库,这些库不仅增强了GIS的核心功能,还推动了地理信息系统向更高层次的应用发展。 ... [详细]
  • 聚焦法是一种采用穷尽搜索策略的Filter型特征选择方法,其核心在于寻找能有效区分不同样本的最小特征集合。此方法的评估标准主要依赖于一致性测量。 ... [详细]
  • 本文深入探讨了数据挖掘领域内的十个经典算法,包括但不限于C4.5决策树、K-Means聚类、支持向量机等。这些算法不仅在理论上有深厚的数学基础,也在实践中展现出强大的应用价值。 ... [详细]
  • 数据集成策略:ETL与ELT架构对比及工具选择
    随着企业信息化的深入发展,‘数据孤岛’问题日益突出,阻碍了数据的有效利用与整合。本文探讨了如何通过构建数据仓库解决这一问题,重点分析了ETL与ELT两种数据处理架构的特点及适用场景,为企业选择合适的ETL工具提供了指导。 ... [详细]
  • 致信息安全爱好者的成长指南
    本文旨在为信息安全爱好者提供一份详尽的成长指南,涵盖从学习心态调整到具体技能提升的各个方面。 ... [详细]
  • 本文探讨了数据挖掘技术的发展及其在大数据环境下的应用流程,重点介绍了统计学、在线分析处理、信息检索、机器学习、专家系统和模式识别等领域的最新进展。 ... [详细]
author-avatar
平凡小几
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有