KR100727555B1 - 시간 가중치 엔트로피를 이용한 결정 트리 생성 방법 및이를 기록한 기록매체 - Google Patents

시간 가중치 엔트로피를 이용한 결정 트리 생성 방법 및이를 기록한 기록매체 Download PDF

Info

Publication number
KR100727555B1
KR100727555B1 KR1020060024327A KR20060024327A KR100727555B1 KR 100727555 B1 KR100727555 B1 KR 100727555B1 KR 1020060024327 A KR1020060024327 A KR 1020060024327A KR 20060024327 A KR20060024327 A KR 20060024327A KR 100727555 B1 KR100727555 B1 KR 100727555B1
Authority
KR
South Korea
Prior art keywords
entropy
data
decision tree
time
case data
Prior art date
Application number
KR1020060024327A
Other languages
English (en)
Other versions
KR20070058936A (ko
Inventor
이지형
동립권
Original Assignee
성균관대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 성균관대학교산학협력단 filed Critical 성균관대학교산학협력단
Publication of KR20070058936A publication Critical patent/KR20070058936A/ko
Application granted granted Critical
Publication of KR100727555B1 publication Critical patent/KR100727555B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2216/00Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
    • G06F2216/03Data mining

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

시간을 고려하여 최근 데이터들의 경향을 더 잘 표현할 수 있는 시간 가중치 엔트로피를 이용한 결정 트리 생성 방법 및 이를 기록한 기록매체에 관한 것으로, 컴퓨터가 외부에서 입력된 다수의 사례 데이터의 패턴을 인식하고 새롭게 분류된 데이터를 창출하기 위한 데이터 마이닝의 분류 기법 중 결정 트리 생성 방법에 있어서, (a) 시간 가중치 엔트로피를 이용하여 다수의 사례 데이터가 갖는 속성들 중에서 현재 레벨의 노드가 될 속성을 선택하기 위한 테스트를 하는 단계, (b) 상기 테스트에서 얻은 정보 획득량이 가장 큰 속성을 노드로 선택하는 단계, (c) 현재 레벨의 모든 노드가 선택될 때까지 상기 단계 (a) 내지 상기 단계 (b)를 반복하는 단계, (d) 현재 레벨의 모든 노드가 선택되면 한 단계 하위 레벨에 대해 상기 단계 (a) 내지 상기 단계 (c)를 반복하는 단계로 이루어진다.
상기와 같은 시간 가중치 엔트로피를 이용한 결정 트리 생성 방법 및 이를 기록한 기록매체를 이용하는 것에 의해, 최근 데이터에 더 중점을 두고 있기 때문에 전체 데이터를 고려해도 최근 데이터의 영향을 볼 수 있다.
데이터마이닝, 결정 트리, ID3, 엔트로피

Description

시간 가중치 엔트로피를 이용한 결정 트리 생성 방법 및 이를 기록한 기록매체{CREATING METHOD FOR DECISION TREE USING TIME-WEIGHTED ENTROPY AND RECORDING MEDIUM THEREOF}
도 1은 종래의 결정 트리에 따른 DM발송 수집 데이터 테이블과 추출된 규칙을 나타내는 도면,
도 2는 각 사례들에 대한 가중치를 나타내는 도면,
도 3은 본 발명에 따른 시간 가중치 엔트로피를 이용한 결정 트리 생성 방법을 설명하는 흐름도,
도 4는 종래의 ID3 알고리즘과 본 발명에 따른 결정 트리 생성 방법의 비교 실험을 위한 데이터 테이블을 도시한 도면,
도 5는 도 4에 도시된 테이블에 따라 생성된 결정 트리의 예를 나타내는 도면.
본 발명은 데이터 마이닝(Data Mining)의 분류 기법 중 결정 트리에 관한 것으로, 특히 시간을 고려하여 최근 데이터들의 경향을 더 잘 표현할 수 있는 시간 가중치 엔트로피를 이용한 결정 트리 생성 방법 및 이를 기록한 기록매체에 관한 것이다.
유비쿼터스(Ubiquitous) 환경에서는 사용자 프로파일 정보에 관련된 데이터들을 데이터베이스(Database)에 저장하고, 사용자에게 다양한 서비스를 제공하기 위해 저장된 사용자 프로파일 정보 데이터(User Profile Information Data)들을 학습시켜 사용자의 경향을 분석해야 한다. 그런데 실제 유비쿼터스 환경에서 사용자의 경향은 시간에 따라 바뀌는 경우가 많다. 예를 들어, A 사용자가 3개월 전에 A1 상황에서 A10 일을 했었는데, 최근에 같은 A1 상황에서는 A10 일을 하지 않거나 B1 상황에서 A10 일을 하는 경우가 있다. 이와 같이, 사용자 프로파일 데이터들을 분석할 때는 과거의 데이터보다는 최근의 데이터에 더 많이 비중을 두어야 한다.
일반적으로, 데이터 마이닝(Data Mining)이란 수많은 데이터 가운데 유용하게 활용될 수 있는 숨겨진 지식을 효과적으로 찾아내는 지식 탐사의 한 연구 분야이다. 즉, 데이터 웨어하우스(Data Warehouse)에 숨겨져 있는 데이터 간의 유형과 관계를 탐색하고, 이를 분석하는 분야이다. 데이터 마이닝의 기법으로는 한 사건이 다른 사건과 상호 관련을 갖는 연합(Association), 한 사건이 뒤의 다른 사건을 유발시키는 연속(Sequence), 패턴(Pattern)을 인식하고 새롭게 분류된 데이터를 창출하는 분류(Classification), 이전에는 알려지지 않았던 사실 집단을 발견하고 가시화하는 집단화(Clustering), 데이터 내에서 단순히 발견되는 패턴을 통해 미래에 관한 예측을 하는 예측(Prediction) 등이 있다.
데이터 마이닝에서 주로 사용하고 있는 분류 방법에는 베이지안 정리 (Bayesian) 분류, K Nearest Neighbors, 유전자 알고리즘(Genetic Algorithm), 신경망(Neural Network), 규칙 기반(Rule-Based) 알고리즘, 결정 트리(Decision Tree) 등이 있다. 그 중에서 간단한 트리 형식으로 결과가 구성되는 결정 트리는 사람들이 쉽게 이해하고 설명할 수 있기 때문에 데이터 마이닝 작업에 많이 쓰이고 있다. 또한, 결정 트리는 예측과 분류를 위해 가장 많이 사용되는 방법이다. 이러한 예측과 분류에 있어서 어떤 경우에는 '얼마나 잘 분류하거나 예측하는가'만이 문제시되기도 한다. 즉, DM(Direct Mail) 발송회사는 'DM 수신집단 모델(Model)이 어떻게 구성되었는지'보다는 '자신의 메일(Mail)에 얼마나 대답을 잘 해줄 수 있는 집단을 분류할 수 있는지'에 관심을 갖는다. 그러나 또 다른 경우에는 '왜 이러한 결정을 하게 되었는가'를 설명하는 것을 중요시하기도 한다. 이 경우에 결정 트리가 유용하게 사용되는데, 예를 들어 카드신청자의 카드 발급을 거절하는 경우 거절 결과를 설명할 수 있는 결정 트리가 사용된다.
결정 트리는 데이터를 구성하는 속성(Attribute)과 클래스(Class)와의 관계를 규명하기 위해 데이터 집합(Data Set)을 부분 집합(Subset)으로 분할하고, 이 분할된 집합의 특성을 규명하는데 사용되는 방법이다. 다시 말해서, 과거에 수집된 데이터의 레코드(Record)들을 분석하고, 이 클래스들 사이에 존재하는 패턴을 속성의 조합으로 나타내는 트리 형태의 분류모형이다. 그리고 이렇게 만들어진 분류모형은 새로운 레코드를 분류하고 해당 클래스의 속성을 예측하는데 사용된다. 이러한 결정 트리는 스무고개 게임과 유사하다. 첫 번째 질문이 다음에 해야 할 질문을 결정하게 되며, 질문이 잘 선택되면 들어온 레코드들을 짧은 시간 내에 잘 분류할 수 있다. 결정 트리는 순환적 분할(Recursive Partitioning) 방식을 이용하여 트리를 구축하는 방법으로, 트리의 가장 상단에 위치하는 루트 노드(Root Node), 속성의 분리기준을 포함하는 내부 노드(Internal Nodes), 노드와 노드를 이어주는 가지(Link), 그리고 최종 분류를 의미하는 리프 노드(Leaf Nodes)로 구성된다.
결정 트리의 구조를 형성하는 형태 중 하나로 이진 트리(Binary Tree) 구조를 들 수 있다. 이 구조는 각각의 노드가 두 개의 자식 노드를 만들어 예-아니오-질문(Yes-No-Query)에 답함으로써 리프 노드까지 진행해가는 방법이다. 단순한 이진 트리 모양만 있는 것이 아니라 혼합된 형태의 모형도 있다. 구축된 모형은 테스트(Test) 자료를 적용시켜 예측률을 살펴봄으로써 그 모형의 효과를 측정한다. 이때 여러 경로 중 더욱 효과적인 경로가 있을 수 있으며, 이런 경우 비효과적인 가지를 없애는 가지치기(Pruning) 방법을 적용해야 한다. 결정 트리는 자료를 가장 잘 분리할 수 있는 분리 변수로 분리의 기준을 찾는 것부터 시작한다. 그리고 나서 다음 노드에서 분리의 기준을 다시 찾아 더 이상 잘 분리할 수 없을 때까지 트리를 형성한다.
결정 트리 생성의 예로 DM발송을 도 1에 따라 살펴보자.
도 1은 종래의 결정 트리에 따른 DM발송 수집 데이터 테이블과 추출된 규칙을 나타내는 도면으로서, 도 1a는 수집된 DM발송 데이터의 한 예이고, 도 1b는 생성된 분류규칙을 트리 형식으로 나타낸다.
도 1a에서 도시한 바와 같이, DM발송에서는 긍정적인 반응을 보일만한 고객 들을 예측하는 것을 목적으로 한다. 우선, 통신업체의 질문에 대한 고객의 반응이 '예'로 응답한 고객들과 '아니오'로 응답한 고객들을 특성에 따라 분류한다. 데이터는 '직업', '성별', '나이'라는 3가지의 속성과 특성에 해당하는 '응답'으로 구성되고, 전체 고객의 수는 10개이며, 이 중 3명의 고객이 '아니오', 7명이 '예'라고 응답했다. 결정 트리는 각 속성들이 고객들을 분류하는데 영향을 미치는 정도를 측정한 후, 그 중에서 가장 영향력이 있는 속성을 선정하여 루트 노드로 지정한다. 이 예에서는 '직업'이라는 속성이 루트 노드로 지정되었으며, 고객들은 해당 속성의 값에 따라 '회사원', '자영업', '무직'이라는 3개의 가지로 분리된다. 여기에서 고객의 직업이 '자영업'인 경우 '성별'과 '나이'에 상관없이 '예'라고 응답한다는 첫 번째 규칙을 발견할 수 있다. 반면 전체 10명의 고객들 중에서 직업이 '회사원'인 가지에 속한 고객의 수는 5명이며, 이 가운데 2명이 '아니오', 3명이 '예'라고 응답했다. 결정 트리는 이 5명의 고객을 계속 분류하기 위해 트리를 확장시키며, 이때 가장 큰 영향력을 미치는 속성이 '나이'라는 것을 찾아내어 내부 노드로 지정한다. 분리의 기준이 되는 값은 35세로 정한다. 특히 나이가 35세 이하인 2명 고객 모두는 '아니오'라고 응답했는데, 이를 근거로 직업이 '회사원'이고 나이가 '35세' 이하인 고객은 '아니오'라고 응답한다는 두 번째 규칙이 도출된다. 이와 같은 방법으로 트리를 확장한 결과 총 4가지의 분류규칙이 만들어졌다. 도 1b에서 도시한 바와 같이, 이제 회사원이고, 나이가 33세인 남성고객에게 DM을 발송하면 어떻게 반응할 것인가를 판단해 보면, 위의 규칙에 따라 '아니오'라고 응답하라 것이라고 예측할 수 있다. 따라서 이러한 고객은 DM발송 대상자 명단에서 제외하는 것이 비용 과 노력 절감 차원에서 유리할 것이다.
이러한 결정 트리 알고리즘에는 ID3(Interactive Dichotomizer 3), ID5R, C4.5, CART(Classification And Regression Trees), SPRINT(Scalable PaRallelizable INduction of decision Trees), CHAID(Chi-squared Automatic Interaction Detection) 등이 있고, 그 중에서 대표적인 것이 1986년에 Quinlan이 제안한 ID3 알고리즘이다.
ID3 알고리즘은 결정 트리에서 분할 기준이 되는 최적 검사 속성을 선택하기 위해 속성 선택 척도로 정보 획득량(Information Gain)을 사용한다. 이 척도는 정보 이론의 엔트로피(Entropy) 개념을 사용하는데, 엔트로피 값은 작은 값을 취한다. 따라서 검사 속성 중에서 가장 작은 엔트로피 값을 갖는 속성이 정보 획득량이 가장 많으므로 이 속성을 선택하게 된다. 패턴인식과 분류에 대한 ID3 접근은 비수치 속성이나 변수값(Nonnumeric Attributes or Feature Values)을 가지는 패턴들을 분류하기 위한 효율적인 식별 트리(Discrimination Tree) 생성 과정이다. 식별 트리는 규칙들을 모아놓은 형태로 표현될 수 있기 때문에, 기계학습이나 규칙획득을 위한 귀납추론으로 생각되기도 한다. ID3는 어떤 조건에서는 매우 효율적일 수 있지만, 효용성 범위를 넘어서서 사용되어서는 안 된다. ID3에서는 패턴의 수가 많고, 각 패턴들이 긴 길이의 비수치 속성값으로 구성되어 있을 경우에 유효하게 사용될 수 있다.
이와 같이 데이터 마이닝을 위한 최적의 의사 결정 트리(Decision Tree)를 선택하는 기술의 일례가 대한민국 특허 등록공보 10-0497211호(2005.06.15 등록; 데이터 마이닝을 위한 최적의 의사 결정 나무 선택 장치 및 그 방법)에 개시되어 있다.
상기 공보에 개시된 기술은 입력된 다차원 자료 및 내포 의사 결정 나무(트리)들을 이용하여 주어진 나무에 대한 다차원 자료 각각의 확률을 계산하는 확률 계산 수단, 상기 나무에 대한 사전 확률을 계산하는 사전 확률 계산 수단, 상기 나무에 대한 다차원 자료 각각의 확률 및 주어진 나무에 대한 사전 확률을 이용하여 베이지안 정리(Bayesian Theorem)에 따라 사후 확률을 계산하는 사후 확률 계산 수단, 상기 각각의 나무에 대한 사후 확률이 가장 큰 의사 결정 나무를 선택하여 단일화된 최적 의사 결정 나무를 구하는 의사 결정 나무 선택 수단으로 구성되고, 사후 확률을 이용하여 TIC(Tree Information Criteria)라는 새로운 양을 정의한 후, TIC 값에 근간을 둔 최적의 의사 결정 나무를 선택하여 의사 결정 나무를 한 번만 구축하게끔 하여 계산 속도를 비약적으로 향상시키는 데이터 마이닝을 위한 최적의 의사 결정 나무 선택 장치 및 그 방법에 대해 개시되어 있다.
또, 데이터마이닝에서 통계적인 분류법으로 사용되는 의사 결정 트리 기술의 일례가 대한민국 특허 등록공보 10-0498651호(2005.06.22 등록; 데이터마이닝의 분류 의사 결정 나무에서 분산이 작은, 즉 순수한 관심 노드 분류를 통한 자료의 통계적 분류 방법)에 개시되어 있다.
상기 공보에 개시된 기술은 데이터마이닝의 한 기법인 의사 결정 나무(트리) 중 분류 의사 결정 나무를 형성함에 있어서, min(PL 0PL 1, PR 0PR 1) 또는 min(PL 1, PL 0, PR 1, PR 0) 또는 max(PL 1, PL 0, PR 1, PR 0)에 기초한 분류방법(Splitting Method)으로, 독립 변수(x)와 그의 분계점(Threshold)을 분류 기준으로 선정하고, 선정한 분류 기준에 따라 자식 노드를 분류하고, 모든 자식노드에 대해 분류 과정의 종료 여부를 판단하여 분류 과정이 종료하지 않은 것으로 판단되는 자식노드에 대하여는 분류 과정을 반복하는 과정으로 이루어지고, 반응 변수가 범주형 변수(Categorical Variable)로써 각 관찰치를 의사 결정 나무에 의하여 계급을 예측하여 불균형적인 나무 구조를 가지지만 이것 때문에 오히려 더 설명력이 있고, 원하는 부분 집합을 찾기엔 더 빠르고 간결하여 효과적인 데이터마이닝의 분류 의사 결정 나무에서 분산이 작은, 즉 순수한 관심 노드 분류를 통한 자료의 통계적 분류 방법에 대해 개시되어 있다.
그러나 유비쿼터스와 같은 환경에서 시간에 따라 경향이 바뀌는 데이터들을 분석할 때, 기존의 ID3 알고리즘은 시간요소를 적절히 표현할 수 없다는 문제가 있었다.
또한, 기존의 ID3 알고리즘에 있어서는 시간에 따라 변화하는 데이터를 처리할 때 최근 데이터의 경향을 알기 힘들다는 문제가 있었다. 즉, 기존의 알고리즘은 최근 데이터를 찾아내는데 있어서 어느 데이터가 최근의 것인지 알기가 쉽지 않다.
본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위해 이루어진 것으로서, 모든 데이터를 이용해도 최근의 경향을 쉽게 알아낼 수 있는 시간 가중치 엔트로피를 이용한 결정 트리 생성 방법 및 이를 기록한 기록매체를 제공하는 것이 다.
본 발명의 다른 목적은 유비쿼터스 환경에서 사용자의 선호도 데이터를 분석하여 사용자의 행동을 예측하거나 성향을 인지할 수 있는 시간 가중치 엔트로피를 이용한 결정 트리 생성 방법 및 이를 기록한 기록매체를 제공하는 것이다.
상기 목적을 달성하기 위해 본 발명에 따른 시간 가중치 엔트로피를 이용한 결정 트리 생성 방법은 컴퓨터가 외부에서 입력된 다수의 사례 데이터의 패턴을 인식하고 새롭게 분류된 데이터를 창출하기 위한 데이터 마이닝의 분류 기법 중 결정 트리 생성 방법에 있어서, (a) 시간 가중치 엔트로피를 이용하여 다수의 사례 데이터가 갖는 속성들 중에서 현재 레벨의 노드가 될 속성을 선택하기 위한 테스트를 하는 단계, (b) 상기 테스트에서 얻은 정보 획득량이 가장 큰 속성을 노드로 선택하는 단계, (c) 현재 레벨의 모든 노드가 선택될 때까지 상기 단계 (a) 내지 상기 단계 (b)를 반복하는 단계, (d) 현재 레벨의 모든 노드가 선택되면 한 단계 하위 레벨에 대해 상기 단계 (a) 내지 상기 단계 (c)를 반복하는 단계를 포함하고, 상기 단계 (a) 내지 상기 단계 (b)에 의해 생성되는 결정 트리는 모든 하위사례 데이터 집단이 하나의 클래스로 통일되고 시스템 엔트로피가 0이 될 때까지 생성되며, 상기 시간 가중치 엔트로피는 최근의 경향일수록 큰 가중치를 갖는 것을 특징으로 한다.
또, 본 발명에 따른 시간 가중치 엔트로피를 이용한 결정 트리 생성 방법에 있어서, 상기 시간 가중치 엔트로피는 식
Figure 112006018456015-pat00001
의 실행에 의해 연산되며, 상기 S는 사례 데이터들의 집합, 상기 Tc는 사례 데이터들이 속하는 클래스의 총 개수, 상기 i는 사례 데이터의 순서를 나타내는 임의의 변수, 상기 W(i)는 i번째 사례 데이터의 최근 경향을 표시하는 가중치, 상기 c는 순서를 나타내는 임의의 변수인 것을 특징으로 하는 시간 가중치 엔트로피를 이용한 결정 트리 생성 방법.
또, 본 발명에 따른 시간 가중치 엔트로피를 이용한 결정 트리 생성 방법에 있어서, 상기 W(i)는 식
Figure 112006018456015-pat00002
의 실행에 의해 연산되며, 상기 n은 사례 데이터들의 개수, 상기 i는 사례 데이터의 순서를 나타내는 임의의 변수, 상기 θ는 상기 n을 X축으로 하고 사례 데이터의 신뢰도를 Y축으로 하는 직선비례그래프에서 각 사례 데이터의 가중치를 나타내는 각도이고, 상기
Figure 112006018456015-pat00003
의 범위는 -2/n보다 크거나 같고 2/n보다 작거나 같은 것을 특징으로 한다.
또, 본 발명에 따른 시간 가중치 엔트로피를 이용한 결정 트리 생성 방법에 있어서, 트리의 생성 중 특정 노드의 엔트로피가 사전에 정한 기준값보다 작을 경우, 그 노드에 속하는 사례 데이터가 가장 많이 속하는 클래스로 대치하는 것을 특징으로 한다.
또, 상기 목적을 달성하기 위해 본 발명에 따른 컴퓨터로 읽을 수 있는 기록 매체는 컴퓨터가 외부에서 입력된 다수의 사례 데이터의 패턴을 인식하고 새롭게 분류된 데이터를 창출하기 위한 데이터 마이닝의 분류 기법 중 결정 트리 생성 방법을 컴퓨터로 읽을 수 있는 기록매체에 있어서, (a) 시간 가중치 엔트로피를 이용하여 다수의 사례 데이터가 갖는 속성들 중에서 현재 레벨의 노드가 될 속성을 선택하기 위한 테스트를 하는 단계, (b) 상기 테스트에서 얻은 정보 획득량이 가장 큰 속성을 노드로 선택하는 단계, (c) 현재 레벨의 모든 노드가 선택될 때까지 상기 단계 (a) 내지 상기 단계 (b)를 반복하는 단계, (d) 현재 레벨의 모든 노드가 선택되면 한 단계 하위 레벨에 대해 상기 단계 (a) 내지 상기 단계 (c)를 반복하는 단계를 실행시키기 위한 프로그램을 기록하고, 상기 단계 (a) 내지 상기 단계 (b)에 의해 생성되는 결정 트리는 모든 하위사례 데이터 집단이 하나의 클래스로 통일되고 시스템 엔트로피가 0이 될 때까지 생성되며, 상기 시간 가중치 엔트로피는 최근의 경향일수록 큰 가중치를 갖는 것을 특징으로 한다.
이하, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시 예를 첨부된 도면을 참조로 하여 상세히 설명하기로 한다. 또한, 본 발명의 설명에 있어서는 동일 부분은 동일 부호를 붙이고, 그 반복 설명은 생략한다.
우선, ID3 알고리즘에서 정의하는 엔트로피 공식을 소개한다. 엔트로피는 다음과 같이 정의한다.
Figure 112006018456015-pat00004
[수학식 1]에서 S는 사례들의 집합이고, Tc는 사례들이 속하는 클래스의 총 개수이며, Pc는 S중에서 클래스 c에 속하는 사례들의 비율이다. 즉, S에 n개의 사례가 있고 이중 nc개가 있다면 Pc=nc/n가 된다. 그리고 0log20=0으로 정의한다.
S 중에서 c에 속하는 것이 하나이면 Pc=1/n이고 두 개이면 2/n이 되므로, S의 각 사례가 S의 엔트로피에 미치는 영향은 1/n에 비례한다고 할 수 있다. 즉 i번째 사례의 최근 경향을 표시하는 가중치를 W(i)로 표시하고, 모든 i에 대하여 W(i)=1이라고 한다면, Pc는 [수학식 2]와 같이 다시 적을 수 있다. [수학식 2]에서 c(i)는 i번째 사례가 속하는 클래스이다.
Figure 112006018456015-pat00005
도 2는 각 사례들에 대한 가중치를 나타내는 도면이다.
도 2a는 ID3 알고리즘에서의 각 사례별 가중치로 하나의 사각형 면적으로 표현되어 있다. 예를 들어, 도 2a에서 빗살무늬로 채워진 부분은 첫 번째 사례의 가 중치를 나타낸다. 도 2a에서 모든 데이터의 가중치 값은 모두 1이다. 여기서 n값을 시간이라고 생각한다면, n이 크면 클수록 데이터가 더 최근의 것임을 의미한다. 그러므로 n에 따라서 대응하는 면적도 커져야 하는데, ID3 알고리즘은 모든 데이터의 가중치 값인 면적이 모두 같기 때문에 시간에 대한 영향을 표현할 수 없다.
이러한 문제를 일반적으로 정의하면, 최근 데이터의 영향이 더 커야 한다고 가정할 경우 n에 따라서 가중치 값도 커지고, 예전 데이터의 영향이 더 커야 한다고 가정할 경우 n에 따라서 가중치 값이 작아져야 한다. 이 일반화된 정의를 가지고 가중치 값을 결정할 수 있는 도면은 도 2b와 같다.
도 2b는 각 사례들에 대한 가중치를 나타내는 도면이다. 도 2b에서 Y축은 각 사례의 신뢰도로, 신뢰도가 높은 사례는 큰 가중치 값을 갖는다. 도 2b에 도시된 OABC 면적과 도 2a에 도시된 n개의 정사각형 면적의 합은 같다. 즉, 도 2b에서 n개 사례가 갖는 가중치의 합과 일반적으로 사용되는 엔트로피에서 n개의 사례가 갖는 가중치의 합이 같도록 정의하였다. 새로운 가중치인 직선AB는
Figure 112006018456015-pat00006
로 결정된다.
[수학식 3]에서는 i번째 사례의 가중치 값으로 사용하였다. i번째 데이터의 가중치 W(i)를 구하면 이래와 같다.
Figure 112006018456015-pat00007
[수학식 3]에 나타난 θ는 각 데이터에게 가중치 값을 주기 위해 정의하는 각도로, 도 2b에서 도시하는 바와 같이 n을 X축으로 하고 사례 데이터의 신뢰도를 Y축으로 하는 직선비례그래프에서 각 사례 데이터의 가중치를 나타낸다.
Figure 112006018456015-pat00008
범위는
Figure 112006018456015-pat00009
=2/n일 때 n번째 사례의 가중치 값은 가장 크며 최근 데이터 n의 영향이 최대가 되고,
Figure 112006018456015-pat00010
=0일 때 가중치 값이 1이 되면서 ID3 알고리즘이 되고,
Figure 112006018456015-pat00011
=-2/n일 때 n번째 사례의 가중치 값은 가장 작으며 최근 데이터 n의 영향이 최소가 된다.
이러한 새로운 가중치를 이용한 엔트로피를 산출하는 공식은 다음과 같다.
Figure 112006018456015-pat00012
[수학식 4]의 엔트로피는 시간 가중치 엔트로피(Time-weighted Entropy)라고 정의한다. 본 발명에서는 ID3 알고리즘과 시간 가중치 엔트로피를 사용하여 결정 트리를 구성한다.
다음에 본 발명의 실시예에 따른 시간 가중치 엔트로피를 이용한 결정 트리 생성 방법에 대해 도 3에 따라 설명한다.
도 3은 본 발명에 따른 시간 가중치 엔트로피를 이용한 결정 트리 생성 방법을 설명하는 흐름도이다.
결정 트리는 루트 노드부터 시작하여 하단으로 한 레벨씩 감소하면서 생성한다. 데이터 마이닝의 분류 기법은 통상적으로 컴퓨터를 이용하여 외부에서 입력된 다수의 사례 데이터들을 분류하므로 본 발명의 실시예에서도 컴퓨터를 이용한다고 가정하여 설명한다. 우선, 시간 가중치 엔트로피를 이용하여 다수의 사례 데이터가 갖는 속성들 중에서 현재 레벨의 노드가 될 속성을 선택하기 위한 테스트를 한다. 즉, 노드를 선택하기 위한 테스트를 시작한다(ST 2010). 시간 가중치 엔트로피를 이용하여 엔트로피의 초기값을 연산한다(ST 2020). 다음으로, 여러 속성들 중에서 하나의 속성을 정한 후, 선택할 노드로 가정한다(ST 2030). 다음으로, 시간 가중치 엔트로피를 이용하여 상기 가정하여 선택된 노드가 갖는 각각의 가지의 엔트로피를 연산한다(ST 2031). 연산된 각 가지의 엔트로피를 이용하여 시스템 엔트로피를 연산한다(ST 2032). 이제, 엔트로피의 초기값에서 시스템 엔트로피를 차감한 값인 정보 획득량을 연산한다(ST 2033). 이때, 시스템 엔트로피가 적을수록 정보 획득량은 많아지게 된다. 모든 속성에 대해서 단계 ST 2030 내지 단계 ST 2033을 반복한다(ST 2034). 노드로 가정될 수 있는 모든 속성에 대한 테스트가 완료되면, 각 속성의 정보 획득량을 비교하여 정보 획득량이 가장 큰 속성을 노드로 선택한다(ST 2035). 현재는 첫 번째 레벨이므로 단계 ST 2035에서 선택된 노드가 루트 노드가 된다.
루트 노드가 선택되면 레벨을 한 단계 감소하여 레벨-1의 노드들을 선택해야 한다(ST 2060). 한 단계 감소된 레벨의 각 노드들을 선택하는 과정은 루트 노드를 선택한 단계 ST 2010 내지 단계 ST 2035와 동일하므로 구체적 설시는 생략한다. 현 재 레벨의 모든 노드에 대한 선택이 완료되면(ST 2040) 다시 레벨을 한 단계 감소하여 레벨-2의 노드들을 선택해야 한다. 이 과정은 트리 생성이 완료될 때까지 반복된다(ST 2050). 즉, 모든 하위집단이 하나의 클래스로 통일되고, 시스템 엔트로피가 0이 될 때까지 반복된다.
그리고 트리의 생성 중 특정 노드의 엔트로피가 사전에 정한 기준값보다 작을 경우, 그 노드에 속하는 데이터가 가장 많이 속하는 클래스로 대치한다.
본 발명은 종래의 ID3 알고리즘보다 최근 데이터들의 경향을 잘 표현한다는 것을 도 4 내지 도 5에 따라 실험을 통해 설명한다.
도 4는 종래의 ID3 알고리즘과 본 발명에 따른 결정 트리 생성 방법의 비교 실험을 위한 데이터 테이블을 도시한 도면이고, 도 5는 도 4에 도시된 테이블에 따라 생성된 결정 트리의 예를 나타내는 도면이다.
도 4에 도시된 테니스 데이터 테이블은 'outlook', 'temperature', 'humidity', 'windy'에 따라 사용자가 테니스를 했는지 안 했는지를 알기 위한 자료이다. 이러한 사용자 관련 데이터는 시간에 따라 변화하기 때문에 기존의 데이터와는 다른 경향을 갖는 새로운 데이터를 추가하여 실험하였다. 도 4의 데이터 1~14는 기존의 데이터이며, 데이터 15~21은 새로 추가된 데이터이다. 그리고 사용자가 테니스를 치는 경향의 변화를 표현하기 위해서 데이터 15~21은 기존과는 다른 경향을 갖도록 추가하였다. 즉, 데이터 1~14는 도 5a와 같은 경향을 보이지만 데이터 8~21은 도 5b와 같이 되도록 하기 위해 데이터 15~21을 겹치도록 하였다. 이것은 사용자의 경향이 서서히 바뀔 것으로 예상되기 때문이다.
이렇게 변화하는 사용자 경향을 적절히 학습하기 위해서는 이미 다른 경향을 보이는 과거 데이터보다는 현재 데이터에 관심을 가져야 한다. 그러나 어려운 점은 과연 어느 데이터부터가 새로운 경향을 보이는지 어떻게 알아낼 수 있는가이다. 예를 들어, 데이터 8~21이 새로운 경향을 보인다고 생각하여 여기에 ID3 알고리즘을 적용하면 바뀐 경향을 잘 반영하는 결정 트리를 얼을 수 있다. 그러나 모든 데이터가 동일하게 중요하다는 판단에 데이터 1~21까지의 데이터에 ID3 알고리즘을 적용하여 결정 트리를 구하면 도 5d와 같이 복잡한 트리를 얻게 된다. 이렇게 복잡한 트리를 얻게 된 것은 이미 지나간 과거의 데이터와 새로운 경향의 데이터가 서로 섞여 있기 때문이다. 또한, 최신 데이터가 새로운 경향을 반영한다고 하여 지나치게 최신 데이터만을 고려해도 적절한 결절 트리를 얼을 수 없게 된다. 예를 들어, 데이터 15~21에 대한 결정 트리를 구하면 도 5c와 같이 지나치게 간단한 것은 얻게 된다. 이와 같이 변화하는 데이터에서 경향을 반영하는 결정 트리를 생성하기는 쉽지 않다.
이를 위해서 본 발명에서는 시간 가중치 엔트로피와 ID3 알고리즘을 이용하여 결정 트리를 생성하는 방법을 제안한다. 즉, ID3 알고리즘으로 결정 트리를 생성하는 과정에서 기존의 엔트로피 대신 새로 제안하는 엔트로피를 사용한다. 그리고 트리 생성 중 특정 노드의 엔트로피가 사전에 정한 기존 값보다 작으면 그 노드에 속하는 데이터가 가장 많이 속하는 클래스로 대치하는 방법을 적용하였다. 이러한 방법을 도 4에 도시된 데이터들에 적용해보면 도 5e와 같이 데이터 1~21까지의 데이터에 데이터 시간 가중치 엔트로피 알고리즘을 적용한 결정 트리가 나온다. 최근 데이터에 중점 둔 결과 루트 노드로 'windy'가 선택되었다. 그리고 'windy = weak'인 경우를 살펴보면, 과거의 두 경우인 데이터 1과 8에만 'no'이고 최신 데이터를 포함한 나머지는 'yes'인 것을 알 수 있다. 이 경우의 엔트로피를 구하면 과거 데이터의 가중치가 낮은 관계로 '0.095'가 나온다. 이는 미리 정한 기준 값 '0.1'에 미달하므로 가장 많이 나타나는 클래스인 'yes'로 치환하였다.
본 실험을 통해 알 수 있듯이, 본 발명에서 제안한 시간 가중치 엔트로피 공식을 사용하여 구성된 트리 구조가 종래의 ID3 알고리즘으로 구성된 트리보다 더 간단하고 유리하다. 그 이유는 ID3 알고리즘은 최근 경향을 찾기 어려운 것과 달리 본 발명에서 제안한 구조는 최근 데이터에 더 중점을 두고 있기 때문에 전체 데이터를 고려해도 최근 데이터의 영향을 볼 수 있다. 실험 결과를 비교해 보면, 기존의 알고리즘보다는 시간 가중치를 이용한 본 발명이 더 간단하고 효과적인 결정 트리를 생성하였으며, 테스트 데이터에 대해서 3~6% 높은 예측률을 보였다.
본 발명에 따른 시간 가중치 엔트로피를 이용한 결정 트리 생성 방법 및 이를 기록한 기록매체는 유비쿼터스와 같은 환경에서 사용자의 선호도 데이터를 가지고 사용자의 행동을 추론하고 학습을 시켜서 사용자의 행동을 예측도 할 수 있다.
이상, 본 발명자에 의해서 이루어진 발명은 상기 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 상기 실시 예에 한정되는 것은 아니고, 그 요지를 이탈하 지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.
상술한 바와 같이, 본 발명에 따른 시간 가중치 엔트로피를 이용한 결정 트리 생성 방법 및 이를 기록한 기록매체에 의하면, 최근 데이터에 더 중점을 두고 있기 때문에 전체 데이터를 고려해도 최근 데이터의 영향을 볼 수 있다는 효과가 얻어진다.
또, 본 발명에 따른 시간 가중치 엔트로피를 이용한 결정 트리 생성 방법 및 이를 기록한 기록매체에 의하면, 기존의 ID3 알고리즘으로 구성된 트리보다 더 간단하고 효과적인 결정 트리를 생성할 수 있다는 효과도 얻어진다.
또, 본 발명에 따른 시간 가중치 엔트로피를 이용한 결정 트리 생성 방법 및 이를 기록한 기록매체에 의하면, 유비쿼터스 환경에서 사용자의 선호도 데이터를 분석하여 사용자의 행동을 예측하거나 성향을 인지할 수 있다는 효과도 얻어진다.

Claims (5)

  1. 컴퓨터가 외부에서 입력된 다수의 사례 데이터의 패턴을 인식하고 새롭게 분류된 데이터를 창출하기 위한 데이터 마이닝의 분류 기법 중 결정 트리 생성 방법에 있어서,
    (a) 시간 가중치 엔트로피를 이용하여 엔트로피의 초기값을 연산하는 단계,
    (b) 다수의 사례 데이터가 갖는 속성 중에서 하나의 속성을 정한 후 선택할 노드로 가정하는 단계,
    (c) 시간 가중치 엔트로피를 이용하여 가정된 노드에 대한 시스템 엔트로피를 연산하는 단계,
    (d) 상기 엔트로피의 초기값과 상기 시스템 엔트로피를 이용하여 정보 획득량을 연산하는 단계,
    (e) 상기 속성 중에서 연산된 각각의 정보 획득량이 가장 큰 속성을 현재 레벨의 노드로 선택하는 단계,
    (f) 현재 레벨의 모든 노드가 선택될 때까지 상기 단계 (a) 내지 상기 단계 (e)를 반복하는 단계,
    (g) 현재 레벨의 모든 노드가 선택되면 한 단계 하위 레벨에 대해 상기 단계 (a) 내지 상기 단계 (f)를 반복하는 단계를 포함하고,
    상기 단계 (a) 내지 상기 단계 (e)에 의해 생성되는 결정 트리는 모든 하위사례 데이터 집단이 하나의 클래스로 통일되고 시스템 엔트로피가 0이 될 때까지 생성되며,
    상기 시간 가중치 엔트로피는 최근의 경향일수록 큰 가중치를 갖는 것을 특징으로 하는 시간 가중치 엔트로피를 이용한 결정 트리 생성 방법.
  2. 제 1항에 있어서,
    상기 시간 가중치 엔트로피는 식
    Figure 112006018456015-pat00013
    의 실행에 의해 연산되며,
    상기 S는 사례 데이터들의 집합, 상기 Tc는 사례 데이터들이 속하는 클래스의 총 개수, 상기 i는 사례 데이터의 순서를 나타내는 임의의 변수, 상기 W(i)는 i번째 사례 데이터의 최근 경향을 표시하는 가중치, 상기 c는 순서를 나타내는 임의의 변수인 것을 특징으로 하는 시간 가중치 엔트로피를 이용한 결정 트리 생성 방법.
  3. 제 2항에 있어서,
    상기 W(i)는 식
    Figure 112006018456015-pat00014
    의 실행에 의해 연산되며,
    상기 n은 사례 데이터들의 개수, 상기 i는 사례 데이터의 순서를 나타내는 임의의 변수, 상기 θ는 상기 n을 X축으로 하고 사례 데이터의 신뢰도를 Y축으로 하는 직선비례그래프에서 각 사례 데이터의 가중치를 나타내는 각도이고,
    상기
    Figure 112006018456015-pat00015
    의 범위는 -2/n보다 크거나 같고 2/n보다 작거나 같은 것을 특징 으로 하는 시간 가중치 엔트로피를 이용한 결정 트리 생성 방법.
  4. 제 1항에 있어서,
    트리의 생성 중 특정 노드의 엔트로피가 사전에 정한 기준값보다 작을 경우, 그 노드에 속하는 사례 데이터가 가장 많이 속하는 클래스로 대치하는 것을 특징으로 하는 시간 가중치 엔트로피를 이용한 결정 트리 생성 방법.
  5. 컴퓨터가 외부에서 입력된 다수의 사례 데이터의 패턴을 인식하고 새롭게 분류된 데이터를 창출하기 위한 데이터 마이닝의 분류 기법 중 결정 트리 생성 방법을 컴퓨터로 읽을 수 있는 기록매체에 있어서,
    (a) 시간 가중치 엔트로피를 이용하여 엔트로피의 초기값을 연산하는 단계,
    (b) 다수의 사례 데이터가 갖는 속성 중에서 하나의 속성을 정한 후 선택할 노드로 가정하는 단계,
    (c) 시간 가중치 엔트로피를 이용하여 가정된 노드에 대한 시스템 엔트로피를 연산하는 단계,
    (d) 상기 엔트로피의 초기값과 상기 시스템 엔트로피를 이용하여 정보 획득량을 연산하는 단계,
    (e) 상기 속성 중에서 연산된 각각의 정보 획득량이 가장 큰 속성을 현재 레벨의 노드로 선택하는 단계,
    (f) 현재 레벨의 모든 노드가 선택될 때까지 상기 단계 (a) 내지 상기 단계 (e)를 반복하는 단계,
    (g) 현재 레벨의 모든 노드가 선택되면 한 단계 하위 레벨에 대해 상기 단계 (a) 내지 상기 단계 (f)를 반복하는 단계를 실행시키기 위한 프로그램을 기록하고,
    상기 단계 (a) 내지 상기 단계 (e)에 의해 생성되는 결정 트리는 모든 하위사례 데이터 집단이 하나의 클래스로 통일되고 시스템 엔트로피가 0이 될 때까지 생성되며,
    상기 시간 가중치 엔트로피는 최근의 경향일수록 큰 가중치를 갖는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 기록매체.
KR1020060024327A 2005-12-05 2006-03-16 시간 가중치 엔트로피를 이용한 결정 트리 생성 방법 및이를 기록한 기록매체 KR100727555B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20050117654 2005-12-05
KR1020050117654 2005-12-05

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020070020537A Division KR20070059015A (ko) 2007-02-28 2007-02-28 시간 가중치 엔트로피를 이용한 결정 트리 생성 방법 및이를 기록한 기록매체

Publications (2)

Publication Number Publication Date
KR20070058936A KR20070058936A (ko) 2007-06-11
KR100727555B1 true KR100727555B1 (ko) 2007-06-14

Family

ID=38355500

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060024327A KR100727555B1 (ko) 2005-12-05 2006-03-16 시간 가중치 엔트로피를 이용한 결정 트리 생성 방법 및이를 기록한 기록매체

Country Status (1)

Country Link
KR (1) KR100727555B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102062531B1 (ko) * 2018-06-25 2020-01-06 주식회사 티맥스 소프트 결정 테이블을 결정 트리로 변환하는 데이터베이스 서버 및 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램
KR20220073138A (ko) * 2020-11-26 2022-06-03 한국수력원자력 주식회사 사업화 가능성 평가 시스템

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101256922B1 (ko) * 2011-05-27 2013-04-19 동서대학교산학협력단 예측 및 분석을 위한 분산 의사 결정 트리 생성방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09251467A (ja) * 1996-03-15 1997-09-22 Mitsubishi Electric Corp データマイニングシステムおよびデータマイニング方法
KR20030032096A (ko) * 2001-10-10 2003-04-26 이창환 데이터 마이닝 방법 및 컴퓨터로 판독가능한 기록 매체
KR20030053038A (ko) * 2001-12-21 2003-06-27 에이저 시스템즈 인크 트리-타입의 지식 베이스 검색들의 룩업 성능을 개선하는방법
KR20040026178A (ko) * 2002-09-23 2004-03-30 이원석 데이터 마이닝 시스템 및 그 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09251467A (ja) * 1996-03-15 1997-09-22 Mitsubishi Electric Corp データマイニングシステムおよびデータマイニング方法
KR20030032096A (ko) * 2001-10-10 2003-04-26 이창환 데이터 마이닝 방법 및 컴퓨터로 판독가능한 기록 매체
KR20030053038A (ko) * 2001-12-21 2003-06-27 에이저 시스템즈 인크 트리-타입의 지식 베이스 검색들의 룩업 성능을 개선하는방법
KR20040026178A (ko) * 2002-09-23 2004-03-30 이원석 데이터 마이닝 시스템 및 그 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102062531B1 (ko) * 2018-06-25 2020-01-06 주식회사 티맥스 소프트 결정 테이블을 결정 트리로 변환하는 데이터베이스 서버 및 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램
KR20220073138A (ko) * 2020-11-26 2022-06-03 한국수력원자력 주식회사 사업화 가능성 평가 시스템
KR102545952B1 (ko) * 2020-11-26 2023-06-20 한국수력원자력 주식회사 사업화 가능성 평가 시스템

Also Published As

Publication number Publication date
KR20070058936A (ko) 2007-06-11

Similar Documents

Publication Publication Date Title
Brusco et al. A comparison of latent class, K-means, and K-median methods for clustering dichotomous data.
Quinlan Induction of decision trees
KR20050007306A (ko) 혼합형 수치 및/또는 비수치 데이터의 처리
Salunkhe et al. A hybrid approach for class imbalance problem in customer churn prediction: A novel extension to under-sampling
Bentley " Evolutionary, my dear Watson" investigating committee-based evolution of fuzzy rules for the detection of suspicious insurance claims
Alghobiri A comparative analysis of classification algorithms on diverse datasets
KhakAbi et al. Data mining applications in customer churn management
Behnke et al. Competitive neural trees for pattern classification
Orriols et al. The class imbalance problem in learning classifier systems: a preliminary study
CN111641608A (zh) 异常用户识别方法、装置、电子设备及存储介质
CN114782761A (zh) 基于深度学习的智能仓储物料识别方法和系统
KR100727555B1 (ko) 시간 가중치 엔트로피를 이용한 결정 트리 생성 방법 및이를 기록한 기록매체
CN112598405B (zh) 一种基于大数据的商业项目数据管理方法及系统
Lim et al. A scene image is nonmutually exclusive—a fuzzy qualitative scene understanding
Farooq Genetic algorithm technique in hybrid intelligent systems for pattern recognition
CN110471854B (zh) 一种基于高维数据混合约简的缺陷报告指派方法
Bibi et al. Selecting the appropriate machine learning techniques for the prediction of software development costs
Fu et al. Genetically engineered decision trees: population diversity produces smarter trees
KR20070059015A (ko) 시간 가중치 엔트로피를 이용한 결정 트리 생성 방법 및이를 기록한 기록매체
Shahri et al. Eliminating duplicates in information integration: An adaptive, extensible framework
Almantara et al. Spatial Data Analysis using DBSCAN Method and KNN classification
Win et al. Churn Prediction Models Using Gradient Boosted Tree and Random Forest Classifiers
Sam et al. Customer Churn Prediction using Machine Learning Models
Patil et al. Efficient processing of decision tree using ID3 & improved C4. 5 algorithm
Vangumalli et al. Clustering, Forecasting and Cluster Forecasting: using k-medoids, k-NNs and random forests for cluster selection

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120718

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee