khai phá dữ liệu -...

22
Khai Phá DLiu Nguyn Nht Quang [email protected] Vin Công nghThông tin và Truyn thông Trường Đại hc Bách Khoa Hà Ni Năm hc 2011-2012

Upload: others

Post on 24-Jan-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L6-Phan_nhom.pdf · Học có vs. khônggg có giám sát Học có giám sát (Supervised learning)

Khai Phá Dữ Liệu

Nguyễn Nhật Quang

[email protected]

Viện Công nghệ Thông tin và Truyền thôngTrường Đại học Bách Khoa Hà Nội

Năm học 2011-2012

Page 2: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L6-Phan_nhom.pdf · Học có vs. khônggg có giám sát Học có giám sát (Supervised learning)

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ụ WEKA

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ớp và dự đoánCác kỹ thuật phân lớp và dự đoán

Các kỹ thuật phân nhómPhân nhóm dựa trên chia cắt (k-Means)Phân nhóm dựa trên chia cắt (k-Means)

2Khai Phá Dữ Liệu

Page 3: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L6-Phan_nhom.pdf · Học có vs. khônggg có giám sát Học có giám sát (Supervised learning)

Học có vs. không có giám sátọ g gHọc có giám sát (Supervised learning)

Tập dữ liệu (dataset) bao gồm các ví dụ mà mỗi ví dụ được gắnTập dữ liệu (dataset) bao gồm các ví dụ, mà mỗi ví dụ được gắn kèm với một nhãn lớp/giá trị đầu ra mong muốnMụ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ợp với tập dữ liệu hiện cómục tiêu,...) phù hợp với tập dữ liệu hiện có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ốnthông tin về nhãn lớp/giá trị đầu ra mong muốnMụ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ó

3Khai Phá Dữ Liệu

Page 4: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L6-Phan_nhom.pdf · Học có vs. khônggg có giám sát Học có giám sát (Supervised learning)

Phân nhómPhân nhóm/cụm (Clustering) là phương pháp học không có giám sát được sử dụng phổ biến nhấtcó 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ột tập dữ 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 có nhãn (các ví dụ không có 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ệt với các ví dụ thuộc các nhóm khácKhác biệt với các ví dụ thuộc các nhóm khác

4Khai Phá Dữ Liệu

Page 5: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L6-Phan_nhom.pdf · Học có vs. khônggg có giám sát Học có giám sát (Supervised learning)

Phân nhóm – Ví dụụ

Một ví dụ về phân nhóm – trong đó, các ví dụđ hâ hi thà h 3 hóđược phân chia thành 3 nhóm

[Liu, 2006]

5Khai Phá Dữ Liệu

Page 6: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L6-Phan_nhom.pdf · Học có vs. khônggg có giám sát Học có giám sát (Supervised learning)

Phân nhóm – Các thành phầnpHàm tính khoảng cách (độ tương tự, độ khác biệt)

ảGiải thuật phân nhóm• Phân nhóm dựa trên chia cắ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ỗn hợ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

6Khai Phá Dữ Liệu

Page 7: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L6-Phan_nhom.pdf · Học có vs. khônggg có giám sát Học có giám sát (Supervised learning)

Phân nhóm k-MeansLà phương pháp phổ biến nhất trong các phương pháp phân nhóm dựa trên chia cắt (partition-based clustering)phân nhóm dựa trên chia cắt (partition based clustering)

Tập dữ liệu D={x1,x2,…,xr}• là một ví dụ (một vectơ trong một không gian n chiều)•xi là một ví 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ómthà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ột giá trị được xác định trướck (tổng số các nhóm thu được) là 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)

7Khai Phá Dữ Liệu

Page 8: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L6-Phan_nhom.pdf · Học có vs. khônggg có giám sát Học có giám sát (Supervised learning)

k-Means – Các bước chínhVới một giá trị k được xác định trước

B ớ 1 Ch ẫ hiê k í d (đ i là á h t• Bước 1. Chọn ngẫu nhiên k ví dụ (được gọi là 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ố knhó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) được thỏa mãn; nếu không, quay lại Bước 2criterion) được thỏa mãn; nếu không, quay lại Bước 2

8Khai Phá Dữ Liệu

Page 9: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L6-Phan_nhom.pdf · Học có vs. khônggg có giám sát Học có giám sát (Supervised learning)

k-means(D, k)D: The datasetD: The datasetk: The number of clusters

Randomly select k instances in D as the initial centroidsRandomly select k instances in D as the initial centroidswhile not CONVERGENCE

for each instance x∈DCompute the distance from x to each centroidAssign x to the cluster whose centroid is closest to x

d fend forfor each cluster

Re-compute its centroid based on its own instancespend whilereturn {The k clusters}

9Khai Phá Dữ Liệu

Page 10: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L6-Phan_nhom.pdf · Học có vs. khônggg có giám sát Học có giám sát (Supervised learning)

Đ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ại các ví dụ vào các• Không có (hoặc có không đáng kể) việc gán lại các ví 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 ( t id ) ủ á hó h ặ(centroids) của các nhóm, hoặc

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

Ci: Nhóm thứ i

∑ ∑= ∈

=k

i Ci

dError1

2),(x

imx

mi: Điểm trung tâm (centroid) của nhóm Ci

d(x, mi): Khoảng cách (khác biệt) giữa ví dụ x và điểm trung tâm mi

10Khai Phá Dữ Liệu

Page 11: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L6-Phan_nhom.pdf · Học có vs. khônggg có giám sát Học có giám sát (Supervised learning)

k-Means – Minh họa (1)ọ ( )

11Khai Phá Dữ Liệu

[Liu, 2006]

Page 12: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L6-Phan_nhom.pdf · Học có vs. khônggg có giám sát Học có giám sát (Supervised learning)

k-Means – Minh họa (2)ọ ( )

12Khai Phá Dữ Liệu

[Liu, 2006]

Page 13: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L6-Phan_nhom.pdf · Học có vs. khônggg có giám sát Học có giám sát (Supervised learning)

Đ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ơ) mi là điểm trung tâm (centroid) của nhóm Ci

∑∈

=iCiC x

i xm 1

( ) i g ( ) i

• |Ci| kích thước của nhóm Ci (tổng số ví dụ trong Ci)

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

( ) ( ) ( )2222

211 ...),( innii mxmxmxd −++−+−=−= ii mxmx

• (vectơ) mi là điểm trung tâm (centroid) của nhóm Ci

• d(x,mi) là khoảng cách giữa ví dụ x và điểm trung tâm mi

13Khai Phá Dữ Liệu

Page 14: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L6-Phan_nhom.pdf · Học có vs. khônggg có giám sát Học có giám sát (Supervised learning)

k-Means – Các ưu điểmĐơn giản

Rất dễ à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ước của tập dữ liệu)r: Tổng số các ví dụ (kích thước của tập dữ liệu)k: Tổng số nhóm thu đượct: Tổng số bước lặp (của quá trình phân nhóm)

ế ả ề ỏ ả• Nếu cả 2 giá trị k và 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ải thuật phân nhóm được dùng phổ biến nhấtk-means là giải thuật phân nhóm được dùng phổ biến nhất

14Khai Phá Dữ Liệu

Page 15: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L6-Phan_nhom.pdf · Học có vs. khônggg có giám sát Học có giám sát (Supervised learning)

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ải thuật k means nhạy cảm (gặp lỗ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 ví dụ ngoại lai (outliers)

• Các ví dụ ngoạ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

15Khai Phá Dữ Liệu

Page 16: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L6-Phan_nhom.pdf · Học có vs. khônggg có giám sát Học có giám sát (Supervised learning)

k-Means – Các ví dụ ngoại laiụ g ạ

16Khai Phá Dữ Liệu

[Liu, 2006]

Page 17: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L6-Phan_nhom.pdf · Học có vs. khônggg có giám sát Học có giám sát (Supervised learning)

Giải quyết vấn đề ngoại laiq y 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ụ quá khác biệt với (cách xa) các điểm trung 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ước lặp phân nhóm trước(outliers) qua một vài (thay vì chỉ 1) bước lặp phân nhóm, trước khi quyết định loại bỏ

• Giải pháp 2. Thực hiện việc lấy mẫu ngẫu nhiên (a random p p ự ệ ệ 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) được chọn làliệu ban đầu, nên khả năng một ngoại lai (outlier) được chọn là 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ự)

17Khai Phá Dữ Liệu

Page 18: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L6-Phan_nhom.pdf · Học có vs. khônggg có giám sát Học có giám sát (Supervised learning)

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)

1st centroid

2nd centroid2nd centroid

18Khai Phá Dữ Liệu

[Liu, 2006]

Page 19: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L6-Phan_nhom.pdf · Học có vs. khônggg có giám sát Học có giám sát (Supervised learning)

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ự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ácThự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

19Khai Phá Dữ Liệu

[Liu, 2006]

Page 20: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L6-Phan_nhom.pdf · Học có vs. khônggg có giám sát Học có giám sát (Supervised learning)

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 (m1)

Lựa chọn hạt nhân thứ 2 (m2) 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 (mi) càng xa càng tốt so với hạt nhân gần nhất trong số {m m m }nhân gần nhất trong số {m1, m2, … , mi-1}

...

20Khai Phá Dữ Liệu

Page 21: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L6-Phan_nhom.pdf · Học có vs. khônggg có giám sát Học có giám sát (Supervised learning)

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ặc hình cầunhóm (cụm) không có dạng hình elip hoặc hình cầu

21Khai Phá Dữ Liệu

[Liu, 2006]

Page 22: Khai Phá Dữ Liệu - ccs1.hnue.edu.vnccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L6-Phan_nhom.pdf · Học có vs. khônggg có giám sát Học có giám sát (Supervised learning)

Tài liệu tham khảoệ•B. Liu. Web Data Mining: Exploring Hyperlinks, Contents, and Usage Data. Springer, 2006.g p g

22Khai Phá Dữ Liệu