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