27
KHAI PHÁ DỮ LIỆU ( DATA MINING) THUẬT TOÁN PHÂN CỤM DỮ LIỆU PHÂN CẤP BIRCH Giảng viên hướng dẫn : Cô Đặng Thị Thu Hiền - Bộ môn MMT & HTTT Nhóm 4 : Mai Thị Hồng MSSV 1105016 : Lương Bá Hợp MSSV 1105068 : Lê Thị Nhung MSSV 1108952 Lớp : Hệ Thống Thông Tin K52 1

Thuật toán Brich , Khai phá dữ liệu

Embed Size (px)

DESCRIPTION

Khai phá dữ liệu , thuật toán Brich

Citation preview

Page 1: Thuật toán Brich , Khai phá dữ liệu

KHAI PHÁ DỮ LIỆU ( DATA MINING)

THUẬT TOÁN PHÂN CỤM DỮ LIỆU PHÂN CẤP BIRCH

Giảng viên hướng dẫn : Cô Đặng Thị Thu Hiền - Bộ môn MMT & HTTT 

Nhóm 4 : Mai Thị Hồng MSSV 1105016

: Lương Bá Hợp MSSV 1105068

: Lê Thị Nhung MSSV 1108952

Lớp : Hệ Thống Thông Tin K52

1

Page 2: Thuật toán Brich , Khai phá dữ liệu

I. Phân cụm phân cấp là gì ?  Phân cụm phân cấp sắp xếp một tập dữ liệu đã cho thành một cấu trúc có dạng hình cây, cây phân cấp này được xây dựng theo kỹ  thuật đệ quy. Cây phân cụm có thể được xây dựng theo  hai phương pháp tổng quát: phương pháp  “trên xuống” (Top down) và phương pháp “dưới lên” (Bottom up).

2

Page 3: Thuật toán Brich , Khai phá dữ liệu

Các chiến lược phân cụm phân cấp

3

Page 4: Thuật toán Brich , Khai phá dữ liệu

BIRCH: Balanced Iterative Reducing Clustering Using Hierarchies

Được đề xuất năm 1996 bởi Tian Zhang , amakrishnan và Livny

BIRCH là thuật toán phân cụm phân cấp sử dụng chiến lược TOP DOWN

4

II. Giới thiệu thuật toán BIRCH

Page 5: Thuật toán Brich , Khai phá dữ liệu

Phương pháp Top Down

Phương pháp Top Down: Bắt đầu với trạng thái là tất  cả các đối tượng được xếp trong cùng  một cụm.

Mỗi  vòng lặp thành công, một cụm được tách thành các cụm nhỏ hơn theo giá trị của một phép đo độ  tương tự  nào đó cho đến khi mỗi đối tượng là một cụm hoặc cho đến khi điều kiện dừng thoả mãn.

 Cách tiếp cận này sử dụng chiến lược chia để trị trong quá trình phân cụm

5

Page 6: Thuật toán Brich , Khai phá dữ liệu

Ý tưởng của thuật toán  Ý tưởng của thuật toán là không cần lưu toàn bộ các 

đối tượng dữ liệu của các cụm trong bộ nhớ mà chỉ lưu các đại lượng thống kê .

Đối với mỗi cụm dữ liệu, BIRCH chỉ lưu một bộ ba

(n, LS, SS), với n là số đối tượng trong cụm, LS là tổng các giá trị thuộc tính của các đối tượng trong cụm và SS là  tổng bình phương các giá trị thuộc tính của  các đối 

tượng trong cụm . Các bộ ba này được gọi là các đặc trưng của cụm

 CF=(n, LS, SS) (Cluster Features  CF) và được lưu giữ  trong một cây được gọi là cây CF

6

Page 7: Thuật toán Brich , Khai phá dữ liệu

Cây CF được sử dụng bởi thuật toán BIRCH 

7

Page 8: Thuật toán Brich , Khai phá dữ liệu

Cây CF

Cây CF là cây cân bằng, nhằm để lưu trữ các đặc trưng của cụm. Cây CF chứa các nút trong và nút lá. Nút trong lưu giữ tổng các đặc trưng cụm của các nút con của nó. Một cây CF được đặc trưng bởi hai tham số:

+, Yếu tố nhánh (B): Nhằm xác định số tối đa các nút con của mỗi nút trong của cây; 

+,Ngưỡng (T): Khoảng cách tối đa giữa bất kỳ một cặp đối tượng  trong nút lá của cây, khoảng cách này còn gọi là đường kính của các  cụm con được lưu tại các nút lá.  

Hai tham số này có ảnh hưởng lớn đến kích thước của cây CF.

8

Page 9: Thuật toán Brich , Khai phá dữ liệu

Các giai đoạn của thuật toán:- Giai đoạn 1:BIRCH duyệt tất cả các đối

tượng trong CSDL và xây dựng 1 cây CF khởi tạo

o Các đối tượng lần lượt được chèn vào nút lá gần nhất của cây CF

o Nếu đường kính của cụm con sau khi chèn lớn hơn ngưỡng T thì nút lá được tách ra

o Quá trình này lặp lại cho đến khi tất cả các đối tượng đều được chèn vào trong cây. (Mỗi đối tượng trong cây chỉ được đọc 1 lần)

o Để lưu thông toàn bộ cây CF trong bộ nhớ điều chỉnh kích thước của cây CF thông qua điều chỉnh ngưỡng T

Page 10: Thuật toán Brich , Khai phá dữ liệu

- Giai đoạn 2: Lựa chọn 1 thuật toán PCDL để thực hiện PCDL cho các nút lá của cây

Page 11: Thuật toán Brich , Khai phá dữ liệu

Thuật toán BITCH

INPUT: CSDL gồm n đối tượng, ngưỡng T  OUTPUT: k cụm dữ liệu  Gồm 4 bước : Bước 1: Duyệt tất cả các đối tượng trong CSDL và

xây dựng một cây CF khởi tạo. Một đối tượng được chèn vào nút lá gần nhất tạo thành cụm con. Nếu đường kính của cụm con này lớn hơn T thì nút lá được tách. Khi một đối tượng thích hợp được chèn vào nút lá, tất cả các nút trỏ tới gốc của cây được cập nhật với các thông tin cần thiết.

11

Page 12: Thuật toán Brich , Khai phá dữ liệu

Bước 2: Nếu cây CF hiện thời không có đủ bộ nhớ trong thì tiến hành xây dựng một cây CF nhỏ hơn bằng cách điều khiển bởi tham số T  (vì tăng T sẽ làm hoà nhập một số các cụm con thành một cụm, điều này làm cho cây CF nhỏ hơn). Bước này không cần yêu cầu bắt đầu đọc dữ liệu lại từ đầu nhưng vẫn đảm bảo hiệu chỉnh cây dữ liệu nhỏ hơn.

12

Page 13: Thuật toán Brich , Khai phá dữ liệu

Bước 3: Thực hiện phân cụm: Các nút lá của cây CF lưu giữ các đại lượng thống kê của các cụm con. Trong bước này, BIRCH sử dụng các đại lượng thống kê này để áp dụng một số kỹ thuật phân cụm thí dụ như k-means và tạo ra một khởi tạo cho phân cụm

13

Page 14: Thuật toán Brich , Khai phá dữ liệu

Bước 4: Phân phối lại các đối tượng dữ liệu bằng cách dùng các đối tượng trọng tâm cho các cụm đã được khám phá từ bước 3: Đây là một bước tuỳ chọn để duyệt lại tập dữ liệu và gán nhãn lại cho các đối tượng dữ liệu tới các trọng tâm gần nhất. Bước này nhằm để gán nhãn cho các dữ liệu khởi tạo và loại bỏ các đối tượng ngoại lai

14

Page 15: Thuật toán Brich , Khai phá dữ liệu

15

Khi hòa nhập 2 cụm ta có :

 CF=CF1+CF2=(n1+n2 ;LS1+LS2, SS1+SS2)

Khoảng  cách  giữa  các  cụm  có  thể  đo   bằng  khoảng  cách  Euclid, Manhatta,....

Page 16: Thuật toán Brich , Khai phá dữ liệu

Thuật toán BIRCH

• Ví dụ về cây CF Ban đầu, các điểm dữ liệu trong

một cụm Aroot

A

Page 17: Thuật toán Brich , Khai phá dữ liệu

• Ví dụ về cây CF Dữ liệu đến sẽ thuộc cụm A nếu

kích thước của cụm không vượt quá ngưỡng T.

Aroot

AT

Thuật toán BIRCH

Page 18: Thuật toán Brich , Khai phá dữ liệu

• Ví dụ về cây CF

Nếu kích thước cụm phát triển quá lớn, cụm được chia thành hai cụm, và các điểm được phân phối.

root

AT

B

A B

Thuật toán BIRCH

Page 19: Thuật toán Brich , Khai phá dữ liệu

• Ví dụ về cây CF

Tại mỗi nút của cây, cây CF giữ thông tin các giá trị đặc trưng của cụm

root

A B

A B

Thuật toán BIRCH

Page 20: Thuật toán Brich , Khai phá dữ liệu

Ví dụ CF = (n , LS , SS) , n là số đối tượng của dữ liệu

20

Page 21: Thuật toán Brich , Khai phá dữ liệu

Thuật toán BIRCH

• Ví dụ về hoạt động chèn nút lá

sc8 sc1

Root

LN1 LN2 LN3

sc3sc2 sc4 sc5 sc7sc6

sc7sc6

LN3

sc5sc4

LN2

LN1

sc1

sc2

sc3

sc8

Page 22: Thuật toán Brich , Khai phá dữ liệu

Thuật toán BIRCH

• Ví dụ về hoạt động chèn nút láVì các yếu tố phân nhánh của một nút lá không thể vượt quá 3 nên sau đó LN1 được phân chia.

sc8 sc1

Root

LN1’ LN2 LN3

sc3sc2 sc4 sc5 sc7sc6

sc7sc6

LN3

sc5sc4

LN2

LN1’

sc1sc2

sc3sc8

LN1’’

LN1’’

Page 23: Thuật toán Brich , Khai phá dữ liệu

Thuật toán BIRCH

• Ví dụ về hoạt động chèn nút lá

Các yếu tố phân nhánh của một nút lá không thểvượt quá 3,nên sau đó gốc được phân chia và chiều cao của cây CF tăng

sc8 sc1

Root

LN1’ LN2 LN3

sc3sc2 sc4 sc5 sc7sc6

sc7sc6

LN3

sc5sc4 LN2

LN1’

sc1 sc2sc3

sc8

LN1’’LN1’’

NLN2NLN1

NLN1

NLN2

Page 24: Thuật toán Brich , Khai phá dữ liệu

Ưu điểm của BIRCH

Sử  dụng  cấu  trúc  cây  CF  làm  cho  thuật  toán  BIRCH  có  tốc  độ  thực  hiện PCDL  nhanh và có thể áp dụng đối với tập dữ liệu  lớn, BIRCH đặc biệt hiệu quả khi áp dụng với tập dữ liệu tăng trưởng theo thời gian.

BIRCH chỉ duyệt toàn bộ dữ liệu một lần với một lần quét thêm tuỳ chọn, nghĩa là độ phức tạp của nó là O(n) (n là số đối tượng dữ liệu)

24

Page 25: Thuật toán Brich , Khai phá dữ liệu

Nhược điểm của BIRCH

Chất lượng của các cụm được khám phá không được tốt

Nếu BIRCH sử dụng khoảng cách Euclide,  nó thực hiện tốt chỉ với các dữ liệu số. Mặt  khác, tham số vào T có ảnh hưởng rất lớn tới kích thước và tính tự nhiên của cụm

25

Page 26: Thuật toán Brich , Khai phá dữ liệu

Nhược điểm của BIRCH (t)

Việc ép các đối tượng dữ liệu làm cho các  đối tượng của một cụm có thể là đối tượng  kết thúc của cụm khác, trong khi các đối  tượng gần nhau có thể bị hút bởi các cụm  khác nếu chúng được biểu diễn cho thuật  toán theo một thứ tự khác

 BIRCH không thích hợp với dữ liệu đa chiều.

26

Page 27: Thuật toán Brich , Khai phá dữ liệu

THANK YOU FOR LISTENING

27