XML clustering method

Topics/ETC 2009. 2. 2. 22:51 posted by Minery
본 발표자료는 07년 가을에 대학원 데이터마이닝 수업을 들으며 중간발표로 쓰인 자료이다. XML 포맷의 데이터를 클러스터링하기 위한 방법들을 소개하며 zip파일에는 발표자료에서 인용된 논문들을 첨부시켰다.
1. Introduction 에서는 xml 포맷 파일의 개요와 관련된 클러스터링에 대한 개요를 기술하였으며, 2. XML and XML schema 에서는 xml에 대해 생소한 사람들을 위해 간략히 xml 파일 포맷의 기초를 서술하였다. 3. Relational vs. XML 에서는 관계형 데이터베이스로 데이터를 관리하는 방법과 xml 파일을 이용해서 데이터를 관리하는 방법에 대해 비교하였다. 그리고 4. Paper overview 에서 관련 클러스터링 기법을 소개한다.



아래의 자료는 User preference based automated selection of web service compositions라는 논문을 읽은 후 요약한 자료이다.
본 논문에서는 웹 서비스에 필요한 속성 및 설정을 표현하는데 이를 온톨로지로 작성하는 작업을 보이고 있다. 그러나 온톨로지를 웹 서비스에 실제로 적용 시 표현된 속성과 설정이 어떻게 사용될지에 대한 구체적인 예시 (mathematical)가 없으며 온톨로지 표현 방법에 대한 구체적인 기술이 없어서 아쉬웠다.

Index
1. Introduction
2. Modeling aggregation information
3. User preference modeling
4. Automated plan selection
5. conclusion and outlook



본 논문은 RFID 환경을 갖춘 박물관에서 온톨로지를 이용하여 박물관 이용자들에게 지능형 서비스를 제공하기 위한 방법을 제시한 논문이다. 박물관 이용자들이 지능형 서비스를 받기 위하여 RFID 태그 및 리더를 이용한 상황인지 기술이 필요한데 이 논문에서는 2*3CM이라는 콘텍스트 모델을 사용하여 해결하였다.

* 이 자료는 본인이 찾아 읽은 논문을 리뷰한 것일 뿐 저자가 아닙니다.

인공신경망 (EBPA) 프로그래밍

Topics/ETC 2009. 1. 19. 19:29 posted by Minery
아래의 발표자료 및 C++ 코드는 인공신경망 중 오류역전파 알고리즘으로 불리는 EBPA (Error BackPropagation Algorithm)을 C++로 구현하고 실험한 자료이다. 편집기로 소스코드를 열면 인풋, 히든, 아웃풋 레이어를 설정할 수 있으며 트레이닝 데이터는 traning.dat에서 설정하며 testing.dat에서 결과를 확인할 수 있다.
 
* 이전에 올려두었던 프로그램은 아웃풋 레이어의 노드가 두개일 때만 잘 작동합니다.
* 한참동안 잊고 살다가 얼마전에 살펴보니 그런 문제가 있더라구요.
* 고쳐서 새로 올렸습니다.



본 레포트는 온톨로지를 표현하기 위한 언어들에 대한 조사 보고서이다. 첨부된 파일에는  SGML, HTML, XML, RDF, OIL, DAML, DAML+OIL, OWL 등의 언어에 대해 기술되어있으며 각 언어별로 예제 온톨로지가 작성되어있다.



온톨로지란 분산 컴퓨팅 환경에서 공유되는 데이터들을 개념화한 형식적으로 명백한 규정이다. 다시 말해, 특정 분야에서 사용되는 표준 어휘의 모임이라고도 할 수 있다. 어느 도메인에서 에이전트의 수행을 위한 문장을 만들고, 질의어를 이용한 정보검색을 위해서는 도메인의 개념화를 사용해야하는데 여기서의 도메인의 개념화를 위해 도메인에 관한 지식을 표현하고 의사소통하기 위한 단어를 제공한다.
온톨로지가 처음 제기될 때에는 단순히 지식의 공유와 재사용을 위해서 개발되었다. 최근, 온톨로지의 개념이 지능적인 정보시스템의 통합, 지능형 정보검색 분야로 확대되면서 시맨틱 웹, 시맨틱 웹서비스의 핵심 구성 요소로 각광 받고 있다. 또한 유비쿼터스 컴퓨팅 환경이 인류의 실생활과 점차 가까워지면서 쏟아지는 방대한 양의 자료를 자동적으로 처리하기 위한 대안 기술로 주목되고 있다.




아래의 글은 발행된 논문은 아니며 2005년에 내가 공부하던 것을 정리한 레포트형식의 글이다. 신빙성이 높은 글은 절대 아니고 참고용으로는 사용할만하다.



abstract

RFID(Radio Frequency IDentification)는 사물에 전자태그를 부착하여 필요시 리더를 통해 태그 정보를 읽음으로서 해당 사물에 대한 정보를 취득해내는 정보기술 중에 한가지이다. RFID는 처음 도입될 당시 바코드를 대체할 하나의 대안으로 인식되었으나 태그기술이 발전하여 담을 수 있는 정보의 양이 방대해졌기 때문에 바코드의 기능을 넘어 물류, 항만, 축산 등의 산업 현장과 유비쿼터스 홈네트워크에서 다양한 용도로 사용하기 위해 연구 및 개발되고 있다.
RFID 기술을 이용하면 객체에 대한 다양한 정보 - 제조사, 제작책임자, 물류 유통 이력, 생산일자, 소유자 등 - 를 리더를 통해 알아낼 수 있지만 RFID 리더를 통해 읽어낸 정보들을  정보처리시스템에서 활용하기 위해서는 약간의 제약 사항이 남아있다. 그 제약사항 중 첫 번째는 RFID를 지원하는 태그와 리더간의 프로토콜이 벤더별로 상이하다는 점이다. 그리고 두 번째는 기존 시스템과 RFID 시스템과의 데이터 연동 및 분산 처리를 위한 기반이 부재하다는 것이다.
위에서 언급한 첫 번째 문제점을 해결하기 위하여 RFID 미들웨어가 사용된다. RFID 미들웨어의 역할은 제조업체별로 상이한 태그와 리더간의 프로토콜을 읽어서 하나의 표준화된 정보로 표현해주는 것이다. RFID 미들웨어는 여러 회사와 표준화 기구 그리고 연구소에서 제안되었는데 현재까지 크게 EPCGlobal 표준과 ISO/ITE 표준으로 구분할 수 있다. 본 paper에서는 대부분의 업체에서 사용하고 있는 실질적인 표준인 EPCGlobal의 EPCIS (EPC Information Service)를 RFID 미들웨어로서 언급하고자 한다.
그리고 두 번째 문제점을 해결하기 위하여는 아직까지 뚜렷한 대안이 제시되고 있지는 않지만 정보의 재사용 및 분산처리를 위하여 개발되어진 Web service를 이용하고자 한다. Web service는 xml기반 통신 프로토콜인 SOAP를 사용하여 다른 웹서비스들 혹은, 정보시스템과 데이터를 주고받을 수 있다. 이러한 Web service의 특징 덕택으로 이질적인 언어와 시스템 사이에서도 마치 하나의 시스템인 것처럼 보이는 연동 시스템을 구축 할 수 있다. 이는 곧 새로운 RFID 시스템을 도입 할 때 시스템 도입 비용을 크게 줄일 수 있다는 것과 RFID 태그를 여러 가지 용도로 재사용 할 수 있음을 의미한다.
본 paper에서는 RFID 미들웨어와 Web service와의 연계성을 조사하고 UML2.0을 이용하여 연계 시스템의 설계를 하는 것을 언급하고자 한다.




아래의 발표자료는 2005년 대학원 수업 들으면서 발표했던 발표자료이다. 별로 잘 알지도 못하는 홈 네트워크와 상황인지관련 기술에 대해 공부하면서 발표자료를 준비했다. 발표준비를 하는 성의로 보자면 지금보다 그 때가 더 성실하지 않았나.. 하는 반성이 생긴다.


Context Aware Middleware for Ubiquitous Home-network

1. Definition of “Context”
2. Why middleware for context awareness
3. Characteristics of middleware for context awareness
4. Middleware for context awareness in Ubiquitous  computing environment
5. EPC network
6. Conclusion
7. References



아래의 발표자료는 2005년 가을에 유비쿼터스 환경과 웹 서비스와의 연계성을 찾는 연구의 과정에서 나온 발표자료이다. 당시 석사 2학기였던 내가 방대한 분량의 자료를 조사하느라 코피터졌던 기억이 새록새록하다. 아마 다시 이렇게 자료조사 하라면 못할지도 모르겠다;;



Index

1. 유비쿼터스 환경의 소개
2. 유비쿼터스 환경 구현을 위한 기술
3. RFID/USN
4. 웹 서비스
5. RFID/USN과 웹 서비스의 연계를 통한 유비쿼터스    서비스 환경 구축
6. Examples
7. 진보된 서비스를 위하여
8. RFID/USN 활용사례
9. 연구동향
10. 결론
11. 참조문헌




웹 서비스를 구성하는 (표준으로 지정된) 3개의 구성요소는 1) SOAP, 2) UDDI 그리고 3) WSDL이 있다.

1) SOAP : SOAP simple Object Access Protocol의 약자로서 웹서비스에 contact하고 정보를 주고 받기 위한 프로토콜이다.

2) UDDI : 웹 서비스는 웹 서비스를 제공받고자 혹은 search하고자 하는 agent들에게 가지고 있는 service가 어떤 것이고 무엇을 제공해주는지에 대한 것을 publish할 필요가 있는데 이것을 해결해 준 표준 기술이 UDDI(Universal Description, Discovery and Integration)이다. UDDI 레지스트리는 비즈니스들과 웹서비스 그리고 다른 엔터티들에 대한 설명을 제공한다. 레지스트리는 또한 하나 이상의 비즈니스와 그들이 제공하는 서비스에 대한 정보를 생성하기 위해 사용될 수 있다.

3) WSDL : WSDL(Web Service Description Language)은 특정 비즈니스가 제공하는 서비스를 설명하고, 개인이나 다른 회사들이 그러한 서비스에 전자적으로 접근할 수 있는 방법을 제공하기 위해 사용되는 XML 기반의 언어이다. 위의 UDDI와 연관하여 보자면 UDDI는 기업들이 자신들의 서비스 내용을 인터넷 상에 스스로 등록할 수 있게 해주는 XML 기반의 등록처이며, WSDL은 그렇게 하기 위한 언어이다.

 

Learning : capability of general intelligence

Learning이란 일반적 지능의 가능성을 말하며 여기서의 지능은 세계와 경험에 의하여 일련의 상호작용을 통해 행동과 판단이 바뀔 수 있게 하는 것을 의미한다.

 

기계학습에는 3가지의 범주가 있는데 1)symbol based machine learning, 2) biological machine learning 그리고 3) social interaction machine learning이 있다.

1)    text , simbol을 기반으로 한 기계학습으로서 formal logic, induction, decision tree등의 기법이 여기에 해당된다. 주로 function이나 logic에 의한 기법들로서 판단(decision)능력은 이미 검증된 바 있으나 위에서 정의한 학습(Learning)의 측면에 있어서 새로운 사실을 받아들이고 검출해내는 능력은 떨어진다.

2)    인체의 구조나 생물의 구조에 아이디어를 얻어 그것을 컴퓨터로 구현한 것이다. 대표적으로는 인공신경망과 유전자학습 알고리즘이 있다. 인공신경망은 인간의 뇌에 존재하는 뉴런을 구현한 것으로서 패턴학습을 시키는데 뛰어난 능력을 발휘한다. 그러나 1000억개의 뉴런이 있는 인간의 뇌와 비교해서 훨신 적은 뉴런의 개수 때문에 학습이 수월치 않다는 단점과 search, indexing능력이 떨어지는 편이다. 그리고 유전자 학습 알고리즘은 풀고자 하는 문제에 대한 가능한 해들을 정해진 형태의 자료구조로 표현한 다음, 이들을 점차적으로 변형함으로써 점점 더 좋은 해들을 찾는 방법이다. 즉 풀고자 하는 문제에 대한 가능한 해들을 염색체로 표현한 다음 이들을 점차적으로 변형함으로써 점점 더 좋은 해들을 찾는다. 유전자 학습 역시 최적해를 구하는데 유용하게 사용될 수 있으나 search문제나 목록화 문제를 해결하는데 있어서 적절치 않다.

3)    Social interaction 방법의 대표적인 예로서 Agent가 있다. 에이전트(소프트웨어, 하드웨어 또는 다른 방식의) agenthood 한 행동특징을 보여 센서(sensor)를 통해서 소프트웨어 환경을 지각하고 Actuator를 통해 행동한다. Agent는 자율적으로 수행된다. 에이전트는 대개 (소프트웨어를 포함해서) 논리적으로 또는 다른 방법으로 학습(Learn)하고 추론(Reason)하는 능력을 가진다. 그들은 세상과 다른 것들에 대한 사실들과 규칙들을 발견할 수 있고, 이러한 진리여부를 추정하고 추론할 수 있고, 그들의 Ontology를 변경할 수 있다. Agent 구현의 가장 큰 문제점으로는 behavior rule을 어떻게 만들 것인 가에 대한 문제이다.