1. Trang chủ
  2. » Luận Văn - Báo Cáo

TÌM HIỂU VÀ CÀI ĐẶT ỨNG DỤNG THUẬT TOÁN K MEANS

17 693 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 17
Dung lượng 296,27 KB

Nội dung

Giới thiệu kỹ thuật phân cụm trong “khai phá dữ liệu” Clustering Techniques in Data mining Phân cụm là kỹ thuật rất quan trọng trong khai phá dữ liệu, nó thuộc lớp các phương pháp Unsupe

Trang 1

Nhận Xét Của Giáo Viên

CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT KHÓA 6



BÀI THU HOẠCH

Đề tài:

TÌM HIỂU VÀ CÀI ĐẶT ỨNG DỤNG THUẬT TOÁN K_MEANS

GVHD: TS Đỗ Phúc

SVTH: LÊ THỊ PHÚC KHOA – CH1101015

Trang 2

TP HCM, Ngày…….tháng…… năm 2012

Trang 3

Mục Lục

I Giới thiệu kỹ thuật phân cụm trong “khai phá dữ liệu” (Clustering Techniques

in Data mining) 1

II.Thuật toán K_means: 3

1.Giới thiệu thuật toán: 3

2 Ví dụ minh họa: 5

III Đánh giá 10

1 Ưu điểm 10

2 Khuyết điểm 10

VI Các biến thể và cải tiến của K_means: 11

1 Thuật toán k-medoids: 11

2 Thuật toán fuzzy c-means: 11

V Hướng dẫn sử dụng phần mềm: 12

Tài liệu tham khảo 14

Trang 4

I Giới thiệu kỹ thuật phân cụm trong “khai phá dữ liệu” (Clustering

Techniques in Data mining)

Phân cụm là kỹ thuật rất quan trọng trong khai phá dữ liệu, nó thuộc lớp các

phương pháp Unsupervised Learning trong Machine Learning Có rất nhiều định

nghĩa khác nhau về kỹ thuật này, nhưng về bản chất ta có thể hiểu phân cụm là các qui trình tìm cách nhóm các đối tượng đã cho vào các cụm (clusters), sao cho các đối tượng trong cùng 1 cụm tương tự (similar) nhau và các đối tượng khác cụm thì không tương tự (Dissimilar) nhau.

Mục đích của phân cụm là tìm ra bản chất bên trong các nhóm của dữ liệu Các thuật toán phân cụm (Clustering Algorithms) đều sinh ra các cụm (clusters) Tuy nhiên, không có tiêu chí nào là được xem là tốt nhất để đánh hiệu của của phân tích phân cụm, điều này phụ thuộc vào mục đích của phân cụm như: data reduction,

“natural clusters”, “useful” clusters, outlier detection

Kỹ thuật phân cụm có thể áp dụng trong rất nhiều lĩnh vực như:

 Marketing: Xác định các nhóm khách hàng (khách hàng tiềm năng, khách hàng giá trị, phân loại và dự đoán hành vi khách hàng,…) sử dụng sản phẩm hay dịch vụ của công ty để giúp công ty có chiến lược kinh doanh hiệu quả hơn;

 Sinh học: Phận nhóm động vật và thực vật dựa vào các thuộc tính của chúng;

 Thư viện: Theo dõi độc giả, sách, dự đoán nhu cầu của độc giả…;

 Bảo hiểm, tài chính: Phân nhóm các đối tượng sử dụng bảo hiểm và các dịch

vụ tài chính, dự đoán xu hướng (trend) của khách hàng, phát hiện gian lận tài chính (identifying frauds)

 WWW: Phân loại tài liệu (document classification); phân loại người dùng web (clustering weblog);…

Trang 5

Các kỹ thuật phân cụm được phân loại như sau (xem hình)

Trang 6

II Thuật toán K_means:

1 Giới thiệu thuật toán:

K-Means 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-Means là tìm cách phân nhóm các đối tượng (objects) đã 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 nhóm (centroid ) là nhỏ nhất

Mục đích của thuật toán k_means là sinh ra k cụm dữ liệu {C1, C2, …., Ck} từ một

tập dữ liệu chứa n đối tượng trong không gian d chiều X = {xi| i = 1, 2, …, N},

Hàm đo độ tương tự sử dụng khoảng cách Euclidean

E =

2 1

(|| || )

i j

N

i j

i x C

x c

 

 

trong đó cj là trọng tâm của cụm Cj Hàm trên không âm, giảm khi có 1 sự thay đổi trong 1 trong 2 bước: gán dữ liệu và định lại vị trí tâm

Thuật toán K-Means thực hiện qua các bước chính sau:

Bước 1: Chọn ngẫu nhiên K trọng tâm (centroid) cho K cụm (cluster) Mỗi cụm được đại diện bằng các tâm của cụm {ci} (i = 1÷K)

Bước 2: Tính khoảng cách giữa các đối tượng (objects) đến K tâm (thường dùng khoảng cách Euclidean)

( )t

i

x :||x t || ||x t ||

j jcijci

for all i*= 1,… ,k}

Bước 3: Nhóm các đối tượng vào nhóm gần nhất

d i

x R

Trang 7

Bắt đầu

Số cụm K

Trọng tâm

Khoảng cách các

đối tượng đến các

trọng tâm

Nhóm các đối tượng

vào các cụm

Không có đối tượng chuyển

-Bước 4: Cập nhật lại trọng tâm:

( )

( 1)

( )

x

1

x

t

S i

c

S

Bước 5: Thực hiện lại bước 2 cho đến khi không có sự thay đổi nhóm nào của

các đối tượng

Thuật toán K-Means được mô tả như sau:

K-Mean và ứng dung

13

K-Mean và ứng dung

13

Trang 8

2 Ví dụ minh họa:

Giả sử ta 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 như sau Mục đích của ta là nhóm các thuốc đã cho vào 2 nhóm (K=2) dựa vào các đặc trưng của chúng

Trang 9

Bước 1 Khởi tạo tâm (centroid) cho 2 nhóm Giả sử ta chọn A là tâm của nhóm thứ

nhất (tọa độ tâm nhóm thứ nhất c1(1,1)) và B là tâm của nhóm thứ 2 (tạo độ tâm nhóm thứ hai c2 (2,1))

Bước 2 Tính khoảng cách từ các đối tượng đến tâm của các nhóm (Khoảng cách

Euclidean)

Mỗi cột trong ma trận khoảng cách (D) là một đối tượng (cột thứ nhất tương ứng với đối tượng A, cột thứ 2 tương ứng với đối tượng B,…) Hàng thứ nhất trong ma trận khoảng cách biểu diễn khoảng cách giữa các đối tượng đến tâm của nhóm thứ

Trang 10

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5

nhất (c1) và hàng thứ 2 trong ma trận khoảng cách biểu diễn khoảng cách của các đối tượng đến tâm của nhóm thứ 2 (c2)

Ví dụ, khoảng cách từ loại thuốc C=(4,3) đến tâm c1(1,1) là 3.61 và đến tâm c2(2,1) là 2.83 được tính như sau:

Bước 3 Nhóm các đối tượng vào nhóm gần nhất

Ta thấy rằng nhóm 1 sau vòng lặp thứ nhất gồm có 1 đối tượng A và nhóm 2 gồm các đối tượng còn lại B,C,D

Bước 4 Tính lại tọa độ các tâm cho các nhóm mới dựa vào tọa độ của các đối

tượng trong nhóm Nhóm 1 chỉ có 1 đối tượng A nên tâm nhóm 1 vẫn không đổi, c1(1,1) Tâm nhóm 2 được tính như sau:

Trang 11

0 0.5 1 1.5 2 2.5 3

HVTH: CH1101015 _Lê Thị Phúc Khoa

Bước 5 Tính lại khoảng cách từ các đối tượng đến tâm mới

Bước 6 Nhóm các đối tượng vào nhóm

Bước 7 Tính lại tâm cho nhóm mới

Trang 12

Bước 8 Tính lại khoảng cách từ các đối tượng đến tâm mới

Bước 9 Nhóm các đối tượng vào nhóm

Ta thấy G2 = G1 (Không có sự thay đổi nhóm nào của các đối tượng) nên thuật toán dừng và kết quả phân nhóm như sau:

Trang 13

D 5 4 2

III Đánh giá

1 Ưu điểm

 Thuật toán K-Means có ưu điểm là đơn giản, dễ hiểu và cài đặt

 Độ phức tạp O(K.N.l) với l: là số lần lặp

 Có khả năng mở rộng, dễ dàng sửa đổi với những dữ liệu mới

 Bảo đảm hội tụ sau 1 số bước lặp hữu hạn

 Luôn có K cụm dữ liệu

 Luôn có ít nhất một điểm dữ liệu trong ột cụm dữ liệu

 Các cụm không phân cấp và không bị chồng chéo dữ liệu lên nhau

 Mọi thành viên của một cụm là gần với cụm đó hơn bất cứ một cụm nào khác

2 Khuyết điểm

 Không có khả năng tìm ra các cụm không lồi hoặc các cụm có hình dạng phức tạp

 Khó khăn trong việc xác định các trọng tâm cụm ban đầu:

- Chọn ngẫu nhiên các trung tâm cụm lúc khởi tạo

- Độ hội tụ của thuật toán phụ thuộc vào việc khởi tạo các vector trung tâm cụm

Trang 14

 Khó để chọn ra được số lượng cụm tối ưu ngay từ đầu, mà phải qua nhiều lần thử để tìm ra được số lượng cụm tối ưu

 Rất nhạy cảm với nhiễu và các phần tử ngoại lai trong dữ liệu

 Không phải lúc nào mỗi đối tượng cũng chỉ thuộc về một cụm, chỉ phù hợp với đường biên giữa các cụm rõ

 Chi phí cho thực hiện vòng lặp tính toán khoảng cách lớn khi số cụm K và

dữ liệu phân cụm lớn

VI Các biến thể và cải tiến của K_means:

Các biến thể của k_means khác nhau ở:

- Chiến lược chọn k trọng tâm đầu tiên

- Phương pháp tính độ phân biệt

- Phương pháp tính trọng tâm trong cụm

Một số biếm thể tiêu biếu của k_means:

1 Thuật toán k-medoids:

Tương tự thuật toán K-mean

Mỗi cụm được đại diện bởi một trong các đối tượng của cụm

Chọn đối tượng ở gần tâm cụm nhất làm đại diện cho cụm đó

K-medoid khắc phục được nhiễu, nhưng độ phức tạp lớn hơn

2 Thuật toán fuzzy c-means:

Chung chiến lược phân cụm với K-mean

Nếu K-mean là phân cụm dữ liệu cứng (1 điểm dữ liệu chỉ thuộc về 1 cụm) thì FCM là phân cụm dữ liệu mờ (1 điểm dữ liệu có thể thuộc về nhiều hơn 1 cụm với 1 xác suất nhất định)

Thêm yếu tố quan hệ giữa các phần tử và các cụm dữ liệu thông qua các trọng số trong ma trận biểu biễn bậc của các thành viên với 1 cụm

Trang 15

1 2

3

6

FCM khắc phục được các cụm dữ liệu chồng nhau trên các tập

dữ liệu có kích thước lớn hơn, nhiều chiều và nhiều nhiễu, song vẫn nhạy cảm với nhiễu và các phần tử ngoại lai

V Hướng dẫn sử dụng phần mềm:

Các chức năng của từng vùng:

Trang 16

1- Chọn đường dẫn để nhập dữ liệu cần gom nhóm.

2- Tiến hành nhập dữ liệu

3- Hiển thị dữ liệu trên lưới

4- Số cụm cần gom nhóm

5- Tiến hành gom nhóm dữ liệu trên lưới

6- Hiển thị kết quả gom nhóm

Dữ liệu nhập có định dạng như sau :

Phần thông tin :

@relation <Tên dữ liệu><\n>

@attribute object<\n> : tên loại đối tượng

@attribute<Tên thuộc tính><\n>

@data<\n> : bắt đầu phần dữ liệu Phần dữ liệu:

<Tên loại đối tượng>,<Thuộc tính 1>,<Thuộc tính 2>,… , <Thuộc tính n><\n>;

Ví dụ mẫu dữ liệu gom nhóm :

@relation drug

@attribute object

@attribute property1

@attribute property2

@data

A,1,1

B,2,1

C,4,3

D,5,4

Trang 17

Tài liệu tham khảo

[1] “Giáo trình Khai Thác Dữ Liệu” TS Đỗ Phúc, nxb Đại học quốc gia TP Hồ

Chí Minh

[2] Slide bài giảng Khai phá dữ liệu, TS Đỗ Phúc, trường Đại học Công nghệ Thông tin, ĐHQG.HCM

[3] http://en.wikipedia.org/wiki/K-means_clustering

[4] http://www.codeproject.com

Ngày đăng: 09/04/2015, 22:04

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w