在对 KDD( 数据库知识发现) 技术进行概括介绍的基础上,讨论了如何在我国将 KDD 技术应用于大型零售企业,并对存在的有利因素和不利因素进行了分析 1. 应用背景 随着我国经济的发展,林林总总的大型零售企业纷纷崛起,各商家之间的竞争越来越激烈.在这种形式下,顾客的地位日益上升,成为商业企业的“上帝”.因此,计算机怎样才能为这些商业企业提供更多、更广泛、更有用的信息,特别是如何充分利用顾客信息,就成为商业企业管理人员不断探索的课题.数据库知识发现KDD能自动地对海量的数据进行分析,从而发现有用的知识.因此,将数据库知识发现应用于我国的零售业,将有助于企业管理者及时、准确地把握销售过程中各因素(如顾客、商品等)的总体特征和发展趋势,从而改善企业的运行状况,提高自身的竞争力。 2. 概述 数据库知识发现KDD(Knowledge Discoveryin Database)是近年来随着数据库技术和人工智能技术的发展而出现并发展起来的.是在机器学习、计算可视化、模式识别、统计学等多个学科的基础上发展起来的一门新兴的交叉学科.它是利用机器学习的方法从数据库中提取有价值的知识的过程.数据库技术侧重于对数据库存储处理的高效率方法的研究,而机器学习则侧重于设计新的方法从数据库中提取知识.KDD利用数据库技术对数据进行前端处理,而利用机器学习方法从处理后的数据库中提取有用的知识. 既然KDD是数据库技术和机器学习技术两个学科的交叉学科,那么它和后两者之间究竟有什么样的区别和联系呢? 首先来看KDD与机器学习.虽然两者都是从数据中提取知识,但各自分别有不同的侧重点和应用条件.KDD是从现实世界中存在的一些具体数据中提取知识,这些数据在KDD出现之前早已存在,而机器学习所使用的数据是专门为机器学习而准备的数据,这些数据在现实世界中也许毫无意义. 其次,KDD与目前数据库管理系统DBMS的作用是不同的.数据库管理系统的侧重点是把大量的数据组织起来,以方便用户进行存取和维护,并对数据的一致性和完整性进行约束.而KDD则侧重于对数据库中的数据进行分析,以得到有用的结果.日常的数据库操作中所使用的数据库报表工具也是无法和KDD比拟的.数据库报表制作工具是将数据库中的数据抽取出来,经过一些数学运算,最终以特定的格式呈现给用户.而KDD是对数据背后隐藏的特征和趋势进行分析,最终给出关于数据的总体特征和发展趋势.举例来讲,数据库报表工具可以回答出:上月本商场最畅销的商品和最滞销商品的各自的有关情况是什么?但它无法回答下面的问题:下个月最畅销的商品将会是什么,以及这些商品的购买对象会是什么样的顾客?而这正是KDD所要解决的任务. 传统的数据调查和分析过程通常是这样的:需要信息的用户自己负责或委托专门的机构,制定出调查方案.然后调派大量的调研人员进行抽样或普查,填写表格;对表格进行汇总统计: 由专家对数据进行分析,得出结果.可见,这种方法耗费的人力、物力巨大,周期长,结果滞后大,而且不可避免地要受到调查和分析人员主观因素的影响,而KDD在一定程度上克服了这些缺点.得益于计算机强大的计算能力,它的发掘过程是非常快的.过去一项需要几个月甚至几年的统计、分析工作,现在只需要几分钟、几秒钟就能完成.在当今这个信息迅速更新的时代,这一特点对人们来说是弥足珍贵的.KDD过程的一大特点就是自动性,是一种高级的处理过程,这就是说,许多工作都是由计算机自动完成的,需要的人工干涉较少,因此比人工方法更具有客观性和全面性. 3. 基本概念及处理过程流图 从开始到现在,人们对KDD下过很多定义.随着对KDD研究的不断深入,人们对KDD的理解越来越全面,对KDD的定义也不断修改,下面是对KDD的一个比较公认的定义:KDD是从大量数据中提取出可信的、新颖的、有效的、并能被人理解的模式的一种高级处理过程.其中,有几个概念需要进一步解释.模式是指用某种语言对数据的特性进行描述的表达形式,而且要求这种表达形式比列举数据元素的方法更加简单.例如下面的两个表达形式: A:顾客a,b,c,d,e的负债状况较差,因此不给予他们贷款; B:如果某人负债超过t元,则不给予其人贷款, 那么,相对于A,B就是一个模式. 其次,这个过程是高级的,是强调这个过程的非详尽性(non_trivial),也就是说,其搜索有一定的自动性、智能性,而并非是对数据集中的每一点都要遍历到。 另外,定义还表明了,KDD是一个包括有多个步聚的处理过程,而不是仅仅指其中的“数据挖掘”算法.数据挖掘是一种对数据进行分析,或从数据中抽取特定模式的算法,例如决策树抽取方法和模式匹配方法.数据挖掘是一种较低层次的算法,需要人工的干预.数据挖掘是KDD中的一个非常重要的步聚,但KDD还包括其他的步骤,如编码方案的选择、预处理、数据的设计、模式的估价或解释等等.而且,KDD过程的自动性在很大程度上也正是来自于这多个步骤的综合.目前人们对整个处理过程并没有给出非常清楚的划分,但为了便于人们开发及使用KDD应用系统,下面介绍GeorgeH.John提出的多处理阶段过程模型.首先应声明的是,这种模型强调由数据挖掘人员和领域专家共同参与KDD的全过程.领域专家对该领域内需要解决的问题非常了解,而数据挖掘人员则精通知识发现过程所采用的技术及能解决的种类.在问题的定义阶段,双方经过互相了解,对要解决的问题有一致的处理意见,包括问题的定义及数据的处理方式.最后提取出来的知识要向领域专家进行解释,以对知识及整个过程进行评价.此模型可分为以下九个阶段: ①问题的理解和定义.数据挖掘人员与领域专家合作,对问题进行深入的分析,以确定可能的解决途径和对学习结果的评测方法. ②相关数据的收集和提取.根据问题的定义收集有关的数据,在数据提取过程中,可以利用数据库的查询功能以加快数据的提取过程. ③数据清理.了解数据库中字段的含义及与其它字段的关系,对提取出的数据进行合法性检查并清理含有错误的数据. ④数据工程.对数据进行再加工,主要是冗余属性剔除、选择具有代表性的数据以减少学习量,以及对数据的表达方式进行转换以适应学习算法等. ⑤算法选择.根据数据及所要解决的问题选择合适的数据挖掘算法,并决定如何在这些数据上使用这些算法. ⑥运行数据挖掘算法.根据选定的数据挖掘算法对经过处理的数据进行模式提取,即数据挖掘. ⑦结果的评价.对学习结果的评价取决于所要解决的问题,由领域专家对发现的模式的新颖性和有效性进行评价. ⑧优化.根据对结果的评价可能需要对处理过程的某些阶段进行优化.在此过程中,领域专家的参与非常重要,可以根据专业知识给出很好的改进意见.优化包括对问题的再定义及相关数据的进一步处理. ⑨结果的使用.在实际工作中应用这些知识,为决策提供支持.例如根据学习得到的知识可以设置某些触发器,当满足条件时进行特殊处理. 这种模型主要是根据数据应用的需要而提出的,它主要强调KDD需要领域专家的参与.由领域专家的专业知识指导KDD的各个阶段,并对发现的知识进行评价. 随着对KDD领域的研究的发展,目前已经有许多个成功的知识发现应用被开发出来,如 Anand1995;Anand和Kahn1992;Fayyadetal1993等.对他们的开发过程进行研究可以发现,要建立一个KDD应用的过程通常可以概括为以下三个阶段: ①由既懂领域专业知识又懂数据分析技术的人员进行初步的知识发现; ②训练或学习过程,即用适用于应用领域的编码体系对发现的知识进行编码; ③将发现的知识应用于实际任务,进行知识发现操作,即进行预测或描述。 4. KDD在我国大型零售企业的应用构想 在美国、日本等零售市场比较成熟的国家,绝大多数零售企业都有自己明确的目标顾客群.他们针对目标顾客群的特点,确定企业的市场定位,并开展相应的营销活动.有的放矢比盲目经营给企业带来了更多的经济效益.在我国以前市场不成熟、竞争不太激烈的时期,大多数零售企业一般都是从自己的角度出发来选择自己的经营种类和营销方式.到了今天,随着商品经济的发展,各商家也逐渐走向了成熟和理智,经营观念也发生了根本的改变,以前是“我有这种商品,应设法让顾客去适应和接受”,现在则是“我想为哪些人提供商品,如何才能吸引他们”.在这种情况下,对顾客信息的跟踪、分析顾客的特征、对未来的经营趋势进行预测,就显得尤为重要.从大量的数据中挖掘出有用的知识,对隐藏的总体特征进行描述,对发展趋势进行预测,这正是KDD所要解决的任务.有KDD这样的工具来辅助企业进行决策,正是无数管理者梦寐以求的目标. 具体到在我国的大型零售企业中建立KDD系统,其处理过程可以分为以下四个步骤: ①收集数据.需要收集的数据包括顾客信息、商品信息、以及顾客的消费情况.商品信息的收集比较容易实现,企业可随时整理商品的进货量、价格、规格、库存量、销售情况等等数据,存入数据库中.顾客信息可包括姓名、性别、年龄、收入、经济状况、爱好、家庭成员、甚至性格特征等.对被记录的顾客要发放某种凭证,从而可以在以后对其消费情况进行跟踪.所需要的域的数量与知识发现任务的要求紧密相关,所要发现的模式越复杂、种类越多,则域的数量就要越多.由于涉及到顾客的隐私,这些数据的收集和数据的准确性,都比较难达到.最后,还要对这些顾客的消费情况进行跟踪记录. ②数据的预处理.这一步骤可能包括对数据的完整性约束、一致性约束的检查;检查是否有错误数据并对其进行处理;检查是否有冗余的数据并剔除;检查是否有缺失的数据并按照一定的规则(如统计方法)进行填补;对数据的表述方式进行转换;对数据进行压缩或投影以简化数据的表达和处理等等;最后得到目标数据集.上面的各种处理并非一个应用中全都要用到,这要根据任务的要求和数据的质量来确定.应该注意的是,尽管上面的各种处理都有相应的工具来帮助人们实现,但这些工具毕竟不具备人类的智能,有时反而会将正确的数据当作错误的数据进行处理,增加了数据的噪声.因此,人的参与是不可缺少的. ③知识发现.企业定时或随时对上述的目标数据集进行知识发现操作,挖掘用户感兴趣的模式,即知识. ④产生输出.输出结果的方式可以有很多种,这要根据用户的需要而定.它可以只是一个统计报表(一般,这种情况下的报表中都包含有某种确定性量度,例如概率估计或确定性因子,从而表明和模型的区配程度,并对样本划分等级).也可以是对未来趋势的文字描述、图线图表.还可以作为某一事件的触发器,或用来构成一个应用的一部分. 5. 有利因素和不利因素 将KDD技术应用于我国的大型零售企业,存在一些有利因素和不利因素.这些因素可以分为两类:技术性的和操作性的.从技术的角度来看,从数据中得到的高质量的知识的障碍首先是因为数据本身的局限性.由于无法对每一个顾客、每个顾客每次的消费情况进行跟踪调查,因此数据的广度即覆盖面是有限的;而且由于有些数据无法得到(例如某些顾客可能拒绝回答自己的收入情况),因此,数据的深度也是有限的.其次,由于KDD使用的数据来自于实际的数据库,所以要处理的数据量可能很大,因此KDD中的学习算法的效率和可扩充性就业得尤为重要.并且,由于KDD所处理的数据来自于现实世界,数据的完整性、一致性和正确性都很难保证,如何将这些数据加工成学习算法可以接受的数据也需要进行深入的研究.虽然有很多障碍,但也应该看到有利因素.首先,KDD可以利用目前数据库所取得的研究成果来加快学习过程,提高学习效率.其次,也正由于KDD处理的数据来自于实际的数据库,而与这些数据库数据有关的还有其它一些背景知识,这些背景知识的合理运用也会提高学习算法的效率. 至于实际操作性的问题,有利的因素是,虽然持卡消费的顾客仅是全部顾客中的一部分,但却是很有代表性的顾客群,而且往往是较稳定的顾客群.因此,通过对他们的分析,能使目标市场更加清晰,为企业决策提供很好的辅助.不利的因素主要就是因为顾客信息的获取.由于有些特征项涉及到个人隐私、法律、道德等问题,可能会引起顾客的反感、抵制甚至纠纷.因此,商家应谨慎处理,事先广泛宣传活动的目的,并采取一些营销手段,来鼓励消费者的参与。 河南大学学报(自然科学版) 管聪慧 童学锋 |