Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
저 시-비 리- 경 지 2.0 한민
는 아래 조건 르는 경 에 한하여 게
l 저 물 복제, 포, 전송, 전시, 공연 송할 수 습니다.
다 과 같 조건 라야 합니다:
l 하는, 저 물 나 포 경 , 저 물에 적 된 허락조건 명확하게 나타내어야 합니다.
l 저 터 허가를 면 러한 조건들 적 되지 않습니다.
저 에 른 리는 내 에 하여 향 지 않습니다.
것 허락규약(Legal Code) 해하 쉽게 약한 것 니다.
Disclaimer
저 시. 하는 원저 를 시하여야 합니다.
비 리. 하는 저 물 리 목적 할 수 없습니다.
경 지. 하는 저 물 개 , 형 또는 가공할 수 없습니다.
사 논
장 연 규 추출 법 과 생명
분야에 용
A Method for Mining Extended Association
Rules and its Application to Biomedical Data
2016 1 월
울 원
과 료 보 공
희
i
국
: 데이 마이닝 법들 가운데 히 연구 고 있는 분야 나인
연 규 추출 법 , 주어진 transaction 집합 내에 존재 는 아이
간 규 추출 는 법이다. Transaction 집합 부 추출 연
규 아이 집합 이루어진 결 구 며, 규
요도를 나타내는 개 지 인 지지도 신도를 갖는다. 라인
쇼 몰 스들이 지원 는 상품 추천 능 연 규 인
용 실 들 나 써, 고객이 검색 구입 목 리스트 특
연 규 가 부합 경우, 해당 연 규 결 고객에게
추천 는 식 본 차용 다. 고 연 규 는 ‘고객
모델링’ ‘추천 리스트 결 ’과 같 차에 핵심 인 역 다
있다. 그러나 존 연구들 , 용량 데이 부 연 규 추출에
소요 는 시간 단축, 보 손실 지 동시에 추출 는 연 규
소 등과 같 능 심 주 들에 주 연구 맞추고 있어,
연 규 연구는 상 미 다. 연
규 이 추출 는 transaction 집합 특 에 분 과 이에 른 구분
없이 단 용량 데이 집합 규 고 있 며, 이는 transaction
집합이 생 용 는 분야에 맞춤 연 규 추출 법
부재를 야 다 있다. 이에 본 연구에 는, 연 규
증가를 모델 시 고, transaction 집합
데이 (Static data) 그리고 동 데이 (Dynamic data)
분 고자 했다. , 새롭게 시 연 규 모델과 데이 에
들 다양 알고리즘들 소개 며, 이를 지원 는
시스 들 구 다. 나아가, 본 연구 산출 생명 분야에
용함 써, 그 효용 평가 다.
법: 통 인 연 규 는, 체 아이 집합 부분 집합
어, 를 통해 사용자 특 도를 함 있어
ii
계가 있 므 , 집합에 해 높 지닌 이진 논리식
식 장 재 다. 논리 연산자 AND OR 그리고 NOT
우 를 명시 있는 사용 허용 는 이진 논리식
연 규 태 지 여, 보다 명 고 상 히 사용자
특 도를 있도 다. transaction 집합
업데이트 향에 맞추어, 상 업데이트 도
업데이트 간격 갖는 데이 를 데이 집합 고, 이 는
상 인 개 써, 잦 업데이트 도 짧 업데이트 간격
갖는 데이 를 동 데이 집합 다. 분 데이
집합들 부 , 이진 논리식 태 에 부합 는 결 들 추출 는
알고리즘 시스 집합 개 고, 개 알고리즘들과 능
를 통해 그 우월 검증 다. 본 연구에 구 모든 시스
Java JavaCC (Java Compiler Compiler)를 사용 여 구 며, 다양
실험 데이 집합과 생명 분야 데이 를 시스 에 용함 써, 그
실효 잠재 검증 다.
결과: 라인 상에 획득 가능 며 다양 연구에 용 sushi, chess,
nursery, mushroom 그리고 soybean 데이 집합 실험 데이 , 연
규 추출 분야 인 알고리즘인 charm, direct, titanic, qtr-sub를
알고리즘 군 , 본 연구에 안 알고리즘들과 능
를 행 다. 상 복잡도가 낮 sushi를 상
실험에 는, 본 연구에 안 알고리즘들과 charm 그리고 qtr-sub
알고리즘이 동 소이 능 보 다. 면 direct 그리고 titanic
알고리즘 히 낮 능 보여 추가 실험에 다. 실험에
용 데이 간 복잡도를 지닌 chess nursery
데이 에 실험에 는, charm 알고리즘에 해 본 연구에 안
알고리즘들 능이 미 게 우 것 인 었 며, qtr-sub
알고리즘 능 히 낮게 어 이후 실험에 다.
가장 높 복잡도를 지닌 데이 집합인 mushroom과 soybean 데이
iii
집합에 실험에 는, 본 연구에 안 알고리즘들 능이
charm에 해 월등 다는 인 있었다. 동 데이 를
상 , 태가 이진 논리식인 장 연 규 집합 추출
경우, 데이 상 알고리즘들에 해, 동 데이 상
알고리즘 능이 월등히 높 인 있었다. 마지막
pubmed 부 집 가능 생명 데이 인, BMC bioinformatics
그리고 International journal of medical informatics를 통해 출
논 들 타 데이 를 본 연구 종 산출 인 연 규 추출
시스 에 용 여, IT 공자에게 생명 연구 분야를 공 추천
있 인 있었다.
주요어: 연 규 , 이진 논리식, 데이 , 동 데이 , 모델, 알고리즘,
시스
번: 2011 - 30637
iv
목 차
(국 ) .................................................................. i
목차............................................................................. v
그림 목 ........................................................ viii
I. ....................................................................1
1. 연구 경과 .............................................1
가. 연 규 .......................................................1
나. 식 개 분 ...............................................6
다. 연 규 추출 법 ..................................10
2. 연구 목 .......................................................14
II. 연구 법 ............................................................16
1. 데이 상 장 연 규 추출 법 .16
가. Plant 모델 ....................................................16
나. Cultivation 알고리즘 family .........................35
2. 동 데이 상 장 연 규 추출 법 .50
가. 일 추출 법 ..........................................51
나. 단계 추출 법 .......................................57
v
III. 결과 ..................................................................65
1. 시스 계 구 ..........................................66
2. 능 평가 ..................................................71
가. 데이 집합 ..................................................71
나. 상 알고리즘 .......................................73
다. 실험 결과 .....................................................75
라. 동 데이 상 능 평가 ..................82
3. 생명 분야에 용 .....................................85
IV. 고찰 ..................................................................91
1. 실험 결과에 고찰 .......................................91
2. 연구 ...................................................95
3. 결 ..................................................................96
V. 참고 헌 ............................................................98
VI. ( ) ..................................................... 105
vi
목
Table 1. 매매 데이 베이스 .................................2
Table 2. 연 규 집합 ......................................3
Table 3. 복 연 규 .................................10
Table 4. ui= A∧¬B에 upper-lower neighbor within ui
리스트.........................................................26
Table 5. ui= A∧¬B, minsup=0.1 그리고 minconf=0.2에
Cui 구 요소들 ........................................31
Table 6. ui= A∧¬B, minsup=0.1 그리고 minconf=0.2에
stem-leaf 집합 ..........................................32
Table 7. Figure 5에 도식 plant 부 추출 가능 모든
bonsai 리스트 .............................................34
Table 8. Cultivation 알고리즘 worst-case time complex
도출에 용 리스트 ..........................43
Table 9. 별 집 타 데이 보..........86
Table 10. 실험자 보 실험자 별 이진 논리식 88
Table 11. 실험자 별 추천 리스트 심 리스트 ....89
vii
그림 목
Figure 1. 연 규 일 용 차 도식 ............5
Figure 2. Table 1 데이 베이스 는 concept lattice
..................................................................9
Figure 3. Plant 모델 구조 요소 개 ...............18
Figure 4. 데이 상 장 연 규 추출 법 도식
................................................................21
Figure 5. Phenotype P(D, A∧¬B, 0.1, 0.2) 도식 33
Figure 6. Upper-lower neighbor 계 인 lattice 41
Figure 7. Batch-D 알고리즘 동작 ......................56
Figure 8. GenFirstGen 알고리즘 동작 ................63
Figure 9. 함 genNextGen 동작 ......................64
Figure 10. FARM과 GARM 시스 구 도 름도67
Figure 11. FARM 구동 모습 ...................................68
Figure 12. GARM 구동 모습 ...................................69
Figure 13. 데이 상 장 연 규 추출 알고리즘
능 실험 구조 ..................................74
Figure 14. Sushi 데이 에 알고리즘 별 소요 시간 76
Figure 15. Sushi 데이 에 알고리즘 별 추출 연 규
.............................................................77
viii
Figure 16. Chess 데이 에 알고리즘 별 소요 시간 77
Figure 17. Chess 데이 에 알고리즘 별 추출 연 규
.............................................................78
Figure 18. Nursery 데이 에 알고리즘 별 소요 시간 79
Figure 19. Nursery 데이 에 알고리즘 별 추출 연 규
.............................................................79
Figure 20. Mushroom 데이 에 알고리즘 별 소요 시간
................................................................80
Figure 21. Mushroom 데이 에 알고리즘 별 추출 연
규 .....................................................80
Figure 22. Soybean 데이 에 알고리즘 별 소요 시간 81
Figure 23. Soybean 데이 에 알고리즘 별 추출 연
규 .....................................................81
Figure 24. 동 데이 상 ibo-cultivation과 batch-D
알고리즘 능 .................................83
Figure 25. 동 데이 상 batch-D genFirstGen
알고리즘 능 .................................83
1
1. 연구 경과
가. 연 규
매시 보 리시스 (Point-of-sale system)에 해
집 용량 매매 (Transaction) 데이 부 , 아이 간에
존재 는 견 연 규 추출 법 (Association
rule mining) 이 들 [1]에 해 안 었다. D=(T, I,
R) 있는 매매 데이 는, transaction 집합 T, 아이
집합 I, 그리고 transaction과 아이 간 계 R 구
데이 베이스라 있 며, 본 논 에 지속 인 사용
매매 데이 (즉 데이 베이스)는 Table 1에 어 있다. Table
1에 데이 베이스는, 10개(1-10) transaction들과,
10개 아이 집합(A-J) 그리고 이들 간 계 이루어
있다. 를 들어, transaction 1 아이 A, C, D 그리고 H를
가짐 Table 1 통해 인 있다.
데이 베이스 내에 번히 동시에 는 아이 간
연 규 (Association rule)이라 고, 이는
일 I1→I2 태 며, ‘I1라는 아이 집합
구매 소 자는, I2라는 아이 집합 역시 구매 는 경향이
있다’ 해 다. 이 , I1 I2는 연 규 I1→I2
(Antecedent) 결 (Consequent)이라 다. 규
요도를 나타내는 개 지 지지도 (Support: 상 도)
2
신도 (Confidence: 조건부 )는, 해당 규 만족 는
transaction 그리고 해당 규 를 만족 는
transaction 결 만족 는 transaction 각각
나타내며, sup( → ) = | ( ) ∩ ( )|/| | 그리고 conf( → ) =
| ( ) ∩ ( )|/| ( )| 각각 식 있다 (단, ( ⊆ ) 는
아이 집합 Ii를 만족 는 transaction 집합 지칭). Table 1에
데이 베이스 부 추출 있는 연 규 집합 는
Table 2를 통해 인 있다.
Table 1. 매매 데이 베이스
데이 베이스
Transaction 아이 집합
1 A C D H
2 B
3 B J
4 A C E F
5 A C E F G
6 B J
7 A C E F G
8 A B C D I
9 D
10 E
3
Table 2. 연 규 집합
연 규
결 지지도 신도
{A, C} {E, F} 0.3 0.6
{A, B, C} {D, I} 0,1 1.0
{A, C} {D, H} 0.1 0.2
… … … …
{I} {A, C, D, B} 0.1 1.0
시장 분 분야에 시작 연 규 용 근, 마 ,
매 략 립과 같 통 인 용 분야를 포함 , 웹 마이닝
(Web mining), 이미지 리, 계 데이 분 (Relational
database analysis) 그리고 생명과 (Biomedical science) 분야
등 다양 역들 그 범 를 히고 있 며 [2-6], 연 규
일 인 용 차는 Figure 1에 같이 크게, 규
생 부 그리고 규 용부 나 어 명 있다. 규
생 부에 는 가장 transaction 집합 집 다. 다 ,
집 transaction 내에 존재 는 모든 연 규 , 지지도
신도가 도 인 가에 해 소 지지도 (Minimum
support) 소 신도 (Minimum confidence) 같거나 큰
규 집합 추출 여 연 규 장소에 장 다. 이 , 규
장소에는 연 규 , 결 그리고 규 지지도
신도 보가 다. 규 장소 구축 료 후, 실 연
규 용이 이루어지며, 이는 Figure 1 규 용부에
것과 같이, 사용자 상태 도를 집합 태
4
모델링 며, 연 규 장소 부분 탐색, 모델링
부합 는 결 지지도 신도를 내림차
여 사용자에게 달 게 다.
5
Figure 1. 연 규 일 인 용 차 도식
6
연 규 연구 분야 인 도 과 는 크게 (1) 연
규 추출 속도 용 자원 단축, (2) 보 손실 지 며
추출 는 연 규 축소를 복 연 규 추출 지,
(3) 보다 아이 집합 추천 그리고 (4) 추출 시 맥 보
크게 4가지 태 구분 지 있다. 연 규 추출
속도 향상 해, Apriori, FP-growth Charm 시
다양 알고리즘들이 고안 었 며, 보 손실 지 규
축소를 해, 번 닫힌 아이 집합 (Frequent closed itemset)
번 소 생 자 (Frequent minimal generator) 등
개 이 시 었다. , 보다 고 아이 집합
추천 해, 논리 (Description logic) 퍼지 논리 (Fuzzy
logic) 등과 같 논리 분야 연 규 추출 분야 목이
시도 었 며, 맥 보를 여 보다 풍부 보를 포함 는
연 규 추출 고자, 계 연 규 추출 법
다차원 연 규 추출 법 등이 소개 었다. 특히, 식 개
분 [16]이라는 모델 다 연구 그룹들에 해,
에 언 4 도 과 , 번째 도 과 해결
리 용 고 있다 [7-15].
나. 식 개 분
식 개 분 (이 FCA: formal concept analysis)
주어진 데이 부 개 (Concept) 집합과 개 간 상-
계 (Super-subconcept relation) 집합 구 개 격자
(Concept lattice)를 구축함 써, 데이 내에 내 보를
추출 는 모델이다. FCA 이 요소들 , 본 논
7
논 를 진행함에 있어 인 요소들만 별 채택 여
다. FCA 연 규 추출 법 데이 베이스 D=(T, I,
R)를 입 데이 써 공 며, 각 구 요소를 지칭 는
용어만 달리 다. FCA 경우 데이 베이스 D를 식 맥
(이 formal context) 그리고 transaction 집합 T를 개체
(Object) 집합, 아이 집합 I를 속 (Attribute) 집합이라는
용어를 사용 여 지칭 고, ‘특 개체 g∈T가 특 속 m∈I
갖는다’를 해 (g, m)∈R이라는 법 사용 다.
, 개체 부분 집합 X⊆T 그리고 속 부분 집합 Y⊆I에 여,
XR={m∈I | ∀g∈X: (g, m)∈R} 그리고 YR={g∈T | ∀m∈Y:
(g, m)∈R}이라는 가지 연산자를 용 다. 즉, XR 개체 부분
집합 X 모든 원소들이 공 는 속 집합 , 그리고 YR 속
부분 집합 Y 모든 원소들 소 는 개체 집합 지칭 다
있다. 앞 (가. 연 규 )에 소개 ( ⊆ )는 YR
있 며, 이 YR 통일 여 다.
주어진 formal context (T, I, R)에 식 개 (이
formal concept) 개체 부분 집합 X⊆T 속 부분 집합 Y⊆I
인 (X, Y) 며, 이 XR=Y 그리고 YR=X를
요충분조건이라 며, X를 formal concept 외향(이 extent)
그리고 Y를 내향(이 intent)라 각각 지칭 다. formal
context D 내에 존재 는 모든 formal concept들 집합
B(D) 다. 나아가, 임 formal concept (Xi, Yi), (Xj,
Yj)∈B(D)에 여, 만약 Xi⊆Xj(⇔Yj⊆Yi)라면, (Xi, Yi)는 (Xj,
Yj) 개 (이 supconcept)이라 며, 이 (Xj, Yj)는
(Xi, Yi) 상 개 (이 superconcept)이라 며 이를 (Xi,
8
Yi)≤(Xj, Yj) 나타낸다. Super-supconcept 계 특
경우 써, 만약 (Xi, Yi)<(Xj, Yj)이며 {(Xk, Yk)∈B(D) | (Xi,
Yi)<(Xk, Yk)<(Xj, Yj)}=∅라면, (Xi, Yi)는 (Xj, Yj) 이웃(이
lower neighbor)이라 며 이를 (Xi, Yi)≺(Xj, Yj) 나타낸다.
이 (Xj, Yj)는 (Xi, Yi) 상 이웃(이 upper neighbor)이라
다. 마지막 , 주어진 formal context D 모든 formal
concept들 집합 B(D) concept 간 상- 계 ≤를 개
격자(이 concept lattice)라 며, 이를 B(D)=(B(D), ≤)
나타낸다. Concept lattice는 일 formal concept들에
는 노드(Node) 집합과 formal concept 간 upper-lower
neighbor 계를 는 아크(Arc) 집합 가시 다. Table
1 formal context (즉 데이 베이스) 부 추출 는 concept
lattice를 Figure 2를 통해 인 있다.
연 규 추출 분야에 4 도 과 번째 도
과 인 복 연 규 (Redundant association rule) 추출
지에 해 보다 구체 함 써, 연 규 추출에 있어
FCA를 통해 얻 있는 장 보다 명 히 논 고자 다.
논 [15]에 르면, 만약 ⊆ , ⊆ 그리고 ( ∪ ) =
( ∪ ) 라면, 연 규 → 는 연 규 → 존재
인해, 복 연 규 분 다. Table 3 Table 1
데이 베이스 부 추출 개 연 규 나타내고 있다.
논 [15] 에 르면, 규 r1 , 규 r2 인해 복 연
규 분 다. 규 r1과 r2 모 , transaction 1과 8 부
도출 는 규 이며, 규 r1 규 r2가 달 는 보
일부분만 달함에 인 다 있다. 이 , Figure 2에
9
주어진 concept lattice concept들 살펴보면, 규 r2
결 합집합 intent 갖는 concept concept lattice
내에 존재 지만, 복 규 r1 결 합집합
intent 갖는 concept 존재 지 않 인 있다. 다
연구자들이 이에 착안 여, 연 규 추출 분야 4 도 과
번째 과 를 FCA를 통해 해결 고자 며, 본 논 에
안 는 5개 알고리즘 , 3개 알고리즘에 역시 이를
용 고자 다.
Figure 2. Table 1 데이 베이스 는 concept lattice
10
Table 3. 복 연 규
연 규 결 지지도 신도 분
r1 {A} {D} 0.2 0.4 복
r2 {A} {C, D} 0.2 0.4
다. 연 규 추출 법
Apriori 알고리즘[1] 이진 연 규 추출 는 법
가장 리 용 장 고 인 알고리즘 나이다.
Apriori 알고리즘 인 특징 이 단계에 추출 아이
집합들 조인(Join) 연산 통해 후보 아이 집합 생 는
식이라 있다. 즉, 나 아이 원소 갖는 집합(고
1-다 도 아이 집합: 1-frequent itemset) 주어진
minsup 만족 는 아이 집합들 생 다. 이를 일 면,
k-다 도 아이 집합 (k-1)-다 도 아이 집합들 부
생 다 있다. Apriori 알고리즘 장 통해 개
알고리즘인 MulipleJoins, Reorder 그리고 Direct 알고리즘 ,
DNF (Disjunctive normal form) 식 이진 논리식
(Boolean expression) 통해 사용자 심사가, 연
규 그리고/ 결 에 포함 연 규 만 추출 다.
보다 명 히 면, Di가 a1∧a2…∧ak 식 취 며 각 aj는 i
¬i (단 i∈I)일 , formal context (T, I, R)에 사용자
심사는 D1∨D2∨…∨Dn 식 있 며, 3가지
알고리즘 통해 추출 다 도 집합 연 규 들 ,
규 그리고/ 결 에 사용자 심사를 만족 는
아이 포함 다.
11
근, FCA를 이진 연 규 추출 법 에
다 연구가 보고 고 있 며, 이들 공통 formal
concept 집합과 concept lattice 특 에 맞추고 있다[7-
15, 18]. 번 닫힌 아이 집합(Frequent closed
itemset)이라는 개 , 용량 데이 부 추출 는 연
규 를 보 손실 없이 이 해 안 었다. 주어진
formal context (T, I, R) 소 지지도 (minsup: Minimum
support)에 여, 속 집합 A⊆I가 A=(AR)R이고
|AR|/|T|≥minsup 만족 경우, A는 번 닫힌 아이
집합이라 다. 다시 말해, 속 집합 A가 번 닫힌 아이
집합이 여는, AR=BR이며 A를 진 부분 집합 는
속 집합 B(즉, A⊂B)가 존재 지 않는다는 조건 만족시 야
다. 이 , 번 닫힌 아이 집합 충분히 많 개체
구 extent를 갖는 formal concept intent 벽히
며, 이 같 formal concept 번 formal
concept(frequent formal concept)이라 칭 도 다 [8].
FCA 닫힘 (Closure) 속 연 규 추출 분야에 용
다양 알고리즘들이 보고 고 있다. Charm 알고리즘 번
닫힌 아이 집합 추출 지원 는 인 알고리즘 나 ,
많 인용 지 를 고 있 며 다양 면에 공
용 고 있다[19]. Charm 알고리즘 핵심 , 조인 연산 행
상인 개 속 집합 A B간 계를 4가지 태
여, 해당 는 계에 라 차별 인 연산 통해 번 닫힌
아이 집합 추출 이 우 탐색 식 생 해 나가는
것이라 있다. Iceberg concept lattice는 연 규 추출과
12
가시 에 특 데이 구조라 있다[8]. 데이 구조
이름에 추 있는 같이, iceberg concept lattice는
체 concept lattice 일부분 써, 주어진 minsup
충분이 많 개체들 extent 는 formal concept들과
그들 간 상- 계만 이루어진 구조를 말 다. 그러므 ,
iceberg lattice를 통해 연 규 들 역시, 번 닫힌
아이 집합 개 다 있다. 근 들어, 소
생 (이 minimal generator)라는 보다 진보 개 이 연
규 추출 분야에 리 용 고 있다[9, 10, 20, 21]. Formal
context (T, I, R) 아이 집합 A B에 여, 만약
(AR)R=B이고 {C⊆I | C⊂A ∧ (CR)R=B}=∅이라면, 아이 집합
A는 B minimal generator 다. 알고리즘 GenAll[9]과
Prince[10]는 복 이 없는 연 규 추출 해 minimal
generator 개 용 사 라 있다. GenAll
알고리즘 concept lattice를 구축 시, 각 concept에
extent intent 보뿐만 아니라, minimal generator 보를
해 어, 차후 연 규 추출에 용 다. Prince 알고리즘
경우, minimal generator lattice를 구축, 이를 통해 직 인
식 통 연 규 추출 지원 다.
Concept lattice 특장 계승 FCA 연 규
추출 법 , 질 장 (Query expansion) 역에 역시
히 연구 고 있다[12, 13]. 질 장에 연 규 이 용 는
가장 일 인 태는, 사용자가 입 키워드 (Key word)
집합 갖는 연 규 결 사용자에게 추천 는
식이라 있다. 연구 논 [12,13]에 는 FCA를 여
13
집합 태 주어진 사용자 키워드에 부합 는 연 규
결 공 고자, concept lattice를 이 우 탐색 (Breadth-
first search) 식 탐색 는 법 안 다. 연구 논
모 concept lattice 탐색 식 동일 지만, 시간 복잡도
(Time complexity) 에 는 연구 논 [13] 통해 안
법 이 [12]에 안 법 에 해 우 다. 이는 연구
논 [12] 법 사용자 키워드 집합이 주어질 마다 높
시간 복잡도를 요구 는 부분 concept lattice 구축
이다. 면 연구 논 [13] 통해 안 법 경우
concept lattice 재구축과 같 높 복잡도를 요구 는 연산 없이,
탐색만 키워드에 합 추천 리스트를 공 다.
FCA 논리 (Logic) 목 시도 인 연구
사 는 LCA (Logical Concept Analysis)를 꼽 있다[22].
논리 도입 LCA 경우, 개체집합에 논리 이
갖는 높 보다 상 히 있 며,
logical lattice에 질 동 인 탐색 지원 다. LCA를
보 시스 인 LIS (Logical information system)
실체 시스 인 Camelis[23]는, 논리 높
지닌 언어를 통해 질 를 구 고, 구 질 를 장 는 능
지원 다. , 향, 상향 그리고 회 식 등 다양 탐색
능 용 있다. Submergence 알고리즘[15] fuzzy
논리 시 논리 FCA에 목 여 연 규 추출
연구 산출 써, 각 개체 여도 (Contribution) 차별 여
연 규 지지도 신도 계산에 다. Submergence
알고리즘 차별 여도를 concept lattice 이
14
우 탐색 통해, 집합 태 사용자 질 에 부합 는
결 공 다.
2. 연구 목
지 지 논 내용 탕 , 다양 아이 어를
다 연 규 추출에 연구들이 행 어 인
있다. 질 장 상품 추천과 같 연 규
인 용 사 들에 , 사용자가 처 특 상황 요구를
갖는 연 규 결 이 특히 히 용 인
있다. 이는 연 규 가 사용자 요구를 는
단 써, 그리고 그에 부합 는 결 사용자에게 주어지는
해결책 (Solution) 역 행함 미 다. 그러나, 다
연 규 추출 법 들 주어진 데이 내에 존재 는 모든
연 규 들 보다 자원 용 고, 보다 른 시간 내에
도출 있는 연구에 맞추었다. 다시 말해, 사용자
요구를 는 요 단인 태가 집합 어,
보다 명 사용자 요구를 함에 있어 그 계가 명 함에도
불구 고, 연 규 태 에 연구는 등 시
어 다. 논리 여 보다 복잡 태 질
작 작 질 에 추천 지원 는 Camelis[23] 같
시스 들이 개 었지만, 이는 모든 개체들에 속 시,
일 많 시간과 용이 소모 는 논리 이
요구 다. 나아가, 연 규 이 추출 는 transaction
15
집합 특 에 분 과 이에 른 구분 없이 단 용량
데이 집합 규 고 있 며, 이는 transaction 집합이 생
용 는 분야에 맞춤 연 규 추출 법 부재를
야 다 있다. 이 같 를 해결 고자 는 본 연구
구체 인 목 다 과 같다.
가. ‘집합→집합’ 태 었 존 연 규
모델 ‘이진 논리식→집합’ 태 장함 써,
연 규 를 통해 보다 상 사용자 상황
도를 있도 다.
나. 연 규 추출 상인 transaction 집합 업데이트
도 간격에 맞추어, 업데이트 도가 낮거나
그 간격이 상 데이 를 데이 ,
업데이트 도가 높거나 그 간격이 상 짧
데이 를 동 데이 분 다.
다. 장 연 규 모델과 분 transaction 집합
, 효 인 연 규 추출 법 들
시 다.
라. 본 논 통해 시 연 규 모델, transaction 모델
(데이 모델) 그리고 알고리즘 지원 는 시스
계 개 고, 생명 데이 를 용 여 그 능
효용 검증 다.
16
연 구 법
본 연구는 연구 법 (1) 데이 상 장 연
규 추출 법 그리고 (2) 동 데이 상 장 연 규
추출 법 크게 양분 어 다. 첫 번째 연구 주 인
‘ 데이 상 장 연 규 추출 법 ’ 경우,
자 사 논 [32]에 본 아이 어를 차용
히고, 모델 엄 , 존 알고리즘 2개
추가 인 알고리즘 그리고 알고리즘에
(Completeness) 당 (Soundness)를
증명 내용, 다양 실험 결과가 추가 었 명시 다.
1. 데이 상 장 연 규 추출 법
가. Plant 모델
본 에 는, 사용자 요구 미 (이 ui: user’s
interest)과 게 있는 연 규 들 도출
모델인 랜트 (이 plant)를 소개 다. Plant 모델에
연 규 태를, 보다 높
지원 는 이진 논리식 장 는 것 시작 며, 이진 논리식
식 ui는 상 가능 동일 용어 사용 다.
주어진 ui는 plant 씨앗(이 seed) 역 행 며, concept
lattice를 태양 분과 같 양분 용 여 plant를
17
장시킨다. 자연 생태계에 는 꽃 침(이 sepal) 여부를
, 장미 지 같 꽃 침 식 (이 sepalous plant),
그리고 튤립과 합 같 꽃 침 식 (이 asepalous plant)
plant를 구분 지 있다. 본 연구에 안 는 plant 모델 역시,
sepal 존재 여부에 라 sepalous 그리고 asepalous plant
구분 지 며, 이 sepal ui를 갖는 신도가 1인
연 규 (Exact association rule)에 다. Plant 모델
번째 요소인 꽃 (이 flower) 집합이며, 각 flower들 근사 연
규 (Approximate association rule) 는데 용 다.
지 지 소개 seed, sepal 그리고 flower 집합
잎(이 stem and leaf)에 상 연결 통해 plant
장 고, 체 plant는 주어진 ui를 는 연 규
결 들 종 사용자에게 달 다. Figure 3 plant
구조 구 요소들에 개 도식 것이며 Figure
4는 plant 모델 주어진 이진 논리식 태 에
연 규 집합 concept lattice 부 추출 용 는
과 도식 것이다. 본 에 소개 는 알고리즘 집합 ,
상 데이 업데이트 도가 상 거나 업데이트
주 가 상 데이 를 상 다. 데이
상 는 데이 집합인 동 데이 를 상 는 장 연
규 추출 법 소개는 이어지는 2 에 소개 다.
주어진 transaction 집합, 즉 formal context D=(T, I, R)에
ui는 속 들 이진 조합 (Boolean combination) 통해
구 며, 아래 같 생 규 (Production rule) 여
생 다(단, i∈I):
18
ui := i | ¬i | ¬(ui) | uin∧uim | uin∨uim | (ui)
, 생 규 통해 ui에 uiR , ui를
만족 는 모든 개체 집합 지칭 다 (즉, uiR⊆T). Table 1에
formal context를 ui uiR 를 들면 다
같다. A∧¬B는 생 규 통해 가능함 , Figure 1
context에 효 ui라 있다. 요 ui, A∧¬B를
만족 는 개체 집합 {1, 4, 5, 7}이므 . uiR={1, 4, 5, 7}라
있다.
Figure 3. Plant 모델 구조 요소 개
실 계에 특 개체들 부 특이 상 사건이
생 경우, 도 인 가들 개체들이 공 는 속 들 통해
해당 상 사건 분 다. 를 들어, 신 조 독감
H1N1이 자들 부 다면, 료진들 고열과 침 같
19
해당 자들이 공 는 증상 부 H1N1 이 특
히 해 노 것이다. 사용자 부 주어진 ui는, formal
context (T, I, R) 에 속 집합 I에 속 지 않 특이
새 운 속 여겨질 있다. , 새 운 속 ui를
만족 는 개체들이 공 는 속 집합 (uiI)R
있 며, plant 첫 번째 구 요소인 seed는 ui (uiR)R
도입 여 다.
1. 주어진 formal context D=(T, I, R) ui에 seed는
사용자 미 ui (uiR)R=Y를 intent 는 formal concept (X,
Y)∈B(D) 구 며 (ui, (X, Y)) 다. 이 ,
seed 구 요소 ui를 (이 phenotype) 그리고 (X, Y)를
(이 genotype)이라 다. □
Seed는 주어진 ui를 plant 재 (Cultivation)
시작 역 행 다. [16]에 증명 object
concept에 라, ui 종 태에 계없이 (uiR)R=Y를
만족 는 단 나 formal concept (X, Y)가 드시 존재 다;
임 개체 집합 A⊆T에 여, ((AR)R, AR) formal
concept이며, 이를 object concept이라 부른다. Seed를 구 는
요소인 ui (X, Y)는 phenotype 그리고 genotype이라 각각
명명 었다. 차후 소개 plant를 이루는 추가 요소들 (Sepal
flower) 역시 phenotype과 genotype 구 , 작명
20
도에 명 다 단에 다. Table 1 formal
context Figure 2 concept lattice를 상 seed 를
보이면 다 과 같다. 주어진 ui가 A∧¬B인 경우, 이를 만족 는
개체 집합 uiR {1, 4, 5, 7}이며, 이들이 공 는 속 집합
(uiR)R {A, C}임 Table 1 formal context 부 인
있다. , (uiR)R={A, C}를 intent 갖는 formal concept ({1, 4,
5, 7, 8}, {A, C})를 Figure 2 concept lattice 부 찾
있다. 그러므 , (A∧¬B, ({1, 4, 5, 7, 8}, {A, C}))는 주어진 ui,
A∧¬B에 seed이다. Genotype 간략 를 해 Figure
1 formal concept 번 를 사용 여 면 (A∧¬B, #3)
있다.
2. 주어진 formal context D=(T, I, R), ui minsup에
sepal (uiR)R=Y≠ ∅이며 |uiR∩X|/|T|≥minsup 일 경우, 속
집합 Y formal concept (X, Y)∈B(D) 인 (Y, (X, Y))
다. 이 , Y (X, Y)를 sepal phenotype 그리고
genotype이라 며, (|uiR∩X|/|T|, 1) sepal 량
(Expression level)이라 다. □
21
Figure 4. 데이 상 장 연 규 추출 법 도식
22
Sepal genotype인 formal concept (X, Y)는 seed
그것과 동일 면, phenotype seed 달리 Y이다. 앞
명 같이 Y=(uiR)R ui를 만족 는 모든 개체들이
공 는 속 집합이므 , Y는 를 ui 는 연 규
결 이라 있다. , sepal 량인 (|uiR∩X|/|T|,
1) , 연 규 요도인 지지도 신도에 다.
Sepal 를 보이 해 Table 1 formal context에 ui를
A∧¬B , minsup 0.1 면, uiR={1, 4, 5, 7}, (uiR)R={A,
C} 그리고 |uiR|/|T|=|{1, 4, 5, 7}|/10 = 0.4≥minsup
만족 다. 그러므 , ({A, C}, ({1, 4, 5, 7, 8}, {A, C})) sepal이
며, sepal 량 (0.4, 1) 값 갖는다. 면, ui가
¬A∧¬C 경우, Y=(uiR)R이 공집합이 므 , ui에
sepal 존재 지 않는다. 앞 언 같이, 본 연구에
안 는 plant 모델 , 자연계 그것과 같이, 주어진 경(ui
minsup)에 라 sepalous plant asepalous plant가
있다.
Seed는 주어진 ui , sepal ui를 는 연
규 결 과 다. 본 연구 궁극 목 인 ui를
는 근사 연 규 결 해, 이 는 추가 인
plant 요소가 요구 다. 주어진 X를 는 근사 연 규
Q→R 추출 , Q를 만족 는 개체 다 개체들이 추가
공 는 속 집합 R 도출 는 행 라 있다. 그러므 ,
Q를 포함 는 속 집합 Y를 intent 는 formal concept (X, Y)
집합 용 여 근사 연 규 추출 는 시도는 합리 이라
있 며, 다 FCA 연 규 추출 법 이 이
23
아이 어를 여 개 었다[8, 12, 13, 15, 23].
그러나 formal concept 집합 이진 논리식 태 주어진
에 부합 는 근사 연 규 추출에 용 해 는 새 운
근법이 요구 다. 에 언 같이, formal context
formal concept 입장에 , 이진 논리식 태 사용자
요구사항 알 지지 않 새 운 속 이라 있다.
그러므 , 이진 논리식 주어진 를 포함 는 intent를 갖는
formal concept 존재 지 않는다. 다시 말해, 존 법 과
같이 formal concept intent를 연 규 추출 식이
아닌, 이진 논리식 태 를 만족 는 개체를 , formal
concept extent를 연 규 추출 근법이 논리
합당 다 있다. 이러 주어진 ui (이진 논리식
태 )에 부합 는 근사 연 규 결 formal
concept 부 추출 고자 , 용 가 가 있는 formal
concept에 에 다 과 같이 다.
3. 주어진 formal context D=(T, I, R)과 ui에 여, 만약
Xi∩uiR≠ ∅ 이고 {(Xj, Yj)∈B(D) | (Xj, Yj)< (Xi, Yi) ∧
Xi∩uiR=Xj∩uiR}= ∅ 만족 는 개 집합 Xi를 extent 갖는
formal concept (Xi, Yi)를 양가 있는 개 (이 nutritious
concept)이라 다. , 주어진 ui에 모든 nutritious
concept 집합 Nui 다. □
24
주어진 ui에 해 특 formal concept (Xi, Yi)가 nutritious
concept이 해 는, 가장 extent Xi 원소 ui를
만족 는 원소, 즉 개체들이 존재해야 다. , (Xi, Yi)
subconcept 집합 , Xi uiI 집합과 Xj uiR 집합이
동일 subconcept (Xj, Yj)가 존재 지 않아야 다. Nutritious
concept 번째 조건 복 근사 연 규 추출
지 는 핵심 인 역 다. 연구 논 [15]에 재 복
연 규 를 리면 다 과 같다; “주어진 formal context
(T, I, R)에 개 연 규 r1: A→B 그리고 r2: C→D 가
존재 고, A⊆C이고 B⊆D이며, r1 지지도 신도가 r2
그것들과 동일 경우, 연 규 r1 복 연 규 이다”. 본
연구는 주어진 특 이진 논리식 태 , ui에 연
규 추출에 맞추고 있 므 , 복 연 규 는
다 과 같이 간략 있다; “주어진 formal context (T, I,
R)에 개 연 규 r1: ui→A 그리고 r2: ui→B 가
존재 고, A⊆B이고, r1 지지도 신도가 r2 그것들과
동일 경우, 연 규 r1 복 연 규 이다”. 본 연구
주 에 부합 도 재 복 연 규 는 nutritious
concept 벽히 다.
Formal concept (Xi, Yi) 부 도 가능 연 규
ui→Yi Xi∩uiR=Xj∩uiR인 Xj를 extent 갖는 (Xi, Yi)
subconcept (Xj, Yj)를 가 해보자. 연 규 가지 지 인
지지도 신도란 해당 규 만족 는 개체
나타내므 , 연 규 ui→Yi 지지도 신도는
|Xi∩uiR|/|T| |Xi∩uiR|/|uiR| 각각 있다. (Xi,
25
Yi) subconcept인 (Xj, Yj) 부 도 가능 주어진 ui에
부합 는 연 규 ui→Yj를 가 해 보면, 이 규 지지도
신도는 |Xj∩uiR|/|T| |Xj∩uiR|/|uiR| 다. 이 ,
Xi∩uiR=Xj∩uiR이므 , 규 ui→Yi ui→Yj 지지도 신도는
동일 며, (Xi, Yi)가 (Xj, Yj) superconcept이므 , Yi는 Yj
부분 집합이 다. 다시 말해, formal concept (Xi, Yi) 부
도 는 ui→Yi는 (Xj, Yj) 부 도 는 ui→Yj 인해 복
연 규 이 며, nutritious concept 는 (Xi, Yi) 같
formal concept 부 복 근사 연 규 추출 지 는
역 행 다. Table 1 formal context에 ui= A∧¬B가
주어 , Figure 2 concept lattice에 존재 는 formal
concept들 , nutritious concept에 해당 는 집합 Nui는 {#3,
#6, #8, #9}가 다.
4. 개 nutritious concept (Xi, Yi), (Xj, Yj)∈Nui에
여, 만약 {(Xk, Yk)∈Nui | (Xi, Yi)<(Xk, Yk)<(Xj, Yj)}=∅라면,
(Xi, Yi)는 주어진 ui 에 (Xj, Yj) 이웃(이 lower
neighbor within ui)라 다. 이 , (Xj, Yj)는 주어진 ui 에 (Xi,
Yi) 상 이웃(이 upper neighbor within ui)이라 며, 이
계를 (Xi, Yi)≺ (Xj, Yj) 다. □
Upper-lower neighbor within ui 계는, 통 인 FCA에
소개 upper-lower neighbor 계 장 써, 계 상
26
(즉, domain-range)이 는 formal concept 집합 , 주어진 ui에
nutritious concept 집합 계라 있다. 이는
본 논 에 안 는 plant 모델 번째 구 요소인 flower
약 조건 용 어, 주어진 ui를 며 복 이지 않
(즉, informative) 근사 연 규 추출에 있어 핵심 인 역
행 다. Table 1과 Figure 2에 formal context
concept lattice 그리고 ui=A∧¬B에 upper-lower neighbor
within ui 계 집합 Table 4 같이 추출 다.
5. Formal context D=(T, I, R) ui에 flower는 (Xi,
Yi) ≺ (Xj, Yj)이고 |uiR∩Xi|/|T|≥minsup∈[0, 1]이며
|uiR∩Xi|/|uiR|≥minconf∈[0, 1]일 , (Yi\Yj, (Xi, Yi))
다. 이 , Yi\Yj를 phenotype 그리고 (Xi, Yi)를 flower
genotype이라 며, (|uiR∩Xi|/|T|, |uiR∩Xi|/|uiR|) flower
expression level이라 다. □
Table 4. ui= A∧¬B에 upper-lower neighbor within ui
리스트
Lower neighbor within ui Upper neighbor within ui
#6: ({4, 5, 7}, {A, C, E, F}) #3: ({1, 4, 5, 7, 8}, {A, C})
#9: ({1}, {A, C, D, H}) #3: ({1, 4, 5, 7, 8}, {A, C})
27
#8: ({5, 7}, {A, C, E, F, G}) #6: ({4, 5, 7}, {A, C, E, F})
Plant 모델 번째 구 요소인 flower는, seed sepal과
같이 phenotype과 genotype 구 며, 주어진 ui를
는 근사 연 규 결 에 다. Flower genotype
nutritious concept 집합 원소인 formal concept이며, 해당
formal concept intent 부분 집합 phenotype 취 다.
사실 flower genotype intent 자체가 ui를 는 근사
연 규 결 이라 있 에도 불구 고, flower
phenotype intent 부분 집합 었다. 이는 특
flower genotype A라고 했 시, A upper neighbor within
ui인 nutritious concept B 부 추출 는 결 복 인
지 함이다. 곧 이어 소개 plant 모델 마지막 구
요소인 잎 (이 stem and leaf)에 해 벽 태
plant가 구 며, ui를 는 근사 연 규 결 들이
복 없이 사용자에게 달 다.
지 지 plant를 이루는 3가지 구 요소인 seed, sepal
그리고 flower를 소개 며, 구 요소들 phenotype과
genotype 인 (phenotype, genotype) 이루어진다는
공통 갖는다. 고 , Cui라는 를 사용 여 주어진 ui에
seed, sepal 그리고 flower들 합집합 지칭 다.
자연계에 언 는 생명체 genotype , 생명체 부모 부
계승 는 보 여겨지며, phenotype 경우 실
는 생 특 들 일컫는다. 동일 genotype
28
가진 생명체라도, 각 생명체가 처 경에 라 phenotype
다르게 있다 ( : 입양 통해 다른 경에
장 일란 이). 본 논 에 안 는 plant 모델 역시,
자연계에 는 상이 그 용 있다.
사용자 부 주어진 ui minsup 그리고 minconf가 plant를
러싼 경에 며, 경에 라 같 genotype 부
상이 phenotype이 다. Plant 마지막 구 요소인 stem-
leap 소개 에 앞 , Table 1과 Figure 2에 formal
context concept lattice에 해, ui=A∧¬B, minsup=0.1
그리고 minconf=0.3가 주어 시, plant를 이루는 3가지 구
요소들에 보를 Table 5에 나열 다.
6.1 Asepalous plant 구 요소 ci, cj∈Cui에 여,
다 과 같 가지 경우를 만족 , 가 를 갖는 향
아크(이 weighted arc) ci
→ cj를 plant (이 stem)라고
다:
l ci가 seed인 경우
o (ci genotype)≺ (cj genotype)
l ci가 flower인 경우
o (ci genotype)≺ (cj genotype) 그리고
o (ci phenotype)∩ (cj phenotype)=∅.
이 , stem 가 w는 cj expression level 며, 이를
29
stem 잎(이 : leaf)이라 다. □
6.2 Sepalous plant 구 요소 ci, cj∈Cui에 여,
다 과 같 가지 경우를 만족 , 가 를 갖는 향
아크(이 weighted arc) ci
→ cj를 plant (이 stem)라고
다:
l ci가 seed인 경우
o (ci genotype) = (cj genotype)
l ci가 sepal flower인 경우
o (ci genotype)≺ (cj genotype) 그리고
o (ci phenotype)∩ (cj phenotype)=∅.
이 , stem 가 w는 cj expression level 며, 이를
stem 잎(이 : leaf)이라 다. □
Plant 모델 번째 구 요소인 stem-weight는 seed,
sepal 그리고 flower 집합 연결 는 역 행 다. 앞
언 같이 plant 모델 sepal 가지고 있지 않
asepalous plant sepal 가진 sepalous plant 나 있다.
Sepal 갖지 않는 asepalous plant 경우, seed가 다
flower들과 stem-leaf를 통해 직 연결 있다. 그러나
sepal 갖는 sepalous plant 경우, seed는 드시 sepal과만
30
stem-leaf를 통해 직 연결 며, flower들 sepal과
연결 거나 다른 flower들과 연결 있다. Table 6에는
주어진 ui=A∧¬B, minsup=0.1 그리고 minconf=0.2를
생 가능 stem-leaf 집합 다.
31
Table 5. ui= A∧¬B, minsup=0.1 그리고 minconf=0.2에 Cui 구 요소들
구 요소 태 Phenotype Genotype Expression level
c1 Seed A∧¬B #3: ({1, 4, 5, 7, 8}, {A, C}) .
c2 Sepal {A, C} #3: ({1, 4, 5, 7, 8}, {A, C}) (0.40, 1.00)
c3 Flower {E, F} #6: ({4, 5, 7}, {A, C, E, F}) (0.30, 0.75)
c4 Flower {D, H} #9: ({1}, {A, C, D, H}) (0.10, 0.25)
c5 Flower {G} #8: ({5, 7}, {A, C, E, F, G}) (0.20, 0.50)
32
Table 6. ui= A∧¬B, minsup=0.1 그리고 minconf=0.2에
stem-leaf 집합
Stem Tail Head Leaf: w
c1
→c2 c1 c2 (0.40, 1.00)
c2
→c3 c2 c3 (0.30, 0.75)
c2
→c4 c2 c4 (0.10, 0.25)
c3
→c5 c3 c5 (0.20, 0.50)
Plant 모델 고자, 본 연구에 는 나
plant를 P(D, ui, minsup, minconf)=(Cui, Sui)라는 를 사용 여
나타낸다. 이 , D는 formal context, ui는 D에 이진 논리식,
minsup과 minconf는 0과 1사이 값 나타내며, Cui는
{seed1…1, sepal0…1, flower0…*} , Sui는 {stem-leaf0…*}를
미 다( 첨자(superscript) i…j는 각 원소 cardinality).
Figure 5는 phenotype plant P(D, A∧¬B, 0.1,
0.2)를 도식 것이다 (단, D는 Table 2 formal context).
7. 주어진 plant P(D, ui, minsup, minconf)=(Cui, Sui) 부분
집합 Bui=( ui, ui)이 ui⊆Cui, ui⊆Sui, seed∈ ui이고 Bui가 ui
ui 모든 원소들 고립시키거나 락 지 않는 체인 구조(Chain
structure)를 가질 , 다 과 같 조건 만족 , Bui=( ui,
33
ui) plant 분재(이 Bonsai)라 다. , 나 bonsai는
연 규 ui→ ⋃ ( ℎ ) 과 며, bonsai
마지막 stem si∈ ui leaf를 지지도 신도 취 다. □
Figure 5. Phenotype P(D, A∧¬B, 0.1, 0.2) 도식
Table 7 Figure 5에 plant 부 도출 가능 모든
bonsai를 나타낸다.
34
Table 7. Figure 5에 도식 plant 부 추출 가능 모든 bonsai 리스트
Bonsai 연 규 (지지도, 신도)
({c1, c2}, {c1 →c2}) A∧¬B→{A, C} (0.40, 1.00)
({c1, c2, c3}, {c1 →c2, c2
→c3}) A∧¬B→{A, C, E, F} (0.30, 0.75)
({c1, c2, c4}, {c1 →c2, c2
→c4}) A∧¬B→{A, C, D, H} (0.10, 0.25)
({c1, c2, c3, c5}, {c1 →c2, c2
→c3, c3
→c5}) A∧¬B→{A, C, E, F, G} (0.20, 0.50)
35
나. Cultivation 알고리즘 family
본 에 는, 이진 논리식 태 주어진 (즉 ui) 부 ,
plant를 구축 는 알고리즘인 cultivation 알고리즘 소개 다.
cultivation 알고리즘이 요구 는 악 경우 시간
복잡도(Worst-case time complexity)를 도출 고
(Completeness) 당 (Soundness)
증명 다. 개 추가 인 알고리즘 안함 써, plant
모델 다양 용도 분야에 용 지원 고자 다.
Formal context, concept lattice, ui, minsup 그리고
minconf를 입 매개변 는 cultivation 알고리즘 이 우
탐색 법 통해 concept lattice를 탐색 여 주어진 매개변 에
plant를 구축 며, 이에 pseudo code가 Algorithm 1에
어 있다. Cultivation 알고리즘 역 변 인 Cui, Sui, NXT
그리고 CUR 공집합 고, B(D) 모든 formal
concept inter 속 NULL 값 는 작업 가장
행 다. 작업이 료 후, seed genotype에 해당 는
formal concept 탐색, seed를 구축 고 이를 Cui 집합 원소
당 다. seed genotype 속 인 expression level,
expLv[0]과 expLv[1] 함 SetInterExpLv에 해 연산
당 다. 알고리즘 복 과 상이 는 NXT 변
원소는, sepal이 존재 경우는 sepal이, 그 지 않 경우에는
seed 결 다. sepal이 존재 경우, seed를 tail 고,
sepal head 는 arc가 Sui에 추가 다.
36
Algorithm 1. Cultivation algorithm
Input: D=(T, I, R), B(D), ui, minsup and minconf
Output: P(D, ui, minsup, minconf)=(Cui, Sui)
1. Cui←∅, Sui←∅, NXT←∅, CUR←∅ // global variables
2. Set inter of each concept∈(K) to NULL
3. Find (X, Y)∈B(K) where Y=(uiR)R
4. pTypeseed←ui, gTypeseed←(X, Y) and Cui←{(pTypeseed, gTypeseed)}
5. SetInterExpLv(gTypeseed)
6. if gTypeseed.expLv[0]≥minsup then
7. if Y≠∅ then
8. pTypesepal←Y and gTypesepal←(X, Y)
9. Cui←Cui∪{(pTypesepal, gTypesepal)}, NXT←{(pTypesepal, gTypesepal)}
10. Sui←{(pTypeseed, gTypeseed) →(pTypesepal, gTypesepal)}
11. w←((X, Y).expLv[0], (X, Y).expLv[1])
12. else
13. NXT←{(pTypeseed, gTypeseed)}
14. end if
15. end if
16. while NXT≠∅ do
37
17. CUR←NXT and NXT←∅
18. for all (pType,gType)∈CUR do
19. CultivateFlowers((pType,gType), gType)
20. end for
21. end while
Algorithm 2. function CultivateFlowers((pType, gType), (X,
Y)∈B(D))
1. NUTRI←∅ and JUNK←∅ // local variables
2. CANDI←{(Xi, Yi)∈B(K) | (Xi, Yi)≺(Xi, Yi) in B(K)}
3. for all (Xi, Yi)∈CANDI do
4. SetInterExpLv((Xi, Yi))
5. if (Xi, Yi).expLv[0]≥minsup and (Xi, Yi).expLv[1]≥minconf then
6. CHECK←{(Xj, Yj)∈B(K) | (Xj, Yj)≺(Xi, Yi) in B(K)}
7. for all (Xj, Yj)∈CHECK do
8. SetInterExpLv((Xj, Yj))
9. end for
10. if {(Xj, Yj)∈CHECK | Xi.inter=Xj.inter}=∅ then
11. NUTRI←NUTRI∪{(Xi, Yi)}
38
12. else
13. JUNK←JUNK∪{(Xi, Yi)}
14. end if
15. end if
16. end for
17. for all (XNU, YNU)∈NUTRI do
18. if pType=ui then
19. pTypenew←YNU
20. else
21. pTypenew←YNU\gType.intent
22. end if
23. gTypenew←(XNU, YNU)
24. if (pTypenew, gTypenew)∉Cui then
25. Cui←Cui∪{(pTypenew, gTypenew)}
26. NXT←NXT∪{(pTypenew, gTypenew)}
27. end if
28. Sui←Sui∪{(pType, gType) →(pTypenew, gTypenew)}
29. w←(gTypenew.expLv[0], gTypenew.expLv[1])
30. end for
39
31. for all (XJU, YJU)∈JUNK do
32. if {(XNU, YNU)∈NUTRI | (XJU, YJU).inter⊂(XNU, YNU).inter}≠∅ then
33. Discard (XJU, YJU) from JUNK
34. end if
35. end for
36. for all (XJU, YJU)∈JUNK do
37. CultivateFlowers((pType, gType), (XJU, YJU))
38. end for
Algorithm 3. function SetInterExpLv((X, Y)∈B(D))
1. if (X, Y).inter = NULL
2. (X, Y).inter←X∩uiR
3. (X, Y).expLv[0]←|(X, Y).inter|/|T|
4. (X, Y).expLv[1]←|(X, Y).inter|/|uiI|
5. end if
함 CultivateFlowers는 phenotype과 genotype
(pType, gType)과 formal concept (X, Y)를 입 매개변
며, (X, Y) 개 , nutritious concept 지역 변
NUTRI에, 그 지 않 concept JUNK 변 에 당 다.
NUTRI 원소들 부 생 flower들 매개 변 (pType,
40
gType) 연결 며, 역 변 NXT 원소 당 어, 다
복 시 용 다. 면 JUNK 변 원소들 NXT 원소들
통해 1차 걸러진 후, 남겨진 원소들 상 함
CultivateFlowers를 출 다. 이 같 복 NXT 집합이
공집합일 지 지속 다.
앞 명 같이, Cultivation 알고리즘 주어진 매개
변 ui에 여, (uiR)R=Y를 intent 는 formal concept (X,
Y)를 찾는 연산 행 다. Concept lattice에 존재 는 모든
formal concept들 [16]에 증명 같이 모 unique
intent를 갖는다. 라 , intent를 key 고 는 formal
concept value 는 (key-value) 태 리스트를 데이
구조 사용 여 formal concept 집합 concept lattice를 운용
경우, formal concept (X, Y)를 찾 해 소요 는 time
complexity는 1이 어 시 있다. 그러므 , cultivation
알고리즘 time complexity는 얼마나 많 formal concept
(X, Y) concept들이 몇 차 나 는가에 라 결 다
있다. 지 는 concept lattice 구조 태에
존 이며, cultivation 알고리즘 worst-case time
complexity는 결국 다 과 같 3가지 조건들 모 만족 는
상황 에 도출 있다:
1. 탐색 시작 인 formal concept (X, Y)가 concept lattice
상 concept인 상황
2. Concept lattice에 존재 는 모든 formal concept들이
nutritious concept들인 상황
41
3. 모든 i번째 layer에 있는 formal concept들이 상 layer인
(i-1)번째 layer formal concept들과 연결(Fully
connected) 상황.
Figure 6. Upper-lower neighbor 계 인 lattice
Cultivation 알고리즘 worst-case time complexity
원 도출 명 해 Table 8에 들 용 며,
3가지 조건 모 만족시키는 concept lattice를 들
사용 여 Figure 6 통해 도식 다. Figure 6에 인
42
있는 같이, cultivation 알고리즘 worst-case time
complexity 연산 횟 는 concept lattice 1번째 마지막
layer 사이에 존재 는 formal concept들 간 upper-lower
neighbor 계 값이라 있 며, 이를 를
통해 면 ‘ ∑ =k-2= 를 만족 며
∏ 를 라’ 있다(단, k는 concept
lattice내에 존재 는 concept ). 이는 연구 논 [24]에
합에 곱 (Maximizing the product of
summands) 벽 게 일 는 이므 ,
CULTIVATION 알고리즘 worst-case time complexity는
아래 같이 도출 있다:
l 만약 를 3 나 었 나 어 떨어지는 경우,
worst-case time complexity는 3( )/ ,
l 만약 를 3 나 었 나 지가 1인 경우, worst-
case time complexity는 2 ∙ 3( )/ 그리고
만약 를 3 나 었 나 지가 2인 경우, worst-case
time complexity는 2 ∙ 3( )/ 이다.
43
Table 8. Cultivation 알고리즘 worst-case time complex
도출에 용 리스트
Notation Meaning Example
n Concept lattice layer n=10:
10개 layer를 갖는
concept lattice
mi i번째 layer formal concept
85: 8번째 layer는
5개 formal
concept들 구
i_j i번째 layer j번째 formal
concept 지시자
8_4: 8번째 layer
4번째 formal
concept
새 운 알고리즘 안 시, 드시 증명해야 가지
사항 알고리즘 (Completeness) 당
(Soundness)이다. 알고리즘 이란, 주어진 입 에 부합 는
모든 답 락 없이 추출함 미 며, 당 이란, 알고리즘이
생 해 내는 모든 결과 답임 미 다.
당 증명. 만약 CULTIVATION 알고리즘이 도출해 낸 연
44
규 ui→Y1 복 연 규 이라 가 면, Y1⊂Y2이며
Y1R∩uiR=Y2
R∩uiR를 만족 는 Y2가 존재해야 다. Cultivation
알고리즘 nutritious concept들 부 연 규 들 추출함
formal concept (Y1R, Y1)이 concept lattice 내에 존재 다.
속 개 (이 attribute concept)[16] 에 라, (Y2R,
(Y2R)R) 역시 concept lattice 내에 존재 게 다. 가 Y1⊂Y2에
해, formal concept (Y1R, Y1) (Y2
R, (Y2R)R)
superconcept이다. 그러나 3에 해 (Y2R, (Y2
R)R) 존재
없 며, 이는 Y2 역시 존재 없 함 다. 그러므 ,
cultivation 알고리즘 통해 도출 ui→Y1 복 연
규 이라 없다. □
증명. Cultivation 알고리즘이 추출 지 못 복 연
규 이 아닌 ui→Y가 존재 다고 가 자. Attribute concept
에 라, formal concept (YR, (YR)R)이 concept lattice 내에
존재 다. cultivation 알고리즘 (uiR, (uiR)R)
subconcept들 부 연 규 추출 므 , (YR, (YR)R) ⊀(uiR,
(uiR)R) 계가 립 게 다. 이 , uiI 주어진 ui를
만족 는 모든 개체들이 공 는 속 집합임 , 속 집합 uiI는
ui를 는 연 규 결 이 다. 이 , 를
45
ui 는 근사 연 규 결 uiR∪Z(단, Z⊆M 그리고
Z≠∅)이 다. 그러므 복 연 규 이 아닌 ui→Y 결 Y
역시 uiR∪Z 있 며(즉, Y=uiR∪Z), formal concept
(uiR, (uiR)R) subconcept이 아닌 formal concept (YR, (YR)R)
역시 ((uiR∪Z)R, ((uiR∪Z)R)R) 있다. 그러나,
(uiR∪Z)R는 uiR 부분 집합임 , (YR, (YR)R) (uiR, (uiR)R)
subconcept이 다. 고 , cultivation 알고리즘이 생 지 못 는
복 연 규 이 아닌 ui→Y는 존재 없다. □
앞 명 cultivation 알고리즘 아래에 같이,
사용자 상 작용 (User interaction) 통해 단계
(Stepwise) 연 규 추출 는 식에
알고리즘이다:
1. 사용자가 이진 논리식 태 ui를 다.
2. Cultivation 알고리즘 사용자에게 ui에 부합 는 sepal
flower들 공 다.
3. Cultivation 알고리즘이 공 sepal flower ,
사용자가 심 있는 것 택 다.
4. 3번째 단계에 사용자가 택 것 부 다른
flower들 사용자에게 공 다.
46
5. 3단계 4단계를 복 다.
그러나, 단계 식 결 공 지 않고, ui에 부합 는
모든 결 들 일 요 는 사용자들이 존재 있다.
이 같 사용자들 해 nbo-cultivation 그리고 ibo-
cultivation이라 명명 2개 알고리즘 소개 다.
Algorithm 4. nbo-cultivation Algorithm
Input: D=(T, I, R), B(D), ui, minsup 그리고 minconf
Output: a set of consequents, C={(Key, Value)}
1. C←∅
2. for all (X, Y)∈B(D)
3. sup←|X∩uiR|/|T| and conf←|X∩uiR|/|uiR|
4. if sup≥minsup and conf≥minconf
5. Find (Key, Value) such that {(Key, Value)∈R | Key= X∩uiR }
6. if (Key, Value) = NULL
7. C←C∪{(X∩uiR, Y)}, (X∩uiR, Y).sup←sup and
(X∩uiR, Y).conf←conf
8. else
9. if Value⊂Y
47
10. (X∩uiR, Y).sup←sup and (X∩uiR, Y).conf←conf
11. Replace (Key, Value)∈C with (X∩uiR, Y)
12. end if
13. end if
14. end if
15. end for
Algorithm 5. ibo-cultivation Algorithm
Input: D=(T, I, R), B(D), ui, minsup 그리고 minconf
Output: a set of consequents, C={(Key, Value)}
1. C←∅ // global variable
2. Set isVisited of each concept∈B(D)
3. Find (X, Y)∈B(D) where Y=(uiR)R and Set (X, Y).isVisited←true
4. if |X∩uiR|/|T|≥minsup then
5. if Y≠∅ then
6. C←{(X∩uiR, Y)}, (X∩uiR, Y).sup←|X∩uiR|/|T| and
(X∩uiR, Y).conf←1
7. end if
8. CANDI←{(Xi, Yi)∈B(D) | (Xi, Yi)≺(X, Y) in B(D)}
48
9. AddBonsais(CANDI)
10. end if
Algorithm 6. function AddBonsais(CANDI⊂B(D))
1. for all (X, Y)∈CANDI
2. (X, Y).isVisited←true
3. sup←|X∩uiR|/|T| and conf←|X∩uiR|/|uiR |
4. if sup≥minsup and conf≥minconf then
5. Find (Key, Value) such that {(Key, Value)∈R | Key= X∩uiR }
6. if (Key, Value) = NULL then
7. C←C∪{(X∩uiR, Y)}
8. (X∩uiR, Y).sup←|X∩uiR|/|T|, (X∩uiR, Y).conf←|X∩uiR|/|uiR |
9. else
10. if Value⊂Y then
11. (X∩uiR, Y).sup←sup and (X∩uiR, Y).conf←conf
12. Replace (Key, Value)∈C with (X∩uiR, Y)
13. NewCANDI←{(Xi, Yi)∈B(K) | (Xi, Yi)≺(X, Y) ∧
(Xi, Yi).isVisited=false}
14. AddBonsais(NewCANDI)
49
15. end if
16. end if
17. end if
18. end for
Nbo (Naïve bonsais only)-cultivation 알고리즘 , 그
명칭에 추 있는 같이, 단 법 주어진 ui에
부합 는 결 들만 추출 는 알고리즘이다. Concept lattice
구조 인 특 고 지 않고, formal concept 집합 원소들
며, 복 이지 않 연 규 들 추출 다. 면, ibo
(Intelligent bonsais only)-cultivation 알고리즘 , concept
lattice 구조 인 특 용 여, 복 이지 않 연
규 들 추출 다. 향 그래 태인 plant를 산출 는
cultivation 알고리즘과는 달리, 리스트 태 bonsai(결 )들만
추출함에 차이가 있다 있다.
본 논 에 지 지 소개 cultivation, nbo-cultivation
그리고 ibo-cultivation 알고리즘 cultivation algorithm family라
칭 다. nbo-cultivation 알고리즘 경우, formal concept들
여 연 규 들 추출 다. 고 , formal concept 가
고 formal concept 간 super-subconcept 계 가 많
효과 동작 다 있다. 면 concept lattice 구조를
용 는 ibo-cultivation 알고리즘 경우, formal concept 가
많고, super-subconcept 계 가 보다 높 능
50
내는 특 지닌다. cultivation 알고리즘 경우, 사용자
상 작용 통해, 단계 인 결 추출 추천이 요 상황에
합 알고리즘이라 있다.
2. 동 데이 상 장 연 규 추출 법
지 지, 업데이트 도 가 거나 업데이트 간격이
상 데이 를 상 장 연 규 추출
법 들에 해 논 다. 데이 를 상 동작 는
cultivation algorithm family 경우, concept 추출 concept
lattice 구축과 같 사 작업 (Preprocessing)들이 료 후에
동작 는 커니즘 특 갖고 있다. 다시 말해, cultivation
algorithm family는, 사 작업 통해 구 concept 집합
concept lattice 탐색 통해, 이진 논리식 태 주어진 에
부합 는 복 이 결 리스트를 달 는 근법이라
있다. 그러나 concept 집합 도출 concept lattice 구축
높 복잡도를 요구 며, 이는 번 게 업데이트 는 데이 (즉.
동 데이 )를 상 는 연 규 실시간 추출에
있어 는 그 계 이 명 다. 이에 본 에 는, 데이
업데이트 주 가 짧거나, 업데이트 도가 상 높 동
데이 를 상 , 복 이 없는 장 연 규 (즉, 가
이진 논리식 태) 집합 추출 는 알고리즘들 소개 다. 동
데이 상 장 연 규 추출 법 , (1) 일 추출
그리고 (2) 단계 추출 법 2가지 태 시 다.
51
가. 일 추출 법
동 데이 를 상 는 장 연 규 일 추출
법 , 연 규 추출 법 가장 많이 인용 고 용
charm 알고리즘[19]를 용 여 손쉽게 도출 있다. Charm
알고리즘에 사용 는 4가지 속 다 과 같다:
∙ 주어진 아이 집합 X, Y에 여,
1. XR=YR인 경우,
l X를 X∪Y 체 고, Y는 삭 다.
2. XR⊂YR인 경우,
l X를 X∪Y 체 고, Y는 지 다.
3. XR⊃YR인 경우,
l X는 지 고, Y를 X∪Y 체 다.
4. 1-3이 아닌 경우,
l X Y 모 지 다.
에 언 4가지 속 들 , charm
알고리즘 번 닫힌 아이 집합 효 추출 며,
추출 아이 집합 결 이 모 집합 태 구
복 없는 연 규 리스트 생 에 용 다. 그러나 본
연구에 안 ‘이진 논리식 태 를 갖는 연 규
리스트 생 ’에 이를 용 해 는, 이진 논리식 는
추가 인 차 법이 요구 며, 이를 해 본 논 에 는
intersection (Filter)를 도입 다. 아래에 알고리즘 7
52
batch–D는 존 charm 알고리즘 본 동작 원리를 차용 고
intersection 를 용, 주어진 이진 논리식 태 에
부합 는 복 없는 연 규 리스트를 추출 는 pseudo
드이다.
Algorithm 7. batch–D Algorithm
Input: D=(T, I, R), ui, minsup 그리고 minconf
Output: a set of consequents, C
1. C←∅ // global variable
2. Seed←{{t}×({t}R∩|uiR|) | t∈T ∧ |{t}R|∩|uiR|/|T|≥minsup}
3. if Seed≠ ∅ then
4. ExtractConsequents(Seed)
5. end if
Algorithm 8. Function ExtractConsequents(Nodes)
1. for each A×B∈Node
2. newNodes←∅ // local variable
3. for each C×D∈Node
4. if A×B.index < C×D.index then
5. if |B∩D|/|T|≥minsup and |B∩D|/|uiR|≥minconf then
6. if B=D then
7. Remove C×D from Node
8. Replace all A as A∪C in Nodes and newNodes
9. else if B⊂D then
53
10. Replace all A as A∪C in Nodes and newNodes
11. else if B⊃D then
12. Remove C×D from Node
13. newNodes←newNodes∪{A∪C×B∩D}
14. else then
15. newNodes←newNodes∪{A∪C×B∩D}
16. end if
17. end if
18. end for
19. if newNodes≠ ∅ then
20. ExtractConsequents(newNodes)
21. end if
22. if {X×Y∈C | B=Y}=∅ then
23. C←C∪{A×B}
24. end if
25. end for
Batch-D 알고리즘 데이 베이스 D, 소 지지도
신도인 minsup과 minconf 그리고 D에 이진 논리식 ui를
입 취 여, 동 데이 베이스 (Dynamic database) 부 ,
주어진 ui를 는 복 없는 연 규 들 결
일 추출 는 알고리즘이다. Batch-D 알고리즘 산출
역 변 C에 장 어 달 며, 단일 아이 원소 는
아이 집합과, 해당 아이 소 transaction 집합과 ui를
만족 는 transaction 집합 집합 여, 집합
원소 가 충분히 클 경우, 단일 아이 집합과 집합 집합
Seed라는 변 원소들 다. 단일 아이 집합과
단일 아이 집합 소 transaction 집합 알고리즘
54
시작 는 존 charm 알고리즘과 차별 이라 있 며, 이
과 intersection 라 지칭 다. 이후 동작 커니즘
charm 알고리즘과 동일 다. 알고리즘 동작 에 Seed 변
원소들에 주어진 이진 논리식인 ui가 , 이후 알고리즘
동작 자연스 ui를 복 없는 연 규 들 추출
도 다. 핵심 함 인 ExtractConsequents 함 는, 이상
새 운 아이 집합 × transaction 집합이 도출 지 않 지
재귀 출 며, 이 우 탐색 태 동작 다 있다.
Figure 7 , Table 1에 데이 베이스를 상 , ui가 A∧
¬B , minsup=0.1, minconf=0.2 주어 경우, batch-D
알고리즘 동작 식 단계 도식 여 것이다
(검 별 모양과 원 해당 단계에 조인 연산 연산자들
나타낸다). Figure 7에 인 있는 같이, 가장
주어진 ui, A∧¬B를 만족 는 transaction 집합과, 각 아이 들
만족 는 transaction 집합 간 intersection 연산 통해, 단일
아이 집합×transaction 집합 도출해 낸다. 이 연산 산출 인
{A×1457, B× ∅, C×1457, D×1, E×457, G×57, H×1, I× ∅, J×
∅ }는, ui를 여 재 단일 아이 해당 아이
transaction 집합이라 있다. 다시 말해, 존 데이 베이스
내에 존재 는 아이 과 transaction 간 체 계를, 주어진
이진 논리식 ui를 만족 는 transaction들만 고 여, 재
결과라 있다. 이후 batch-D 알고리즘 차는 charm
알고리즘 동작 커니즘과 동일 게 동작 다. Transaction 집합
부분이 공집합인 B × ∅ , I × ∅ , J × ∅ 는 조인 연산에 고,
지 않 아이 들 , 차 조합 시작 다. 가장
55
A×1457과 C×1457 조인 게 며, 이는
속 1 만족시킴 , A×1457를 AC×1457
업데이트 고, C×1457 이상 고 지 않는다. 다 ,
AC×1457과 D×1 조인 게 며, 이는
속 3 만족 는 경우이므 , D×1 ACD×1 체 고, 이를
AC×1457 자식 추구 다. 다 AC×1457
E×457, F×457, H×1 그리고 G×57 모 속 3
만족함 , 이들 ACE×457, ACF×457, ACH×1 그리고
ACG×57 체 후, AC×1457 자식 추가 다. 이후,
AC×1457 자식들끼리에 조인 연산 재귀 행 여
batch-D 알고리즘 종 산출 도출 다. Figure 7에 인
있는 같이, batch-D 알고리즘이 산출해내는 결과 값인
ui에 부합 는 결 리스트는, cultivation 알고리즘 산출 과
동일 {{A, C}, {A, C, D, H}, {A, C, E, F}, {A, C, E, F, G}}임
인 있다 ( 지 않 아이 집합들). 개 리스트 추출
개 격자 도출 등과 같 사 작업이 요구 는 cultivation
algorithm family 는 달리, batch-D 알고리즘
데이 베이스 부 직 결 들 추출함 , 동 인
데이 베이스에 보다 합 식이라 있다.
56
Figure 7. Batch-D 알고리즘 동작
57
나. 단계 추출 법
앞 에 소개 batch-D 알고리즘 , 개 리스트 인
개 격자 같 특 데이 구조 ( 인덱스 구조)에
독립 동작함 , 동 인 데이 베이스 부 장 연
규 추출 실시간 행 알고리즘이라
있다. 그러나, 동 데이 용량이 거 해 질 경우, 주어진 이진
논리식에 부합 는 모든 결 리스트들 일 추출 해
소요 는 시간 연 증가 며, 이는 이진 논리식 통해
추천 리스트를 얻고자 는 사용자에 답 시간 지연
미 다. 고 , 동 데이 베이스를 상 , 실 시간 인 답
요 는 경우, 보다 효 동작 는 알고리즘이 요구 다
있다. 본 에 는 이 같 요구사항 만족시키고자, 동
데이 베이스 상 장 연 규 추출 일 이 아닌,
단계 추출 는 알고리즘 안 다. 단 시간 내에
단계 소 장 연 규 들만 추출 여 사용자에게
달 고, 달 규 사용자가 택 규
추가 인 장 연 규 들 다 단계에 추출 여
달함 써, 실 시간 인 답 지원함과 동시에, 락 없는
장 연 규 추출 지원 고자 다.
동 데이 를 상 단계 인 장 연 규 추출
법 핵심 아래에 주어지는 3가지 속 이라
있다:
∙ 임 동 데이 베이스 D=(T, I, R)에 개
아이 집합×trascation 집합인 A×B 그리고 C×D에 여 (단,
|B|≥|D|이고, A×B C×D는 ‘독립’ ‘ 존’ 값
58
는 상태 변 를 가짐),
1. 만약 B=D이고 A × B 상태가 독립이면, A × B를
(A∪C)× B 업데이트 고, C × D 상태를 존
함.
2. 만약 B⊃D이고 A × B 상태가 독립이면, C × D를
A × B 자식에 추가 고, C × D 상태를 존
함.
3. 1과 2 모 해당이 없 경우,
l 만약 A×B 상태가 독립이면, C×(B∩D)를 A×B
자식에 추가함.
l 만약 C×D 상태가 독립이면, A×(B∩D)를 C×D
자식에 추가함.
에 시 3가지 속 들 , 동 데이 부 장
연 규 단계 추출 해 본 연구에 새롭게 안
것 써, 아이 집합과 transaction 집합 곱이, 독립
존이라는 값 가질 있는 추가 인 상태 변 를 갖는다. ,
상태 변 값에 라 각 다른 조인 연산 행 다. Charm
알고리즘에 용 법 과 차별 는 다른 , 개
아이 집합×trascation 집합인 A×B 그리고 C×D를 조인 경우,
B에 속 는 transaction들 가 D에 속 는 transaction들
보다 많거나 같아야 다는 이라 있다. 이는 주어진 이진
논리식 ui에 부합 는 복 없는 결 리스트를 단계 추출
시 요구 는 연산 양 소 것 써, pseudo
드를 소개 후, 그 효과를 를 통해 다. 아래에
59
알고리즘 genFirstGen , 앞 소개 3가지 속
고안 사용자 부 주어진 이진 논리식 ui에 부합 는
결 리스트 , 상 단계 결 추출 는 알고리즘이다.
데이 베이스 D, 이진 논리식 ui, 값 minsup과 minconf를
입 는 genFirstGen 알고리즘 살펴보면, 단 3 라인
구 아주 단 알고리즘이라는 것 직 인지
있다. 사실 genFirstGen 알고리즘 라인 1에
intersection 를 개 아이 원소 는
아이 집합 , ui를 만족 는 transaction들과 해당 아이
만족 는 transaction들 집합이 충분히 큰 아이 집합
걸러내는 작업만 행 는 알고리즘이라 있다. 이 작업
결과가 Seed라는 변 값들 당 며, 이진 논리식 태
ui에 는 첫 번째 단계 결 리스트는, Seed를 매개
변 , 함 genNextGen 출 통해 도출 다.
Algorithm 9. genFirstGen Algorithm
Input: D=(T, I, R), ui, minsup 그리고 minconf
Output: a set of A⊆I×B⊆T, FirstGen
1. Seed←{{t}×({t}R∩|uiR|) | t∈T ∧ |{t}R|∩|uiR|/|T|≥minsup}
2. FirstGen←genNextGen(Seed)
3. return FirstGen
Algorithm 10. Function genNextGen(Nodes)
1. Sort A×B∈Nodes in descending order based on |B|
60
2. for each A×B∈Nodes
3. A×B.state←ind
4. A×B.child←∅
5. end for
6. for each Nodes[i]=A×B∈Nodes where A×B.state=ind
7. for each Nodes[j]=C×D∈Nodes where i < j
8. inter←B∩D
9. if |inter|/|T|≥minsup and |inter|/|uiR|≥minconf then
10. if B=D and A×B.state=ind then
11. A←A∪C and C×D.state←dep
12. else if B⊃D and A×B.state=ind then
13. A×B.child←A×B.child∪{C×D} and C×D.state←dep
14. else then
15. if A×B.state=ind then
16. A×B.child←A×B.child∪{C×(B∩D)}
17. end if
18. if C×D.state=ind then
19. C×D.child←C×D.child∪{A×(B∩D)}
20. end if
21. end if
22. end if
23. end for
24. end for
25. NextGen←∅
26. for each A×B∈Nodes
27. if A×B.state=ind then
28. NextGen←NextGen∪{A×B}
29. end if
30. end for
return NextGen
61
함 genNextGen 매개 변 Nodes 원소들인 아이
집합×transaction (즉, A×B)집합들 transaction 집합들 개 를
내림차 행 다. , A × B 상태를
독립 (ind: independent) 그리고 A×B 자식 변 를 공집합
다. 다 , 이 료 Nodes 원소들 각각
여, 앞 3가지 속 에 라 조인 연산
행 고, 조인 연산 료 후, 상태 변 값이 독립인 원소들만
종 산출 변 nextGen에 당 여, 함 결과 값
다. 결국 nextGen 변 에는 아이 집합 A transaction
집합 B 들이 포함 어 있 며 (즉, A×B), 사용자에게는 A만
가시 여 첫 번째 단계 결 리스트 달 고, B를 용 여,
해당 규 지지도 신도를 공 다. 다 단계 결 리스트
도출 , nextGen 값 사용자가 택 특 아이 집합
A 부 시작 다. 만약 사용자가 특 아이 집합 A를 심 있는
결 택 경우, A×B 자식 집합 매개 변 여,
함 genNextGen 출 여 번째 단계 결 리스트를 추출,
이를 사용자에게 달 게 며, 함 genNextGen 이 n
단계 지 재귀 출 있다. 단, 사용자가 택 아이
집합에 부합 는 아이 집합과 transaction 집합 자식이
공집합일 경우, 단계 추출 함 재귀 출 종료 게 다.
Figure 8 통해 Table 1에 데이 베이스를 상 ,
ui가 A∨B , minsup=0.1, minconf=0.2 주어 경우,
genFirstGen 알고리즘 통해 첫 번째 단계에 결 리스트를
도출 는 과 도식 다 (검 별 모양과 원 해당
62
단계에 조인 연산 연산자들 나타내며, 검 씨체는
독립인 요소를, 회색 씨체는 존인 요소를 각각 지칭함). Figure
8 , intersection 연산 거 Seed 집합 부 시작 다.
그 후, 링이 료 요소들 transaction 집합 부분 크 를
내림 차 결과가 번째 스에 어
있 며, 이 , quick sorting과 같 효 인 법 용
있다. 모든 요소들 상태 값 독립 상태 어 있다 (
번째 스 모든 요소 씨체: 검 ). 조인 연산 시작 ,
A×14578과 C×14578 조합 시작 며, 이는 속 1
만족함 A×14578를 AC×14578 체 고, C×14578
상태를 존 변경 다 (회색 씨체). 다 AC×14578
B×2368 조합 살펴보면, 속 3 만족함과 동시에,
요소 모 독립임 , B×8 AC×14578 자식 , A×8
B×2368 자식 각각 추가 다. J×36 외 E~G, H
그리고 I를 아이 집합 부분 는 요소들과 AC×14578는
속 2를 만족함 , 이들 모 AC×14578 자식
추가 다. C×14578 존 상태임 건 뛰고, B×2368
조인 연산 행 다. Transaction 부분이 공집합인 E,
F는 지나 며, 공집합이 아닌 D×18과는 속 3 만족 며
B×2368이 독립임 D×8 B×2368 자식 추가 다.
마지막 , B×2368 속 2 계에 있는 J×36 I×8
B×2368 자식 추가 고, J×36 상태를 존 변경 면,
알고리즘 GenFirstGen 종료 게 다. 사용자에게는 개
결 집합 {A, C} 그리고 {B}가 첫 번째 단계 장 연
규 결 리스트 주어지게 다.
63
Figure 8. GenFirstGen 알고리즘 동작
64
사용자에게 주어진 개 결 집합{A, C} 그리고 {B} ,
{B}를 택 경우, B×2368 자식 집합인 {AC×8, D×8,
J×36, I×8} 매개 변 여, 함 genNextGen 출,
Figure 8 부분부 동일 게 용 어, 종 {J}
그리고 {A, C, D, I}가 번째 단계 장 연 규 결
리스트 주어진다. 결국, 사용자 부 주어진 이진 논리식 태
A∨B에 해당 는 결 , B를 포함 는 결 리스트는, {B},
{B, J} 그리고 {A, B, C, D, I}가 단계 장 연 규 추출
알고리즘 부 주어진다 있다. Figure 9는 Figure 8에
첫 번째 단계 추천 아이 집합 , {B}를 택
시, 번째 단계에 추천 는 아이 집합 생 과 도식
모습이다.
Figure 9. 함 genNextGen 동작
65
결 과
본 장에 는, 지 지 안 모델 알고리즘들
효용 에 잠재 평가 고자 다. 이를 해, 본 논
통해 소개 모델 알고리즘들 , FARM (FCA-based
Association Rule Miner) 그리고 GARM (Generic Association
Rule Miner)라 명명 2개 시스 구 다. FARM
데이 상 장 연 규 추출 지원 시스 이며,
GARM 동 데이 상 장 연 규 추출 지원 는
시스 이다. 구 시스 들 , 다양 연구들에
용 다 데이 집합 용 여, 존 법 과 본 논
통해 안 법 다각도 인 능 평가를 행 며,
생명 분야 논 들에 타 데이 를
공 는 pubmed (http://www.ncbi.nlm.nih.gov/pubmed)
스를 용 여, 인 생명 분야 인 BMC
bioinformatics (이 BMC) International Journal of Medical
Informatics (이 IJMI)에 출 모든 논 들 타 보를
용 여, 시스 들 생명 분야에 용도를 검증 다.
66
1. 시스 계 구
데이 상 장 연 규 추출 지원 시스 인 FARM
, Figure 10에 인 있는 같이, 데이 베이스를 생 ,
편집, 장 불러 있는 데이 베이스 에 능
지원 며, 식 개 분 핵심 데이 구조인 개 들 추출 고
개 격자를 구축 는 능 지원 다. , 이진 논리식 태
가 주어 시, 이에 부합 는 장 연 규 집합 개
집합 개 격자 부 추출 는 능 지원 다. 동 데이
상 장 연 규 추출 지원 시스 인 GARM 역시,
데이 베이스 에 능 지원 다. GARM 경우, 본 논
통해 안 법 이외에도, 소 지지도인 minsup만이 주어
경우, 주어진 소 지지도를 만족 는 모든 닫힌 번 아이
집합 추출 는 능 , 소 신도 minconf가 추가
주어 경우, 소 지지도 신도를 만족 는 닫힌 연 규
집합 추출 는 능 부가 지원 다. 뿐만 아니라, 이진
논리식 작 에 지 않 사용자를 해, 집합 태 를
있는 능 추가 지원 고, 집합 태
에 부합 는 결 리스트를 추출 달 다. 마지막 , 본
67
Figure 10. FARM과 GARM 시스 구 도 름도
68
Figure 11. FARM 구동 모습
69
Figure 12. GARM 구동 모습
70
논 에 안 , 동 데이 상 장 연 규 추출
일 그리고 단계 추출 지원 는 능이 포함 어 있다.
Figure 11 FARM 실 구동 모습이다. Figure 11에 인
있는 같이, FARM 크게 4가지 구 알
있다. 좌 상단 데이 베이스 에 써,
transaction과 아이 추가 삭 능 지원 고, 장
불러 능 행 다. 우 상단 , 주어진
데이 베이스 부 추출 개 들 이 태 가시 며,
좌 단 추출 개 들 사이 상- 계를
는 개 격자를 가시 다. 마지막 , FARM 우
단 에는, 본 논 에 안 는 plant 모델
데이 상 장 연 규 추출 알고리즘 집합인 cultivation
algorithm family를 용 있는 4개 탭 (Tab)들 구 어
있다. 번째 시스 인 GARM 구동 모습 Figure 12를 통해
살펴볼 있 며, GARM 역시 데이 베이스 에 이 상단에
존재 며, 이를 통해 데이 베이스 생 , 편집 장과
불러 능 행 있다. GARM 단 , (1) 닫힌
번 아이 집합 추출 탭, (2) 닫힌 (즉. 복 없는) 연
규 추출 탭, (3) 집합 에 부합 는 닫힌 연 규 추출
탭 그리고 (4) 동 데이 상 장 연 규 추출 탭,
71
4개 상 탭들 구 다. 이 , (3)과 (4) 탭 일 그리고
단계 추출 지원 는 탭들 양분 다. FARM GARM
모 Java 언어 구 었 며, 특히, 이진 논리식 태
법 처리 부분 JavaCC를 용 여 구 다.
2. 능 평가
가. 데이 집합
본 논 에 안 알고리즘들 능 해, sushi
데이 (http://www.kamishima.net/sushi/), mushroom
데이 (https://archive.ics.uci.edu/ml/datasets/Mushroom), chess
데이 (https://archive.ics.uci.edu/ml/datasets/Chess+(King-Rook+vs.+King-Pawn),
nursery 데이 (https://archive.ics.uci.edu/ml/datasets/Nursery)
그리고 soybean 데이 (https://archive.ics.uci.edu/ml/datasets/Soybean+(Large))를
용 다. Sushi 데이 는 5000명 지원자에게 100개
sushi에 자료 태 데이 이며, 지원자들 각 sushi 별
0-4 사이 를 당함 써 도를 다. 본
연구에 는 특 지원자가 특 sushi에 해 2, 3, 4
부가 경우, 해당 sushi를 다고 가 고, 0, 1 그리고
72
-1( 부가 지 않 ) 당 경우, 지 않는다고
가 여, sushi formal context를 작 다. Mushroom 데이
경우, 8124개 mushroom과 mushroom에 23가지
카 고리 구 데이 이다. 모든 카 고리 보를 카 고리
명-값 태 이진 속 변경 며, 변경 카 고리 명-
값 mushroom 간 계를 , mushroom에
formal context를 구축 다. Chess, nursery, soybean 데이
역시, mushroom과 사 과 통해 formal context
변 었다.
변 formal context 태 각 데이 에 해, 2장에
ui 생 규 에 라, 1,562가지 ui 집합 구 다.
1,562가지 ui 집합 구 에는, 각 데이 를 구 는 속 ,
개체들에 해 가장 번히 소 는 속 상 5개가
용 었 며, 실험에 요구 는 다른 매개 변 인 minsup과
minconf 집합 경우 0.001 – 0.010 범 내에 0.001 interval
어 구축 다. 단, 데이 복잡도가 가장 높 soybean
데이 에 minsup-minconf 집합 경우 0.01 – 0.10 범
내에 0.01 interval 어 구축 다. 본 논 에 용
데이 집합 http://bike.snu.ac.kr/farm에 인 다운 드가
가능 다.
73
나. 상 알고리즘
본 논 에 안 알고리즘과 능 상 써, charm,
direct, titanic 그리고 qtr-submergence 알고리즘 다.
Direct 알고리즘 이진 논리식 태 사용자 심사를
는 능 지원 며, 그에 합 번 아이 집합
공 다. 면 charm, titanic 그리고 qtr-submergence
알고리즘 경우, 이진 논리식 태가 아닌 집합 태 사용자
심사 minsup만 고 여 닫힌 번 아이 집합들
추출 다. qtr과 submergence 알고리즘 , 본 연구에 안 는
알고리즘들과 가장 사 태 동작 는 알고리즘 (개 격자
탐색)이라 있 나, 에 언 같이, 집합 태
사용자 심사만 고 다는 에 차이가 있다. 그러므 ,
charm, direct, titanic 그리고 qtr submergence 알고리즘
산출 에 여, 이진 논리식 태 주어진 ui에 부합 는 않는
부분 pruning 는 작업이 요구 며, 이는 각 알고리즘 통해
도출 아이 집합 지지도를 재계산 는 과 게 다.
면 본 논 에 안 알고리즘인 nbo, ibo-cultivation
알고리즘과 qtr-submergence 알고리즘 경우 개 격자 구축
다. 지 지 실험 데이 집합, 매개변 집합
그리고 알고리즘 집합 Figure 13 통해 리 여, 실험
74
Figure 13. 데이 상 장 연 규 추출 알고리즘 능 실험 구조
75
체 인 름 가시 다.
다. 실험 결과
Figure 14는 sushi 데이 에 해 6개 알고리즘이 소모
행 시간에 그래 를 나타낸다. qtr, submergence 그리고
nbo, ibo-cultivation 알고리즘 경우, 개 격자 구축
함 , 이 소모 시간 추가 여 행 시간 계산 다.
Figure 14에 인 있는 같이, titanic과 direct
알고리즘 , 타 알고리즘에 여 히 낮 능 보임 알
있다. Figure 15는 각 알고리즘 별 추출 연 규 를
나타낸다. Sushi 데이 집합 복잡도가 가장 낮 데이 이므 ,
어떠 알고리즘 능이 우월 지 직 단 어 다.
그러나, titanic과 direct 알고리즘 능 히 낮게
었 므 , 이후 실험에 는 다.
Figure 16과 17 chess 데이 에 실험 결과를 나타내는
그래 써, 본 연구에 안 알고리즘인 nbo, ibo-cultivation
알고리즘 능이 우 함 조 명 히 인 있다,
Chess 데이 에 여, qtr과 submergence 알고리즘 능이
히 나 것 인 어, 알고리즘 차후 실험에
76
었다. Figure 18-23는, 복잡도가 높 데이 집합에 속 는
mushroom, nursery 그리고 soybean 데이 에 여, 가장
강 경쟁 알고리즘인 charm과 본 논 에 안 알고리즘
간 규 추출 소요 시간 추출 연 규 에
그래 를 포함 다. 그래 들 통해, nbo, ibo-cultivation
알고리즘이 charm 알고리즘과 여, 복 연 규
추출 지 고, 보다 른 시간 내에 장 연 규
추출함 명 게 인 있다.
Figure 14. Sushi 데이 에 알고리즘 별 소요 시간
77
Figure 15. Sushi 데이 에 알고리즘 별 추출 연 규
Figure 16. Chess 데이 에 알고리즘 별 소요 시간
78
Figure 17. Chess 데이 에 알고리즘 별 추출 연 규
79
Figure 18. Nursery 데이 에 알고리즘 별 소요 시간
Figure 19. Nursery 데이 에 알고리즘 별 추출 연 규
80
Figure 20. Mushroom 데이 에 알고리즘 별 소요 시간
Figure 21. Mushroom 데이 에 알고리즘 별 추출 연 규
81
Figure 22. Soybean 데이 에 알고리즘 별 소요 시간
Figure 23. Soybean 데이 에 알고리즘 별 추출 연 규
82
라. 동 데이 상 능 평가
본 에 는, 본 논 통해 소개 알고리즘들 간 능
를, 동 데이 를 상 행 며, 그 결과를 보고 다,
동 데이 계는 앞 실험에 용 데이 집합 ,
8,124개 mushroom (transaction)과 119개 아이 들
구 mushroom 데이 를 다. 1,000개
transaction들 구 mushroom 데이 를 시작 , 1,000개씩
transaction들 차 늘 업데이트 여, 2,000, 3,000, ...,
8,124개 transaction들 구 동 mushroom 데이 를
구 고, 각 업데이트 시마다, 100개 이진 논리식들이 주어
시, 복 없는 연 규 추출 해 소요 는 시간
다. Figure 24는 동 mushroom 데이 에 ,
데이 상 장 연 규 알고리즘인 ibo-cultivation과 동
데이 상 일 장 연 규 추출 알고리즘인 batch-D
행 시간에 그래 이다. Figure 24 그래 에 인
있는 같이, 업데이트가 번 데이 를 상 는, 동
상 데이 를 고 여 계 batch-D 알고리즘 능이
뛰어남 명 히 인 있었다. , 동 데이 를 상
고안 장 연 규 일 추출 법 인 batch-D 단계
추출 알고리즘인 genFirstGen 알고리즘 실험과 동일 실험
83
Figure 24. 동 데이 상 ibo-cultivation과 batch-D
알고리즘 능
Figure 25. 동 데이 상 batch-D genFirstGen 알고리즘
능
84
경에 구동시킨 후, 알고리즘 결과를 사용자에게 달 는데
소요 는 시간 해 보았 며, 이를 Figure 25 그래 를
통해 가시 다. Figure 25를 통해 인 있는 같이,
단계 인 추출 알고리즘인 genFirstGen 알고리즘 , 데이
사이즈 증가에 보다 안 이고 짧 시간 내에 사용자에게 추천
리스트를 달 는 경향 보임 인 있었다.
85
3. 생명 분야에 용
본 에 는, 본 연구를 통해 안 장 연 규 추출
법 들에 생명 분야에 용 가능 타진 해, 실
생명 분야에 생 데이 를 상 미 보를
추출 있 보이고자 다. 이를 해, 생명 분야
연구 논 들이 출 는 인 곳인, BMC
Bioinformatics (이 BMC) International Journal of Medical
Informatics (이 IJMI)를 통해 출 모든 논 들에 타
데이 를 집 다 ( 집 시 : 2015 12월). 논 들에
타 데이 집 pubmed 스를 이용 며, 집 타
데이 보는 Table 9 같다.
각 들 부 집 타 데이 를 , transaction
논 자, 아이 주요어 사용 MeSH 용어 는
개 데이 베이스를 구축 며, BMC 부 도출
데이 베이스는 transaction ( 자) 가 20,691개, 아이
(MeSH 용어) 가 6,826개 구 었 며, IJMI 부
도출 데이 베이스는 transaction 가 5,516개 그리고 아이
가 1,714개 구 었다.
86
Table 9. 별 집 타 데이 보
간 논
Mesh 용어
주요어 포함 논 (%)
사용
Mesh 용어
논 당 사용
평균 Mesh 용어
BMC 2000-2015 7,904 6,826 (96.22%) 3,620 11.59
IJMI 1997-2015 1,927 1,828 (94.86%) 1,714 10.43
87
집 생명 분야 연구자들 (BMC IJMI에 논 출
자들)과 그들 연구 분야들 ( 주요어 태그 MeSH
용어들)에 데이 에 본 연구에 안 장 연
규 추출 법 용 잠재 검증 해, IT 분야에 사
를 취득 고, 료 보 사, 사 사 과
공 택 여 재 과 에 있는 본 논 작 자
같 연구실 소속 6명 실험자 집합 구 다. ,
실험 목 를 ‘ 장 연 규 추출 법 용 IT
능 자 생명 분야 연구 향 추천 가능 여부’
다. 본 실험에 참가 실험자 보 이들이 작
이진 논리식 집합 Table 10과 같다. 실험자들 본 연구를
통해 안 시스 나인 GARM 능과 용법 지
후, BMC 데이 베이스 IJMI 데이 베이스에 해
자신 연구 분야 심 사항 이진 논리식 며,
장 연 규 단계 추출 알고리즘인 genFirstGen
알고리즘 genNextGen 함 를 지원 는 GARM
사용 여, 자신에게 합 다고 생각 는 생명 분야 연구
분야를 도출 다. Table 11 실험자 별 GARM이 추천 연구
분야 리스트 추천 리스트 실험자가 택 심
분야들 나타낸다.
88
Table 10. 실험자 보 실험자가 작 이진 논리식
ID 별 부소속 재소속 과 이진 논리식
OO 남 컴퓨 보 과 사과 Data mining ∨ Algorithm
안OO 남 컴퓨 과 사과 Support Vector Machines ∧ Proteins
양OO 남 컴퓨 보 과 사과 Decision Support Systems-Clinical
OO 남 컴퓨 공 과 사과 Classification ∨
Information Storage and Retrieval ∨
Automatic Data Processing
이OO 남 컴퓨 공 과 통합과 Data mining ∧ Genomics
손OO 여 컴퓨 공 인 통합과 ( ) Animals ∨ Databases-Genetic
89
Table 11. 실험자 별 추천 리스트 심 리스트
실험자
추천 택 MeSH 용어 리스트
BMC IJMI
OO
Software, databases, use-computer interface,
database management systems, genetics, Internet, methods, Computational
Biology
Primary Heath Care, Algorithms, Hospitals-Veterans, Communicable
Diseases, Emergency Service, Infection, Decision Support Systems-Clinical,
diagnosis, etc.
안 OO Database-Protein. Software, Artificial Intelligence, chemistry, Amino Acid
Sequence, methods, Algorithms, Sequential Analysis-Protein
Suggestion list was not available.
양 OO Suggestion list was not available.
Medical Records Systems-Computerized, Hospital Information Systems,
Delivery of Health Care-Integrated, Cost control, Managed Care
Programs, economics, etc.
90
OO
Software, User-Computer Interface, Database Management Systems,
Software Design, Chromosome Mapping, methods, Computer Graphics,
genetics, Databases-Genetic
Use-Computer Interface, Software, Systems Integration, Medical Records
Systems-Computerized, methods, organization & administration, Medical
Record Linkage, Consumer Behavior, Medical Informatics Applications,
etc.
이 OO methods, metabolism. Computational Biology,
Gene Expression Profiling, genetics, Algorithms
Suggestion list was not available.
손 OO Software, Algorithms, Computer Simulation, methods, Sequence Analysis-
DNA, Phylogeny, Sequence Analysis-Protein, Sequence Alignment, genetics
Methods, Dogs
* Italic: GARM에 해 추천 리스트 실험자에 해 택 MeSH 용어
* Bold: 실험자가 견 생명 분야 심 연구 분야
91
고 찰
1. 실험 결과에 고찰
본 연구를 통해 실험 소요 시간 실험에 , cultivation
알고리즘들(nbo, ibo-cultivation)이 타 알고리즘에 해
우 능 보임 인 있었다. 이 같 실험 결과는
cultivation 알고리즘이 지원 는 ui 태 알고리즘 동작
특 에 인 다 있다. 존 알고리즘들 경우, 이진
논리식 태 를 고 지 않아, 알고리즘이 추출 산출 에
여, 추가 인 연산 행 여야 다. 즉, 지지도 신도
재계산과 pruning 차 이루어진 추가 연산 해 많
시간이 소모 었 것 분 다. charm, direct 그리고
titanic 알고리즘 경우, 사용자 부 ui가 주어질 마다, 높
시간 복잡도를 요 는 조합 (Join) 연산들 행 다. qtr,
submergence 그리고 ibo-cultivation 알고리즘 경우 역시,
많 시간 요 는 개 격자 구축 시간 요 지만, 이는
번만 행 는 작업 써, 일단 구축이 료 면, 주어진
다양 태 ui에 해, 개 격자 탐색만 통해 합 결
92
달 다. 이 , qtr-submergence cultivation 알고리즘
능 차이는, 앞 언 같이 추가 연산에 해 결 다
있다.
, 추출 연 규 역시 cultivation
알고리즘들이 타 상 알고리즘에 해 항상 같거나
연 규 들 추출함 인 있었다. direct 알고리즘
경우, 복 연 규 생 있는 알고리즘 단 이
존재함 명 다. 그러나, 닫힌 번 아이 집합 추출
해 고안 charm, titanic 그리고 qtr submergence
알고리즘이 보인 결과는, 이진 논리식 태 ui 인해 인했다
있다. 2장에 언 같이, 이진 논리식 태 ui는
formal context (즉 데이 베이스) 개 격자에 있어 , 낯
그리고 새 운 속 인지 다. 그러므 , 새 운 속 ui를
고 지 않 상태에 는 닫힌 아이 집합이었 속 집합이,
ui가 포함 경우 이상 닫힌 아이 집합이 아닐 있 며,
이 같 속 집합이 다 존재 면 , 이는 cultivation
알고리즘과 타 알고리즘 간 능에 차이를 불러 다
있다. 능 차이는, 앞 언 같이 추가 연산에 해
결 다 있다.
마지막 , 동 데이 베이스에 해 본 논 에 안
93
개 알고리즘 능 시, 동 데이 를 상 고안
batch-D 알고리즘 능이 데이 를 상 개 ibo-
cultivation 알고리즘에 해 우월함 인 있었다. 이는,
데이 베이스가 업데이트 마다 개 격자를 재구축해야 는
cultivation 알고리즘들 계에 것이라
있 며, 동 데이 를 상 보 추출 시 batch-D
알고리즘과 같이 고 데이 에 특 데이 구조 인덱스
구조를 용 지 않는 연 규 추출 법 이 요 다는
실험 증명했다 있다.
본 논 에 안 법 들 생명 분야에 용
가능 검증 실험에 는, 실험자들이 이진 논리식
작 시 사용 논리 연산자를 크게 2 그룹
실험자 집합 나 있었다. 첫 번째 그룹 AND 연산자를
사용 여 자신 도를 보다 명 히 그룹이며 (2명
실험자: 안OO, 이OO), 번째 그룹 OR 연산자를 사용 여
보다 포 도를 그룹이다 (3명 실험자:
OO, OO, 손OO)- 실험자 양OO 단일 MeSH 용어만
사용. 미 운 , AND 연산자를 용 첫 번째 그룹
실험자들 , 통 인 료 생명 분야를 공 고 있는
다른 연구자들과 업에 보다 인 태도를 가지고 있었다는
94
이다. 경 인 요소를 살펴보면 이들 향에 이해를
보다 높일 있었 며, 첫 번째 그룹에 속 실험자 안OO
경우, 연구실 상주 간이 약 5 이상 연구자 써, 본
연구실에 료 생명 분야를 연구 는 연구원과 도를
시간이 타 실험자보다 충분했 인 있었다. 첫
번째 그룹에 속 다른 실험자인 이OO 경우, 직계 가족
생명 분야에 사 를 근에 취득 사실이 있었 며, 이
가족 연구 주 가 Genomics 써, 실험자가 작 이진
논리식 요소 나 등장 인 있었다. 면,
OR 연산자를 사용 여 보다 포 인 태 자신 도를
그룹에 속 는 실험자 경우, 타 연구자 업
보다는, 자신만 연구 체계를 구축 는 것 보다
인 있었 며, 경 인 요소 역시, 연구실 상주 간이
짧거나, 도가 강 주변 인 료 생명 분야 종사자가
없어, 해당 경에 노출 회가 었 인 있었다.
, 실험자들에게 AND 연산자만 사용 (즉, 존과 같
집합 태) 여 자신 도를 고 자신에게 부합 는
추가 인 생명 분야 연구 주 견 요청 경우, OR
연산자를 사용 번째 실험자 그룹 자신 도 에
불만족감 들어 냈 며, AND, OR 그리고 NOT 연산자를
95
허용했 경우 , 특 연구 분야 도출에 어 움 겪
인 있었다.
본 실험 통해 인 있었 다른 미 운 , IT
분야 공자가 자신에게 합 것이라고 택 생명 분야를
찾아가는 과 에 견 있었다. 6명 실험자는, GARM이
단계 연구 분야를 추천해 시, 평균 4단계 추천
후 특 생명 분야에 심 보 며, 4단계 내에 IT
분야 용어 약 75% 다. 이는, IT 공자들 ,
3~4단계는 자신에게 IT 분야를 택 후, 그 이후에
등장 는 료 생명 분야 연구 주 에 심 보 다
있다. 다시 말해, 자신 연구 역 힘에 있어, 소
3~4개 분야가 자신에게 IT 분야 결합 생명
분야에 심 갖는 경향이 었다 해 다.
2. 연구
본 연구 가장 큰 , 본 논 에 안 알고리즘
집합 시스 들 생명 분야에 용 가능 에 검증
부분이라 단 다. 즉, 본 논 알고리즘 그리고
96
시스 인 요소들에 보다 집 여 작 논 이라 있다.
생명 분야 인 들인 BMC IJMI에 출
모든 논 들 집 분 여 실험 진행 나, 실험자
집합 가 6명 , 일 행 는 실험 실험자
에는 크게 미 지 못 는 것이 사실이다. , IT 공자에게
생명 연구 분야 추천 견이라는, 생명 분야에 는
상 가벼운 주 에 해 실험 함 써, 실 진단, 료
생명과 보다 심 분야들에 용도 검증이
요구 다 있다.
3. 결
주어진 데이 내에 존재 는 속 간 분 다양
분야에 효 용 있 며, 이는 곧 다양 분야에
데이 를 집 는 궁극 인 목 라 있다. 본 논 에 는,
데이 부 추출 있는 다양 나인 연 규 에
맞추어, 사용자가 처 상황 요구를 보다 명 게
있고, 이를 여 사용자에게 보다 합 해답
공 있는 이 시스 개 다. 즉, 연 규
97
에 증 를 연구 핵심 주 고, 증
지원 는 연 규 효 이며 다양 식
추출 는 알고리즘 집합에 첫 연구라 있다. 뿐만
아니라, 연 규 이 추출 는 데이 를 그리고 동
분 여, 분 데이 집합 부 장 연 규
추출 첫 시도라는 본 논 인 여도라
있다. 앞 언 같이, 보다 심 고 다양 생명
분야 데이 를 상 실험 진행 여, 미 보를
추출 는 것 향후 계획 삼 며 본 논 마 고자 다.
끝 , 본 논 핵심 구 요소 나인 데이 상
장 연 규 추출 법 , 논 자가 작 여 출
[32] 내용 포함함 명시 다.
98
참 고 헌
1. R. Agrawal, R. Srikant, Fast algorithms for mining
association rules in large databases, in: Proceedings of
the 20th International Conference on Very Large Data
Bases, VLDB ’94, Morgan Kaufmann Publishers Inc.,
San Francisco, CA, USA, 1994, pp. 487–499.
2. P. Bodík, A. Fox, M.I. Jordan, D. Patterson, A.
Banerjee, R. Jagannathan, T. Su, S. Tenginakai, B.
Turner, J. Ingalls, Advanced tools for operators at
amazon.com, in: Proceedings of the First International
Conference on Hot Topics in Autonomic Computing,
HotACI’06, USENIX Association, Berkeley, CA, USA,
2006
3. C. Schmitz, A. Hotho, R. Jschke, G. Stumme, Mining
association rules in folksonomies, in: V. Batagelj, H.-H.
Bock, A. Ferligoj, A. Zˇiberna (Eds.), Data Science and
Classification: Proc. of the 10th IFCS Conf., Studies in
Classification, Data Analysis, and Knowledge
Organization, Springer, Berlin, Heidelberg, 2006, pp.
99
261–270.
4. A.J.T. Lee, R.-W. Hong, W.-M. Ko, W.-K. Tsao, H.-
H. Lin, Mining spatial association rules in image
databases, Inf. Sci. 177 (2007) 1593–1608
5. P. Cellier, S. Ferré, O. Ridoux, M. Ducassé, A
parameterized algorithm to explore formal contexts
with a taxonomy, Int. J. Found. Comput. Sci. 19 (2)
(2008) 319–343.
6. V. Nebot, R. Berlanga, Finding association rules in
semantic web data, Knowl.-Based Syst. 25 (1) (2012)
51–62
7. J. Poelmans, P. Elzinga, S. Viaene, G. Dedene, Formal
concept analysis in knowledge discovery: a survey, in:
Proceedings of the 18th International Conference on
Conceptual Structures: From Information to
Intelligence, ICCS’10, Springer-Verlag, Berlin,
Heidelberg, 2010, pp. 139–153.
8. G. Stumme, R. Taouil, Y. Bastide, N. Pasquier, L.
Lakhal, Computing iceberg concept lattices with titanic,
Data Knowl. Eng. 42 (2002) 189–222
100
9. S.B. Tekaya, S.B. Yahia, Y. Slimani, Genall algorithm:
decorating galois lattice with minimal generators, in: R.
Belohlavek, V.Snasel (Eds.), Proceedings of the CLA
2005 International Workshop on Concept Lattices and
their Applications, CLA’05, 2005, pp. 166–178.
10. T. Hamrouni, S.B. Yahia, Y. Slimani, Prince: an
algorithm for generating rule bases without closure
computations, in: Proceedings of 7th International
Conference on Data Warehousing and Knowledge
Discovery (DAWAK 2005), LNCS 3589, Springer-
Verlag, 2005, pp. 346–355.
11. P. Valtchev, R. Missaoui, R. Godin, A framework for
incremental generation of closed itemsets, Discrete
Appl. Math. 156 (2008)
12. Y. Hai, Y. Du, H. Li, A new strategy of query expansion
using formal concept analysis., in: CIT, IEEE Computer
Society, 2006, pp. 34.
13. N. Spyratos, C. Meghini, Preference-based query
tuning through refinement/enlargement in a formal
context, in: FoIKS, 2006, pp. 278–293.
101
14. T. Quan, L. Ngo, S.C. Hui, An effective clustering-
based approach for conceptual association rules mining,
in: International Conference on Computing and
Communication Technologies, 2009, RIVF ’09, 2009,
pp. 1–7.
15. S.-J. Song, E.-H. Kim, H.-G. Kim, H. Kumar, Query-
based association rule mining supporting user
perspective, Computing 93 (1) (2011) 1–25
16. B. Ganter, R. Wille, Formal Concept Analysis:
Mathematical Foundations, Springer, Berlin/Heidelberg,
1999.
17. R. Srikant, Q. Vu, R. Agrawal, Mining association rules
with item constraints, in: Knowledge Discovery and
Data Mining, 1997, pp. 67–73.
18. B. Vo, T.-P. Hong, B. Le, A lattice-based approach for
mining most generalization association rules, Knowl.-
Based Syst. 45 (0) (2013) 20–30,
19. M.J. Zaki, C.-J. Hsiao, CHARM: an efficient algorithm
for closed itemset mining, in: SDM, SIAM, 2002.
20. T. Hamrouni, S.B. Yahia, E.M. Nguifo, Succinct system
102
of minimal generators: a thorough study, limitations and
new definitions, in: Proceedings of the 4th International
Conference on Concept Lattices and Their Applications,
CLA’06, Springer-Verlag, Berlin, Heidelberg, 2008, pp.
80–95.
21. T. Hamrouni, S.B. Yahia, E.M. Nguifo, Towards a finer
assessment of extraction contexts sparseness, in:
Proceedings of the 18th International Conference on
Database and Expert Systems Applications, IEEE
Computer Society, Washington, DC, USA, 2007, pp.
504–508,
22. S. Ferré, O. Ridoux, Introduction to logical information
systems, Inf. Process. Manage. 40 (2004) 383–419
23. S. Ferré, Camelis: a logical information system to
organise and browse a collection of documents, Int. J.
Gen. Syst. 38 (2009) 379–403
24. E.F. Krause, Maximizing the product of summands;
minimizing the sum of factors, Math. Mag. 69 (1996)
270–278
25. C. Carpineto, G. Romano, Concept Data Analysis:
103
Theory and Applications, John Wiley & Sons, 2004.
26. M. Farach-Colton, Y. Huang, A linear delay algorithm
for building concept lattices, in: Proceedings of the 19th
Annual Symposium on Combinatorial Pattern Matching,
CPM ’08, Springer-Verlag, Berlin, Heidelberg, 2008,
pp. 204–216.
27. D. Dudek, RMAIN: association rules maintenance
without reruns through data, Inf. Sci. 179 (2009) 4123–
4139.
28. J. Vreeken, M. Leeuwen, A. Siebes, Krimp: mining
itemsets that compress, Data Min. Knowl. Discov. 23
(2011) 169–214
29. R. Missaoui, L. Kwuida, Mining triadic association rules
from ternary relations, in: P. Valtchev, R. Jschke
(Eds.), Formal Concept Analysis, Vol. 6628 of Lecture
Notes in Computer Science, Springer Berlin Heidelberg,
2011, pp. 204–218.
30. S. A. Selmane, R. Missaoui, O. Boussaid, F. Bentayeb,
Mining triadic association rules, Computer Science &
Information Technology 3 (2013) 305–316
104
31. S. Ali, O. Boussaid, F. Bentayeb, P-triar:
Personalization based on triadic association rules, in: Y.
Manolopoulos, G. Trajcevski, M. KonPopovska (Eds.),
Advances in Databases and Information Systems, Vol.
8716 of Lecture Notes in Computer Science, Springer
International Publishing, 2014, pp. 234–247.
32. E.H. Kim, H.G. Kim, S.H. Hwang, S.I. Lee: FARM:
FCA-based Association Rule Miner, Knowledge-Based
Systems, Vol. 85, 2015, pp. 277-297
105
Abstract
Association rule mining is a well-researched and widely
applied data mining technique for discovering regularities
between items in a dataset. An association rule consists of an
antecedent and a consequent with two measures, named
support and confidence, which indicate how valuable the rule is.
For several decades, intensive studies have been made on
efficient association rule mining methods aiming to reduce
rule-extraction time and to prevent generation of redundant
rules. By incorporating negation and disjunction operators into
antecedents, our study offers richer expressive power in
describing user interests as antecedents, which in turn
translates into more valuable association rules whose
consequents match the expressed user interests. In addition,
databases from which association rules are extracted are
divided into two categories named static and dynamic
databases. This study consists of four components: 1) a set of
algorithms to extracted extended association rules from static
106
databases, 2) two algorithms for mining extended association
rules from dynamic databases, 3) two systems called FARM
and GARM that support the proposed algorithms in this paper,
and finally 4) experiments with various options and its results
with a detailed explanation based on theoretical and empirical
analysis.
Keywords: association rule, Boolean expression, static
database, dynamic database, mathematical model,
algorithm, system
Student number: 2011-30637