Tải bản đầy đủ (.pptx) (56 trang)

Khai phá dữ liệu thuật toán K means ĐH Bách Khoa HN

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 (2.18 MB, 56 trang )

Khai phá dữ liệu

Partition methods

1


Nộ i d u n g

Khái niệm và mục đích của phân cụm dữ liệu

Các ứng dụng của phân cụm dữ liệu

Các yêu cầu của phân cụm

Những ký thuật tiếp cận trong phân cụm

Các thuật toán cơ bản trong phân cụm dữ liệu

2


K h á i n i ệm



Phân cụm dữ liệu (Data Clustering) hay phân cụm là quá trình nhóm một tập các đối tượng
thực thể hay trừu tượng thành lớp các đối tượng tương tự.




Một cụm là một tập hợp các đối tượng dữ liệu mà các phần tử của nó tương tự nhau cùng
trong một cụm và phi tương tự với các đối tượng trong các cụm khác.



Một cụm các đối tượng dữ liệu có thể xem như là một nhóm trong nhiều ứng dụng.

3


Ví dụ phân cụm

Nếu X : 1 tập các điểm dữ liệu
Ci : cụm thứ i
X = C1∪ … ∪ Ck ∪ … ∪ Cngoại lai
Ci ∪ Cj = ∅
4


Mụ c đ í c h củ a p h â n c ụ m



Mục tiêu của phân cụm là xác định được bản chất nhóm trong tập DL chưa có nhãn.



Phân cụm không dựa trên 1 tiêu chuẩn chung nào, mà dựa vào tiêu chí mà người dùng cung
cấp trong từng trường hợp.


5


Các ứng dụng của phân cụm dữ liệu



Phân cụm có ứng dụng trong nhiều lĩnh vực khác nhau như:



Thương mại: Tìm kiếm nhóm các khách hàng quan trọng có đặc trưng tương đồng và những đặc tả họ
từ các bản ghi mua bán trong CSDL





Sinh học: Phân loại các gen với các chức năng tương đồng và thu được các cấu trúc trong mẫu
Thư viện: Phân loại các cụm sách có nội dung và ý nghĩa tương đồng nhau để cung cấp cho độc giả
Bảo hiểm: Nhận dạng nhóm tham gia bảo hiểm có chi phí bồi thường cao, nhận dạng gian lận thương
mại





6



Yêu cầu của phân cụm

Các yêu cầu như:










Có khả năng mở rộng.
Khả năng thích nghi với các kiểu thuộc tính khác nhau.
Tối thiểu lượng tri thức cần cho xác định các tham số đầu vào.
Khả năng thích nghi với dữ liệu nhiễu.
Ít nhạy cảm với thứ tự của các dữ liệu vào.
Số chiều lớn.
Phân cụm ràng buộc.
Dễ hiểu và dễ sử dụng.

7


N h ữ n g c ác h ti ế p c ậ n p h â n c ụ m



Phân cụm dựa vào cụm trung tâm




Phân cụm dựa vào phân cụm phân cấp



Phân cụm dựa vào mật độ



Phân cụm dữ liệu mờ



Phân cụm dựa trên mẫu



Phân cụm dựa vào tìm kiếm

8


Th u ậ t to án K - m e an s

• K-Mea ns là thuật toán rất quan trọng và đư ợc sử dụng phổ biến trong kỹ thuậ t
phân cụm.

• Tư tưở ng chính của thuật toá n K-Mea ns là tìm cách phân nhóm các đối tư ợng

đã cho vào K cụm (K là số các cụm đư ợc xác đinh tr ướ c, K nguyên dư ơng) sao
cho tổng bình phươ ng khoả ng cá ch giữ a các đối tư ợng đến tâm cụm là nhỏ
nhất.

9


P h á t bi ể u bà i to á n



Input

• Tập các đối tư ợng X={x i | i = 1, 2, …, N}, x i ∈ R d
• Số cụm: K
Output

• Các cụm C i ( i = 1 ÷ K) tách rờ i và hàm tiêu chuẩn E đạ t giá trị tối thiểu.
(c i là tâm cụm C i )

10


C ác bư ớ c c ủ a t h u ật to á n

Bước 1 : Khởi tạo
d
Chọn k trọng tâm {cj} ban đầu trong không gian R (d là số
chiều của dữ liệu). Việc lựa chọn này có thể là ngẫu nhiên hoặc theo kinh nghiệm.
Bước 2 : Tính toán khoảng cách

Đối với mỗi điểm xj, tính toán khoảng cách của nó tới mỗi tâm cụm. Sau gán điểm đó vào cụm có tâm gần nó nhất.
Bước 3 : Cập nhật lại trọng tâm
Đối với mỗi cụm , cập nhật trọng tâm cụm bằng cách xác định trung bình cộng các vectơ đối tượng dữ liệu của cụm.
Điều kiện dừng :
Lặp lại các bước 2 và 3 cho đến khi các phần tử trong cụm không thay đổi.

11


S ơ đ ồ t h u ật to á n

Bắt đầu

Số cụm K

Tâm cụm

Khoảng cách các đối tượng đến các tâm
cụm

-

phần tử trong cụm không

+

Kết thúc

thay đổi


Nhóm các đối tượng vào các cụm,cập
nhật lại tâm cụm
12


V í d ụ m i n h h oạ

Dữ liệu trước khi phân cụm

Dữ liệu đã được phân cụm với thuật toán K-means
với k=2

13


V í d ụ m i n h h oạ

Có thông tin của 8 khách hàng gửi tiền tại 1 ngân hàng như sau:
Mã KH

1

2

3

4

5


6

7

8

Số tiền gửi TB

200

2500

200

2700

3000

500

2600

1000

2

8

1


1

1

8

7

6

1 lần ($)

Số lần gửi

Chúng ta cần phải phân loại các khách hàng này thành từng nhóm để có thể dễ dàng trong việc chăm sóc khách
hàng, đem lại lợi nhuận lớn nhất cho Ngân hàng.

14


Ví d ụ m i n h h o ạ

Ta có bảng phân bố các điểm trên đồ thị như sau

Số tiền gửi tb 1 lần
3500

3000
2700


3000

2600

2500

2500

2000
1500

1000

1000
500
0

0

200

200

1

2

500
3


4

5

6

7

8
15

9


Ví d ụ m i n h h o ạ

Bước 1: ta chọn 4 điểm tâm cụm, chọn bất kỳ trong các điểm ban đầu.
Ta chọn 4 điểm màu đỏ như hình vẽ

Số tiền gửi tb 1 lần
3500

3000
2700

3000

2600

2500


2500
2000
1500

1000

1000
500
0

0

200

200

1

2

500
3

4

5

6


7

8
16

9


Ví d ụ m i n h h o ạ

Cập nhật tâm cụm sau lần lặp thứ 2

Số tiền tb 1 lần gửi
3500
3000

3000
2700

2500

2600

2500

2000
1500
1000

1000


500
0

200
0

1

500

200
2

3

4

5

6

7

8
17

9



Ví d ụ m i n h h o ạ

Cập nhật tâm cụm sau lần lặp thứ 3

Số tiền tb 1 lần gửi
3500
3000
2500
2000
1500
1000
500
0

3000
2700

2600

2500

1000
200
0

1

500

200

2

3

4

5

6

7

8

Kết quả cuối cùng phân được 4 cụm
18

9


Ư u n h ư ợ c đ i ểm c ủ a Th u ậ t toá n K - M e an s



Ưu điểm:Đây là một phương pháp:

- Đơn giản.
- Hiệu quả.
- Tự tổ chức.
- Được sử dụng trong tiến trình khởi tạo trong nhiều thuật toán khác.


 Có thể

khả năng mở rộng trong khi xử lý dữ liệu lớn.

- Độ phức tạp thuật toán: O(tkn), với n là số đối tượng , k là số cụm, t là số lần lặp. Thông thường k,t
<< n.
- Thường kết thúc ở tối ưu cục bộ, có thể tìm được tối ưu toàn cục, dùng kỹ thuật thuật giải di truyền.

19


Ư u n h ư ợ c đ i ểm c ủ a Th u ậ t toá n K - M e an s

• Nhược điểm: Các nhược điểm trong thuật toán này là:
 Số cụm k phải được xác định trước.
 Đây là thuật toán độc lập tuyến tính.
- Có thể áp dụng chỉ khi xác định được trị trung bình.
- Nhạy cảm (gặp lỗi) với các dữ liệu ngoại lai

20


Ư u n h ư ợ c đ i ểm c ủ a Th u ậ t toá n K - M e an s

 Không thích hợp để

phát hiện các nhóm(cụm) không có dạng elip hay hình cầu.

21



t h u ật to án m ở r ộn g c ủ a
K - Me a n s : P aM




T h u ậ t t o á n P AM là t h u ậ t to á n m ở r ộ n g c ủ a t h u ậ t t o á n k - m e a n s, n h ằ m c ó kh ả n ă n g x ử lý
h i ệ u q u ả đố i v ớ i d ữ l i ệ u n hi ễ u h o ặ c c á c p h ầ n t ử n g o ạ i la i .
T h a y v ì s ử dụ n g c ác t r ọ n g t â m n h ư k - m e a n s , P A M s ử d ụ n g c á c đ ố i t ư ợ n g m e d o i d để b i ể u
d i ễ n c h o c á c c ụ m dữ li ệ u , m ộ t đố i t ư ợ n g m e d o i d l à đố i t ư ợ n g đặ t t ạ i v ị t r í t ru n g t â m n h ấ t
b ê n t ro n g c ủ a m ỗ i c ụ m .

22


Ý tư ở n g t h u ậ t t oá n P am





Để x á c đị n h c á c m e d oi d , P AM b ắ t đầ u b ằ n g c á c h lự a c h ọn k đ ố i t ư ợ n g m e d o i d b ấ t k ỳ .
Sa u m ỗ i b ư ớ c t h ự c h iệ n , P AM c ố g ắ n g h o á n đ ổ i gi ữ a đố i t ư ợ n g m e d o i d O m và m ộ t đố i
tư ợ n g O p kh ô n g p hả i là m e d o i d , m i ễ n l à s ự h o á n đ ổ i n à y n h ằ m c ả i t i ế n c h ấ t lư ợ n g c ủ a
p h â n c ụ m , q u á t rì n h n à y kế t t h ú c kh i c h ấ t lư ợ n g p h â n c ụ m k h ô n g t h a y đ ổ i .
Ch ấ t lư ợ n g p h â n c ụ m đ ư ợ c đá n h g i á t h ô n g q u a h à m t i ê u c h u ẩ n , c h ấ t lư ợ n g p h â n c ụ m t ố t
n h ấ t kh i h à m t i ê u c h u ẩ n đạ t g i á t r ị t ố i t h i ểu .


23


Th u ậ t t oá n P am




Để q u y ết đ ị n h h o á n đổ i h a i đố i t ư ợ n g O m v à O p h a y kh ô n g , th u ậ t t o á n P A M s ử d ụ n g g i á
tr ị t ổ n g c ủ a c á c c h i ph í h o á n đ ổ i C j m p là m c ă n c ứ .

T r on g đó :
O m : là đ ố i t ư ợ n g m e d o i d hi ệ n t ạ i c ầ n đ ư ợ c t h a y t h ế .
O p : là đ ố i t ư ợ n g d l s ẽ t ha y t h ế c h o O m là m m e d o i d .
O j : là đố i t ư ợ n g d l c ó th ể đư ợc d i c hu y ể n s a n g c ụ m kh á c .
O m , 2 : là đ ố i t ư ợ n g m e d o i d kh á c O m g ầ n O j n hấ t m à .
T a c ó T ổ n g c h i p h í h o á n c h u y ể n là

24


Th u ậ t t oá n P am

Trường hợp 1

25


×