Tải bản đầy đủ (.pdf) (35 trang)

, luật kết hợp, khai phá luật kết hợp-Các kỹ thuật phân nhóm docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (415.69 KB, 35 trang )

Khai Phá Dữ Liệu
Nguyễn Nhật Quang

Viện Công nghệ Thông tin và Truyền thông
Trường Đại học Bách Khoa Hà Nội
Năm học 2010-2011
Nội dung môn học:
 Giới thiệu về Khai phá dữ liệu

 Giới thiệu v

công cụ WEK
A
 Tiền xử lý dữ liệu
 Phát hiện các luật kết hợp

Các kỹ thuật phân lớpvàdự đoán

Các

kỹ

thuật

phân

lớp



dự



đoán
 Các kỹ thuật phân nhóm

Phân nhóm dựatrênchiacắt(k
-
Means)

Phân

nhóm

dựa

trên

chia

cắt

(k
-
Means)
 Phân nhóm dựa trên tích tụ phân cấp (HAC)
2
Khai Phá Dữ Liệu
H

c có vs. khôn
g


g
iám sát
ọ gg
 Học có giám sát (Supervised learning)

Tậpdữ liệu (dataset) bao gồmcácvídụ mà mỗivídụ được
gắn

Tập

dữ

liệu

(dataset)

bao

gồm

các



dụ
,


mỗi




dụ

được

gắn

kèm với một nhãn lớp/giá trị đầu ra mong muốn
 Mục đích là học (xấp xỉ) một giả thiết (vd: một phân lớp, một hàm
mục tiêu ) phù hợpvớitậpdữ liệuhiệncó
mục

tiêu
,
)

phù

hợp

với

tập

dữ

liệu


hiện


 Giả thiết học được (learned hypothesis) sau đó sẽ được dùng để
phân lớp/dự đoán đối với các ví dụ mới
 Học không có giám sát (Unsupervised learning)
 Tập dữ liệu (dataset) bao gồm các ví dụ, mà mỗi ví dụ không có
thông tin về nhãn lớp/giá trị đầu ra mong muốn
thông

tin

về

nhãn

lớp/giá

trị

đầu

ra

mong

muốn
 Mục đích là tìm ra (học) các nhóm/các cấu trúc/các quan hệ tồn tại
trong tập dữ liệu hiện có
3

Khai Phá Dữ Liệu
Phân nhóm
 Phân nhóm/cụm (Clustering) là phương pháp học không
có giám sát đượcsử dụng phổ biếnnhất


giám

sát

được

sử

dụng

phổ

biến

nhất
 Tồn tại các phương pháp học không có giám sát khác, ví dụ: Lọc
cộng tác (Collaborative filtering), Khai phá luật kết hợp
(Association rule mining)
(Association

rule

mining)
,

 Học phân nhóm

Đầu vào: mộttậpdữ liệu không có nhãn (các ví dụ không có nhãn

Đầu

vào:

một

tập

dữ

liệu

không



nhãn

(các



dụ

không




nhãn

lớp/giá trị đầu ra mong muốn)
 Đầu ra: các nhóm (cụm) của các ví dụ
 Một nhóm (cluster) là một tập các ví dụ
 Tương tự với nhau (theo một ý nghĩa, đánh giá nào đó)

Khác biệtvớicácvídụ thuộc các nhóm khác

Khác

biệt

với

các



dụ

thuộc

các

nhóm

khác

4
Khai Phá Dữ Liệu
Phân nhóm – Ví d


Mộtvídụ về phân nhóm – trong đó, các ví dụ
đ

hi
thà h
3

đ
ượcp

nc
hi
a
thà
n
h
3
n

m
[Liu, 2006]
5
Khai Phá Dữ Liệu
Phân nhóm – Các thành
p

hần
p
 Hàm tính khoảng cách (độ tương tự, độ khác biệt)

 Gi

ithuật phân nhóm
• Phân nhóm dựatrênchiacắt (Partition-based clustering)

Phân
nhóm
dựa
trên
tích
tụ
phân
cấp
(Hierarchical clustering)

Phân
nhóm
dựa
trên
tích
tụ
phân
cấp
(Hierarchical

clustering)

• Bản đồ tự tổ thức (Self-organizing map – SOM)
• Các mô hình hỗnh
ợp
(
Mixture models
)
ợp
()
• …

Đánh
giá
chất
lượng
phân
nhóm
(Clustering quality)
Đánh
giá
chất
lượng
phân
nhóm
(Clustering

quality)
• Khoảng cách/sự khác biệt giữa các nhóm → Cần được cực đại hóa
• Khoảng cách/dự khác biệt bên trong một nhóm → Cần được cực

ti


u hóa
6
Khai Phá Dữ Liệu
Phân nhóm k-Means
 Là phương pháp phổ biến nhất trong các phương pháp
phân nhóm dựatrênchiacắt (partition
-
based clustering)
phân

nhóm

dựa

trên

chia

cắt

(partition
based

clustering)
 Tập dữ liệu D={x
1
,x
2
,…,x

r
}

là mộtvídụ (mộtvectơ trong một không gian
n
chiều)

x
i


một



dụ

(một

vectơ

trong

một

không

gian

n

chiều)
 Giải thuật k-means phân chia (partitions) tập dữ liệu
thành
k
nhóm
thành

k
nhóm
• Mỗi nhóm (cluster) có một điểm trung tâm, được gọi là centroid

k
(tổng số các nhóm thu được) là mộtgiátrị đượcxácđịnh trước
k
(tổng

số

các

nhóm

thu

được)



một


giá

trị

được

xác

định

trước

(vd: được chỉ định bởi người thiết kế hệ thống phân nhóm)
7
Khai Phá Dữ Liệu
k-Means – Các bước chính
Với một giá trị k được xác định trước
B ớ 1Ch ẫ hiê
k
íd (đ ilà
áht

B
ư

c
1
.
Ch
ọn ng


u n
hiê
n
k
v
í

d


ược gọ
i


c
á
c
h

t

nhân – seeds) để sử dụng làm các điểm trung tâm ban
đầu
(
initial centroids
)
của
k
nhóm

(
)
• Bước 2. Đối với mỗi ví dụ, gán nó vào nhóm (trong số k
nhóm) có điểm trung tâm (centroid) gần ví dụ đó nhất
• Bước 3. Đối với mỗi nhóm, tính toán lại điểm trung tâm
(centroid) của nó dựa trên tất cả các ví dụ thuộc vào
nhóm đó
nhóm

đó
• Bước 4. Dừng lại nếu điều kiện hội tụ (convergence
criterion
) đượcthỏa mãn; nếu không, quay lạiBước2
criterion
)

được

thỏa

mãn;

nếu

không,

quay

lại


Bước

2
8
Khai Phá Dữ Liệu
k-means(D, k)
D
: The dataset
D
:

The

dataset
k: The number of clusters
Randomly select
k
instances in
D
as the initial centroids
Randomly

select

k
instances

in

D

as

the

initial

centroids
while not CONVERGENCE
for each instance x∈D
Compute the distance from x to each centroid
Assign x to the cluster whose centroid is closest to x
df
en
d

f
or
for each cluster
Re-com
p
ute its centroid based on its own instances
p
end while
return {The k clusters}
9
Khai Phá Dữ Liệu
Điều ki

n h


i t

ệ ộ ụ
Quá trình phân nhóm kết thúc, nếu:

Không có (hoặc có không đáng kể)việc gán lạicácvídụ vào các

Không



(hoặc



không

đáng

kể)

việc

gán

lại

các




dụ

vào

các

nhóm khác, hoặc
• Không có (hoặc có không đáng kể) thay đổi về các điểm trung tâm
(tid)ủ áhó
h ặ
(
cen
t
ro
id
s
)
c

a c
á
c n

m,
h
o

c
• Giảm không đáng kể về tổng lỗi phân nhóm:

k
 C
i
: Nhóm thứ i


=∈
=
k
iC
i
dError
1
2
),(
x
i
mx
 m
i
: Điểm trung tâm (centroid) của nhóm
C
i
 d(x, m
i
): Khoảng cách (khác biệt) giữa ví dụ x và điểm trung
tâm m
i
10
Khai Phá Dữ Liệu

k-Means – Minh h

a
(
1
)
ọ ()
11
Khai Phá Dữ Liệu
[Liu, 2006]
k-Means – Minh h

a
(
2
)
ọ ()
12
Khai Phá Dữ Liệu
[Liu, 2006]
Điểm trung tâm, Hàm khoảng cách
 Xác định điểm trung tâm: Điểm trung bình (Mean centroid)
1

(
vectơ
)
m
i
là điểm trun

g
tâm
(
centroid
)
của nhóm
C
i


=
i
C
i
C
x
i
xm
1
( )
i
g( )
i
• |C
i
| kích thước của nhóm C
i
(tổng số ví dụ trong C
i
)

Hàm khoảng cách:
Euclidean distance

Hàm

khoảng

cách:

Euclidean

distance
()( )( )
22
22
2
11
),(
innii
mxmxmxd −++−+−=−=
ii
mxmx
• (vectơ) m
i
là điểm trung tâm (centroid) của nhóm C
i
• d(x,m
i
) là khoảng cách giữa ví dụ x và điểm trung tâm m
i

13
Khai Phá Dữ Liệu
k-Means – Các ưu điểm
 Đơn giản
Rấtdễ ài đặt

Rất

dễ
c
ài

đặt
• Rất dễ hiểu
Hiệ ả

Hiệ
u qu

• Độ phức tạp về thời gian ~ O(r.k.t)

r
:Tổng số các ví dụ (kích thướccủatậpdữ liệu)
r
:

Tổng

số


các



dụ

(kích

thước

của

tập

dữ

liệu)
 k: Tổng số nhóm thu được
 t: Tổng số bước lặp (của quá trình phân nhóm)
ế ả
ề ỏ ả
• N
ế
u c

2 giá trị
k

t
đ


u nh

, thì gi

i thuật
k
-means được xem
như là có độ phức tạp ở mức tuyến tính

k
means là giảithuật phân nhóm được dùng phổ biếnnhất

k
-
means



giải

thuật

phân

nhóm

được

dùng


phổ

biến

nhất
14
Khai Phá Dữ Liệu
k-Means – Các nhược điểm (1)
 Giá trị k (số nhóm thu được) phải được xác định trước
 Giải thuật k-means cần xác định cách tính điểm trung bình
(centroid) của một nhóm


Đố
i với các thuộc tính định danh (nominal attributes), giá trị trung
bình có thể được xác định là giá trị phổ biến nhất
Giảithuật
k
means nhạycảm(gặplỗi) với
các ví dụ

Giải

thuật

k
-
means


nhạy

cảm

(gặp

lỗi)

với

các



dụ

ngoại lai (outliers)
• Các ví d

n
g
o

i lai là các ví d


(
rất
)
khác bi


t với tất các ví d

khác
ụ g ạ ụ ( ) ệ ụ
• Các ví dụ ngoại lai có thể do lỗi trong quá trình thu thập/lưu dữ liệu
• Các ví dụ ngoại lai có các giá trị thuộc tính (rất) khác biệt với các
giá trị thuộc tính của các ví dụ khác
15
Khai Phá Dữ Liệu
k-Means – Các ví d

n
g
o

i lai
ụ g ạ
16
Khai Phá Dữ Liệu
[Liu, 2006]
Giải
q
u
y
ết vấn đề n
g
o

i lai

qy g ạ
• Giải pháp 1. Trong quá trình phân nhóm, cần loại bỏ một số
các ví d


q
uá khác bi

t với
(
cách xa
)
các điểm trun
g
tâm
ụ q ệ () g
(centroids) so với các ví dụ khác
─ Để chắc chắn (không loại nhầm), theo dõi các ví dụ ngoại lai
(outliers) qua một vài (thay vì chỉ 1) bướclặp phân nhóm trước
(outliers)

qua

một

vài

(thay




chỉ

1)

bước

lặp

phân

nhóm
,
trước

khi quyết định loại bỏ
• Giải
p

p
2. Th

c hi

n vi

c lấ
y
mẫu n
g

ẫu nhiên
(
a random
pp ự ệ ệ y g (
sampling)
─ Do quá trình lấy mẫu chỉ lựa chọn một tập con nhỏ của tập dữ
liệu ban đầu nên khả năng một ngoại lai (outlier) đượcchọnlà
liệu

ban

đầu
,
nên

khả

năng

một

ngoại

lai

(outlier)

được

chọn




rất nhỏ
─ Gán các ví dụ còn lại của tập dữ liệu vào các nhóm tùy theo đánh
giá về khoảng cách (hoặc độ tương tự)
giá

về

khoảng

cách

(hoặc

độ

tương

tự)
17
Khai Phá Dữ Liệu
k-Means – Các nhược điểm (2)
 Giải thuật k-means phụ thuộc vào việc chọn các điểm trung tâm ban
đầu (initial centroids)
1
st
centroid
2

nd
centroid
2
nd
centroid
18
Khai Phá Dữ Liệu
[Liu, 2006]
k-Means – Các hạt nhân ban đầu (1)
 Sử dụng các hạt nhân (seeds) khác nhau → Kết quả tốt hơn!

Thựchiệngiảithuật
k
-
means nhiềulần, mỗilầnbắt đầuvớimộttập (khác
Thực

hiện

giải

thuật

k
means

nhiều

lần,


mỗi

lần

bắt

đầu

với

một

tập

(khác

lần trước) các hạt nhân được chọn ngẫu nhiên
19
Khai Phá Dữ Liệu
[Liu, 2006]
k-Means – Các hạt nhân ban đầu (2)
 Lựa chọn ngẫu nhiên hạt nhân thứ 1 (m
1
)
 Lựa chọn hạt nhân thứ 2 (m
2
) càng xa càng tốt so với
hạt nhân thứ 1
 …
 Lựa chọn hạt nhân thứ i (m

i
) càng xa càng tốt so với hạt
nhân gầnnhất trong số {
m
m
m
}
nhân

gần

nhất

trong

số

{
m
1
,
m
2
, … ,
m
i
-
1
}


20
Khai Phá Dữ Liệu
k-Means – Các nhược điểm (3)
 Giải thuật k-means không phù hợp để phát hiện các
nhóm (cụm) không có dạng hình elip hoặchìnhcầu
nhóm

(cụm)

không



dạng

hình

elip

hoặc

hình

cầu
21
Khai Phá Dữ Liệu
[
Liu, 2006]
Phân nhóm tích tụ phân cấp (1)
 Sinh ra một chuỗi lồng nhau của các nhóm, được gọi là

dendro
g
ram
g
• Cũng được gọi là một phân loại (taxonomy)/phân cấp
(hierarchy)/cây (tree) của các ví dụ
22
Khai Phá Dữ Liệu
[Liu, 2006]
Phân nhóm tích tụ phân cấp (2)
 Phân nhóm dựa trên tích tụ phân cấp (Hierarchical
Agglomerative Clustering

HAC) sẽ xây dựng dendrogram
Agglomerative

Clustering

HAC)

sẽ

xây

dựng

dendrogram

từ mức đáy (cuối) dần lên (bottom-up)


GiảithuậtHAC

Giải

thuật

HAC
• Bắt đầu, mỗi ví dụ chính là một nhóm (là một nút trong dendrogram)
• H
ợp
nhất 2 nhóm có mức đ

tươn
g
t


(g
ần
)
nhau nhất
ợp ộ g ự (g )
 Cặp 2 nhóm có khoảng cách nhỏ nhất trong số các cặp nhóm
• Tiếp tục quá trình hợp nhất
• Giải thuật kết thúc khi tất cả các ví dụ được hợp nhất thành một
nhóm duy nhất (là nút gốc trong dendrogram)
23
Khai Phá Dữ Liệu
Giải thu


t HAC – Ví d



(Venn diagram)
24
Khai Phá Dữ Liệu
[Liu, 2006]
Khoản
g
cách
g
iữa 2 nhóm
gg
 Giải thuật HAC cần định nghĩa việc tính toán khoảng cách
giữa 2 nhóm
giữa

2

nhóm
• Trước khi hợp nhất, cần tính khoảng cách giữa mỗi cặp 2 nhóm có
thể
 Có nhiều phương pháp để đánh giá khoảng cách giữa 2
nhóm – đưa đến các biến thể khác nhau của giải thuật HAC
• Liên kết đơn (Single link)
• Liên kết hoàn toàn (Complete link)

Liên kết trung bình (Average link)


Liên

kết

trung

bình

(Average

link)
• Liên kết trung tâm (Centroid link)
• …
25
Khai Phá Dữ Liệu

×