The Proposal of Service Oriented Data Mining System for Solving Real-Life Classification--阅读笔记
The Proposal of Service Oriented Data Mining System for Solving Real-Life Classification and Regression Problems–阅读笔记
Abstract
本文提出非常灵活的面向服务的数据挖掘系统,每个数据挖掘功能都由web服务提供,web服务需要进行输入输出参数及功能描述。
Introduction
分布式数据挖掘(Distributed Data Mining, DDM):在大型数据库中以分布式方式执行机器学习算法,使得在不牺牲实验性能的同时计算时间硬件成本降低。
面向服务的体系结构(Service Oriented Architecture,SOA)主要思想是将应用程序,系统和进程视为封装的组件,称为服务。这些服务由输入和输出参数以及其功能的语义描述来表示。
Web服务目前被看作是异构资源整合和异构系统互操作的解决方案。它们是独立的,自我描述和模块化的应用程序,可以通过Web发布和调用。
本文提出面向服务的数据挖掘系统(Service Oriented Data Mining System , SODM System)解决选择的数据挖掘任务,即分类任务,配备建议机制即建议哪个分类器应该被用来作为最好的给定的用户请求。
该解决方案的优点是:
- 与SOA范式兼容;
- 用户可以使用由其他人创建的分类器和分类器模型。
Contribution to Sustainability
根据SOA范例开发应用程序是直接被称为可持续性科学的新技术的快速发展。
数据挖掘方法的一个缺点就是这些解决方案与不同科学领域的生命支持系统之间的整合问题。
SODM系统解决了整合和可访问性的问题。在数据挖掘解决方案中,完全可以访问所有通过ESB(Enterprise Service Bus)集成的应用程序。
例如,每个应用程序只需通过在SOAP消息中发送对象就可以调用负责创建对象集群的服务。无需创建负责解决数据挖掘问题的应用程序的附加组件,因为这些解决方案在SODM系统中作为数据挖掘服务提供。
另外,代表不同学科的不同系统可以调用相同的数据挖掘服务。例如,同样的模型可以用来预测医疗和政府系统的生存期。
根据基本的可持续设计原则,即耐久性,新的数据挖掘功能可作为新的服务添加,而不需要重新构建整个系统。
Service Oriented Architecture and Web Services
SOA是一个应用程序框架,它使组织能够独立于所运行的技术系统来构建,部署和集成这些服务。在SOA中,应用程序和基础架构可以作为一组可重用的资产和服务进行管理。
服务根据SOA范例发布,然后通过ESB进行访问,并被Web应用程序使用。
ESB是支持SOA方法的实现技术。 ESB作为企业范围内的可扩展中间件基础设施提供了服务交互的虚拟化和管理,包括对服务所需的通信,调解,转换和集成技术的支持。
Web服务是基于用于消息传递,服务描述和发现的XML(可扩展标记语言)的技术。
Web服务使用如下标准:
- SOAP(简单对象访问协议)是应用程序通信和通过HTTP交换信息的协议。
- WSDL(Web服务描述语言)是一种用于描述Web服务以及如何访问它们的基于XML的语言。
- UDDI(通用描述,发现和集成)是服务发现和调用的开放标准。
服务提供者和请求者使用XML标准的关系如下:
提供者通过发布其Web服务的WSDL描述来访问Web服务,并且请求者使用包含已发现服务的注册的UDDI或其他类型的注册表来访问描述,并通过发送请求来执行提供者的服务一个SOAP消息。
The Architecture of SODM System
应用程序(服务客户端)和服务提供者之间的通信由企业服务总线(ESB)使用简单对象访问协议(SOAP)完成。
SODM系统由以下部分组成:
- 用户界面:负责用户和服务之间通信的组件,多于个用户界面可以与ESB集成;
- 服务使用存储库:负责监控数据挖掘服务的使用情况;
- 数据挖掘服务:负责解决分类和回归问题,聚类对象,数据过滤或提取关联规则的服务;
- 数据挖掘服务管理器:负责在请求中筛选用户所述问题的最合适的服务。
所有组件都通过ESB集成,如下图:
上述体系结构中提出的数据挖掘解决方案的优点。
- 每个服务客户端都可以轻松访问数据挖掘服务。
- 新的数据挖掘功能可以很容易地包含在系统中,作为具有特定输入和输出参数的新服务。
- 提出的架构包括数据挖掘服务管理器,它有助于为没有数据挖掘能力的用户找到最佳的解决方案。
The Functionality of SODM System
在SODM中可以区分以下功能:
- 构建和更新分类和回归模型;
- 使用各种聚类算法对对象进行分组;
- 过滤数据(缺失属性替换值,特征选择等);
- 关联规则提取。
本文只关注与解决分类和回归问题相关的功能。在这个领域可以区分:
- 建立分类器模型(训练分类器):分类器模型提供待分类对象特征值的输入向量,并返回类标签;每个分类器类型(决策树,决策规则,神经网络)由一个数据挖掘服务(分类服务)来表示,建立分类器功能是通过取得训练数据集并返回已建模型标签的操作来实现的。其他功能由分类服务中包含的其他操作来实现。
- 实例分类:是使用操作进行的,该操作通过使用现有模型进行分类来取得输入上的未标记对象集合,并在输出上返回其标签。
- 分类器模型测试性能:通过测试操作来评估。
- 打印分类器模型:分类器(规则,决策树)的一些模型具有可理解的结构,可打印出来。
- 更新模型:在增量学习过程中,有许多分类器模型(朴素贝叶斯),可以很容易地更新。
The Classification Components of SODM System
分类服务
以下分类服务在系统中进行了区分:
- NBService,即朴素贝叶斯;
- J48Service,即J48(决策树);
- JRipService,即JRip(决策规则);
- MLPService,即MLP(神经网络);
- LRService,即(Logistic回归)。
每个分类服务都包含前一小节所描述的操作:
- build Classifier(构建分类器的模型),
- classify Instances(分类对象),
- get Capabilities(获取分类器的能力),
- print Classifier(打印分类器的结构),
- testing Classifier分类)。
- 此外,NBService包含操作,它可以更新分类器的模型[14]。
分类服务管理器
SODM系统还包括根据客户的要求管理负责找到最佳模型的服务。分类服务管理器包含三个过滤操作:
- 第一,只有数据集被输入到输入中,并且操作负责查找可以使用该数据集训练的分类器(分类服务)的类型。例如,数据集可以包含缺失值,只有那些能够处理缺失值的分类器被过滤。
- 第二,可以指定其他一些要求,例如分类器必须是可更新的。
- 第三,只需要模型功能。
Final Remarks and Future Works
本文介绍了SODM系统的基本概念。 该系统基于SOA范例,因此可以通过ESB完全访问组件。
个人感想
这篇论文针对现阶段存在的数据挖掘机制提出了一个可重用可分享的系统平台,降低做数据挖掘的门槛。但是目前不同领域的数据挖掘方法具有狭义性(仅在该领域有效),并且不同的参数都有不同的效果,会增加该系统的实现难度,不同的方法作为服务增加进去会使得系统变得冗余庞大。不过这种思想估计慢慢的会是一种趋势,可能先从某些实验室、公司开始,这将会大大的提高工作效率。