CHNG N TP Chng 4 Phn cm d

  • Slides: 41
Download presentation
CHƯƠNG #: ÔN TẬP

CHƯƠNG #: ÔN TẬP

Chương 4: Phân cụm dữ liệu 1. Tổng quan về phân cụm dữ liệu

Chương 4: Phân cụm dữ liệu 1. Tổng quan về phân cụm dữ liệu 2. Các thuật toán phân cụm dữ liệu 3. Thuật toán phân cụm Kmeans 4. Ví dụ minh họa 2

Tình huống 1 3

Tình huống 1 3

Tình huống 2 4

Tình huống 2 4

Tình huống 3 http: //kdd. ics. uci. edu/databases/Corel. Features. data. htm l 5

Tình huống 3 http: //kdd. ics. uci. edu/databases/Corel. Features. data. htm l 5

Tình huống tổng quát • Cho trước một tập dữ liệu với các thuộc

Tình huống tổng quát • Cho trước một tập dữ liệu với các thuộc tính khác nhau. • Hãy tìm các dữ liệu có đặc điểm tương tự nhau? 6

Phát biểu bài toán phân cụm dữ liệu ® Phân cụm dữ liệu là

Phát biểu bài toán phân cụm dữ liệu ® Phân cụm dữ liệu là quá trình học không giám sát trên một tập dữ liệu đầu vào nhằm phân chia tập dữ liệu ban đầu thành các tập dữ liệu con có tính chất tương tự nhau. • • Đầu vào: Tập dữ liệu D gồm n phần tử trong không gian m chiều. – D = {x 1, x 2, …, xn} – xi = (x 1 i, x 2 i, …, xmi) mô tả m thuộc tính của phần tử thứ i. Đầu ra: Phân các dữ liệu thuộc D thành các cụm sao cho: – Các phần tử trong cùng một cụm có tính chất tương tự nhau (gần nhau). – Các phần tử ở các cụm khác nhau có tính chất khác nhau (xa nhau). 7

Các phương pháp phân cụm dữ liệu ® Phân cụm phân vùng (phân cụm

Các phương pháp phân cụm dữ liệu ® Phân cụm phân vùng (phân cụm phẳng) • Nhằm phân một tập dữ liệu có n phần tử cho trước thành k nhóm dữ liệu sao cho: mỗi phần tử dữ liệu chỉ thuộc về một nhóm dữ liệu và mỗi nhóm dữ liệu có tối thiểu ít nhất một phần tử dữ liệu. • Tiếp cận: từ dưới lên (gộp dần), từ trên xuống (chia dần) • Độ đo tương tự / khoảng cách • K-mean, k-mediod, CLARANS, … 8

Các phương pháp phân cụm dữ liệu ® Phân cụm phân cấp • Nhằm

Các phương pháp phân cụm dữ liệu ® Phân cụm phân cấp • Nhằm phân một tập dữ liệu có n phần tử cho trước thành một cấu trúc có một thứ tự phân cấp nhất định (thường có dạng hình cây) • Độ đo tương tự / khoảng cách • HAC, CHAMELEON, BIRRCH, CURE… 9

Các phương pháp phân cụm dữ liệu ® Phân cụm dựa theo mật độ

Các phương pháp phân cụm dữ liệu ® Phân cụm dựa theo mật độ • Hàm mật độ: Xác định các phần tử chính tại nơi có mật độ cao. • Hàm liên kết: Xác định cụm là tập hợp các đối tượng lân cận của một đối tượng dữ liệu theo một ngưỡng nào đó. • Có thể phát hiện ra các cụm dữ liệu với hình thù bất kỳ. • Khắc phục được các phân tử ngoại lai hoặc giá trị nhiễu rất tốt, nhưng việc xác định các tham số mật độ rất khó khăn. • DBSCAN, OPTICS… 10

Các phương pháp phân cụm dữ liệu ® Phân cụm dựa theo lưới •

Các phương pháp phân cụm dữ liệu ® Phân cụm dựa theo lưới • Chủ yếu áp dụng cho lớp dữ liệu không gian cùng với các quan hệ, các thuộc tính, các hoạt động của chúng. • Lượng hoá tập dữ liệu thành các ô (cell), các cell này tạo thành cấu trúc dữ liệu lưới, các thao tác phân cụm chỉ làm việc với các đối tượng trong từng cell này. 11

Các phương pháp phân cụm dữ liệu ® Phân cụm dựa theo mô hình

Các phương pháp phân cụm dữ liệu ® Phân cụm dựa theo mô hình • Giả thiết: Tồn tại một số mô hình dữ liệu cho phân cụm. • Phương pháp phân cụm dựa trên mô hình cố gắng khớp giữa dữ liệu với mô hình toán học dựa trên giả định dữ liệu được tạo ra bằng hỗn hợp phân phối xác suất cơ bản nhằm xác định mô hình tốt nhất phù hợp với dữ liệu. • MCLUST, Mạng Nơron 12

Các phương pháp phân cụm dữ liệu ® Phân cụm mờ • Giả thiết:

Các phương pháp phân cụm dữ liệu ® Phân cụm mờ • Giả thiết: không có phân cụm “cứng” cho dữ liệu và đối tượng có thể thuộc một số cụm. • Sử dụng hàm mờ từ các đối tượng tới các cụm • FCM (Fuzzy CMEANS), … 13

Các dạng dữ liệu phân cụm ® Phân loại theo kích thước miền: •

Các dạng dữ liệu phân cụm ® Phân loại theo kích thước miền: • Thuộc tính liên tục: Miền giá trị là vô hạn không đếm được, nghĩa là giữa hai giá trị tồn tại vô số giá trị khác. Ví dụ thu nhập. • Thuộc tính rời rạc: Miền giá trị là một tập hợp hữu hạn hoặc đếm được. Ví dụ quê quán • Thuộc tính nhị phân: Là trường hợp đặc biệt của thuộc tính rời rạc mà miền giá trị chỉ có hai phần tử như: Yes/No, 0/1, True/False… 14

Các dạng dữ liệu phân cụm ® Phân loại theo hệ đo: • Thuộc

Các dạng dữ liệu phân cụm ® Phân loại theo hệ đo: • Thuộc tính định danh (Nominal Scale): là dạng thuộc tính khái quát hoá của thuộc tính nhị phân, trong đó miền giá trị là rời rạc không phân biệt thứ tự và có nhiều hơn hai phần tử - nghĩa là nếu x và y là hai đối tượng thuộc tính thì chỉ có thể xác định là x ≠ y hoặc x = y. Ví dụ thuộc tính nơi sinh. • Thuộc tính có thứ tự (Ordinal Scale): là thuộc tính định danh có xét tới thứ tự hơn kém, nhưng không phải là giá trị định lượng. Nếu x và y là hai thuộc tính thứ tự thì ta có thể xác định là x ≠ y hoặc x = y hoặc x > y hoặc x <y. Ví dụ xếp loại học tập. 15

Các dạng dữ liệu phân cụm ® Phân loại theo hệ đo: • Thuộc

Các dạng dữ liệu phân cụm ® Phân loại theo hệ đo: • Thuộc tính khoảng (Interval Scale): Chúng ta có thể xác định một thuộc tính đứng trước hoặc đứng sau thuộc tính khác với một khoảng là bao nhiêu. Nếu xi > yi thì ta nói x cách y một khoảng |xi- yi| tương ứng với thuộc tính thứ i. • Thuộc tính tỉ lệ (Ratio Scale): là thuộc tính khoảng nhưng được xác định một cách tương đối so với điểm mốc, thí dụ như thuộc tính chiều cao hoặc cân nặng lấy điểm 0 làm mốc. Trong các thuộc tính dữ liệu trình bày ở trên, thuộc tính định danh và thuộc tính có thứ tự gọi chung là thuộc tính hạng mục (Categorical), thuộc tính khoảng và thuộc tính tỉ lệ được gọi là thuộc tính số (Numeric). 16

Các độ đo dữ liệu ® Để phân cụm, ta phải xác định “khoảng

Các độ đo dữ liệu ® Để phân cụm, ta phải xác định “khoảng cách” giữa các đối tượng, tức là phép đo độ tương tự (Similar) hoặc là độ phi tương tự (Dissimilar) giữa các đối tượng dữ liệu. ® Độ đo cơ bản là độ đo metric, xác định “khoảng cách” giữa từng cặp phần tử theo khoảng cách hình học. ® d(x, y) là độ đo metric xác định khoảng cách giữa hai phần tử x, y nếu: • d(x, y) > 0 nếu x ≠ y • d(x, y) = 0 nếu x =y • d(x, y) = d(y, x) với mọi x, y • d(x, y) ≤ d(x, z)+d(z, y) 17

Công thức tính khoảng cách – Dữ liệu số ® Khoảng cách Minskowski: ®

Công thức tính khoảng cách – Dữ liệu số ® Khoảng cách Minskowski: ® Khoảng cách Euclide: trường hợp đặc biệt của khoảng cách Minskowski trong trường hợp q=2 ® Khoảng cách Manhattan: trường hợp đặc biệt của khoảng cách Minskowski trong trường hợp q=1 18

Công thức tính khoảng cách – Dữ liệu nhị phân • 19

Công thức tính khoảng cách – Dữ liệu nhị phân • 19

Thuật toán phân cụm Kmeans ® Là thuật toán phân cụm phẳng trong đó

Thuật toán phân cụm Kmeans ® Là thuật toán phân cụm phẳng trong đó tâm của mỗi cụm là giá trị trung bình của tất cả các phần tử trong cụm. ® Input: • Tập dữ liệu D = {x 1, x 2, …, xn} gồm n phần tử trong không gian m chiều. • Số cụm k. ® Output: • k cụm dữ liệu D 1, D 2, …, Dk thỏa mãn điều kiện: – Các phần tử trong cùng một cụm có tính chất tương tự nhau. – Các phần tử trong các cụm khác nhau có tính chất khác nhau. 20

Thuật toán phân cụm Kmeans • 21

Thuật toán phân cụm Kmeans • 21

Thuật toán phân cụm Kmeans ® Kết quả cuối cùng của K-means phụ thuộc

Thuật toán phân cụm Kmeans ® Kết quả cuối cùng của K-means phụ thuộc rất nhiều vào cách lựa chọn k ban đầu làm trọng tâm của k cụm. ® Ta có thể tiến hành thí nghiệm một số lần nhất định với giá trị khởi tạo khác nhau và chọn kết quả của lần chạy tối ưu nhất. ® Trong thực tế, nếu dữ liệu quá lớn hoặc giải thuật không hội tụ (Thuật toán không dừng) có thể dẫn đến thời gian chạy lớn. Do đó, ta có thể sử dụng thêm các điều kiện dừng như dưới đây: • Khi số lượng vòng lặp vượt quá một ngưỡng nào đó. Tuy nhiên, điều kiện dừng này có thể làm cho quá trình phân cụm không được tốt do có thể số vòng chạy chưa đạt mức cần thiết • Khi giá trị J nhỏ hơn một ngưỡng nào đó (người lập trình thiết lập ngưỡng chấp nhận được của thuật toán) • Khi hiệu hai giá trị liên tiếp của J nhỏ hơn một ngưỡng nào đó. Trên thực tế, 3 điều kiện dừng trên có thể được dùng kết hợp với nhau. 22

Ví dụ minh họa phân cụm Kmeans ® Giả sử có 4 loại thuốc

Ví dụ minh họa phân cụm Kmeans ® Giả sử có 4 loại thuốc A, B, C, D • Mỗi loại thuốc được biểu diễn bởi 2 đặc trưng X và Y. • Hãy phân nhóm các thuốc đã cho vào hai cụm (k=2) dựa vào các đặc trưng của chúng. Thuốc A B C Đặc trưng X 1 2 4 Đặc trưng Y 1 1 3 D 5 4 23

Ví dụ minh họa phân cụm Kmeans • Thuốc X Y A 1 1

Ví dụ minh họa phân cụm Kmeans • Thuốc X Y A 1 1 B 2 1 C 4 3 D 5 4 24

Ví dụ minh họa phân cụm Kmeans • Thuốc X Y A 1 1

Ví dụ minh họa phân cụm Kmeans • Thuốc X Y A 1 1 B 2 1 C 4 3 D 5 4 25

Ví dụ minh họa phân cụm Kmeans • Thuốc X Y A 1 1

Ví dụ minh họa phân cụm Kmeans • Thuốc X Y A 1 1 B 2 1 C 4 3 D 5 4 26

Xử lý dữ liệu định danh trong phân cụm Kmeans age <=30 31. .

Xử lý dữ liệu định danh trong phân cụm Kmeans age <=30 31. . 40 >40 >40 31. . 40 <=30 >40 <=30 31. . 40 income high medium low low medium high student no no yes yes yes no yes credit_rating fair excellent fair fair excellent fair buys_computer no no yes yes yes >40 medium no excellent no Khoảng cách giữa các đối tượng được tính như thế nào? 27

Xử lý dữ liệu định danh trong phân cụm Kmeans ® Cách giải quyết:

Xử lý dữ liệu định danh trong phân cụm Kmeans ® Cách giải quyết: Biến đổi dữ liệu định danh về dữ liệu nhị phân. • Xét thuộc tính A có giá trị được biểu diễn bằng m giá trị rời rạc p 1, p 2, …, pm • Biến đổi thuộc tính A thành m thuộc tính nhị phân A 1, A 2, …, Am – Ai nhận giá trị 1 tại dòng tương ứng với giá trị pi, – Nhận giá trị 0 trong trường hợp ngược lại. 28

Xử lý dữ liệu định danh trong phân cụm Kmeans ® Ví dụ xét

Xử lý dữ liệu định danh trong phân cụm Kmeans ® Ví dụ xét thuộc tính age được biểu diễn bằng 3 giá trị: <=30, 31. . 40, >40. age 30 age 31_40 age 40 <=30 1 0 0 0 1 0 >40 0 0 1 0 <=30 1 0 0 >40 0 0 1 <=30 1 0 0 31. . 40 0 1 0 >40 0 0 1 • Biến đổi age thành 3 thuộc <=30 31. . 40 tính nhị phân: age 30, age 31_40, age 40 >40 31. . 40 29

Xử lý dữ liệu định danh trong phân cụm Kmeans age 30 age 31_40

Xử lý dữ liệu định danh trong phân cụm Kmeans age 30 age 31_40 age 40 income_h income_m income_l student credit_rating buys_computer 1 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 0 0 0 1 0 0 0 1 0 1 30

Xử lý cơ sở dữ liệu giao dịch trong phân cụm Kmeans ® Xét

Xử lý cơ sở dữ liệu giao dịch trong phân cụm Kmeans ® Xét cơ sở dữ liệu giao dịch gồm: • 4 giao dịch: 1, 2, 3, 4 • Mỗi giao dịch có một số phần tử (items) 31

Xử lý cơ sở dữ liệu giao dịch trong phân cụm Kmeans ® Cách

Xử lý cơ sở dữ liệu giao dịch trong phân cụm Kmeans ® Cách giải quyết: Biến đổi cơ sở dữ liệu giao dịch về dữ liệu nhị phân. • m phần tử i 1, i 2, …, im trong cơ sở dữ liệu giao dịch được biến đổi thành m thuộc tính nhị phân tương ứng A 1, A 2, …, Am • Thuộc tính Ai nhận giá trị: – 1 tại dòng xuất hiện phần tử ii trong giao dịch tương ứng. – 0 trong trường hợp ngược lại. 32

Xử lý cơ sở dữ liệu giao dịch trong phân cụm Kmeans 33

Xử lý cơ sở dữ liệu giao dịch trong phân cụm Kmeans 33

Xử lý dữ liệu văn bản trong phân cụm Kmeans ® Xét hai văn

Xử lý dữ liệu văn bản trong phân cụm Kmeans ® Xét hai văn bản sau: • VB 1: Life is not only life! • VB 2: To life is to “fight” ® Bài toán đặt ra: • Tính khoảng cách giữa hai văn bản này? 34

Xử lý dữ liệu văn bản trong phân cụm Kmeans ® Cách giải quyết:

Xử lý dữ liệu văn bản trong phân cụm Kmeans ® Cách giải quyết: • Biểu diễn mỗi văn bản dưới dạng một vecto V(v 1, v 2, …, vn) trên cùng một tập n từ khóa. • vi là số lần xuất hiện từ khóa thứ i trong tập các văn bản. Phải xác định được tất cả các từ khóa xuất hiện trong tổng các văn bản. 35

Xử lý dữ liệu văn bản trong phân cụm Kmeans ® Các bước thực

Xử lý dữ liệu văn bản trong phân cụm Kmeans ® Các bước thực hiện: • B 1: Tiền xử lý văn bản – Loại bỏ những từ, những ký hiệu không ảnh hưởng tới nội dung văn bản như: dấu chấm câu, dấu ngoặc, số, chữ hoa, chữ thường… • B 2: Tách từ – Tách nội dung mỗi văn bản thành các từ đơn, riêng biệt (đối với tiếng Anh tách bằng dấu cách, đối với tiếng Việt tách theo từ đơn từ ghép). 36

Xử lý dữ liệu văn bản trong phân cụm Kmeans • B 3: Loại

Xử lý dữ liệu văn bản trong phân cụm Kmeans • B 3: Loại bỏ từ dừng – Từ dừng là những từ xuất hiện nhiều trong văn bản nhưng không có ý nghĩa về mặt xác định nội dung của văn bản. – Nhằm giảm kích thước dữ liệu biểu diễn trong văn bản. – Một số từ dừng trong tiếng Anh: mạo từ (a, the…), giới từ (in, on…), liên từ (but…), động từ phổ biến (to, be…)…. 37

Xử lý dữ liệu văn bản trong phân cụm Kmeans • B 4: Xác

Xử lý dữ liệu văn bản trong phân cụm Kmeans • B 4: Xác định không gian vectơ – Số chiều của không gian: n=3 – Vector T = {t 1, t 2, …, tn} = {life, only, fight} • B 5: Biểu diễn các văn bản theo không gian vectơ – Mô hình Boolean: Văn bản được biểu diễn dưới dạng vector V(v 1, v 2, …, vn) trong đó: vi = 1 nếu văn bản có xuất hiện từ khóa ti, bằng 0 trong trường hợp ngược lại. Vector_VB 1 = (1, 1, 0) Vector_VB 2 = (1, 0, 1) 38

Xử lý dữ liệu văn bản trong phân cụm Kmeans • B 5: Biểu

Xử lý dữ liệu văn bản trong phân cụm Kmeans • B 5: Biểu diễn các văn bản theo không gian vectơ – Mô hình tần suất từ khóa (còn gọi là mô hình TF – Term Frequency): Văn bản được biểu diễn dưới dạng vector V(v 1, v 2, …, vn) trong đó: vi = số lần xuất hiện từ khóa ti trong văn bản. Vector. TF_VB 1 = (2, 1, 0) Vector. TF_VB 2 = (1, 0, 1) – Phương pháp này coi số lần xuất hiện một từ trong văn bản tỷ lệ thuận với vai trò của nó đối với văn bản. Suy luận này không phải lúc nào cũng đúng, vì có nhiều từ xuất hiện nhiều trong văn bản này nhưng lại không xuất hiện hoặc xuất hiện ít trong văn bản khác. 39

Xử lý dữ liệu văn bản trong phân cụm Kmeans • B 5: Biểu

Xử lý dữ liệu văn bản trong phân cụm Kmeans • B 5: Biểu diễn các văn bản theo không gian vectơ – Mô hình nghịch đảo tần số văn bản (còn gọi là mô hình IDF – Inverse Document Frequency): Văn bản được biểu diễn dưới dạng vector V(v 1, v 2, …, vn) trong đó: vi được tính theo công thức sau: – Trong đó m là số lượng văn bản và hi là số lượng văn bản mà từ khóa ti xuất hiện. – Phương pháp này xác định độ quan trọng của từ khóa ti trong văn bản thứ j. Nếu ti xuất hiện trong ít văn bản thì độ hiếm của nó so với toàn bộ cơ sở dữ liệu cao. Tức là nếu nó xuất hiện trong văn bản thứ j thì nó là điểm quan trọng để phân biệt văn bản thứ j này so với các văn bản khác. 40

Minh họa phân cụm Kmeans trong WEKA 41

Minh họa phân cụm Kmeans trong WEKA 41