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

Nhận Xét Của Giáo Viên ĐẠI HỌC QUỐC GIA ĐẠI HỌC CÔNG NGHỆ THÔNG TIN TP. HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT KHÓA 6 ________ ________ BÀI THU HOẠCH CHUYÊN ĐỀ: KHAI PHÁ DỮ LIỆU Đề 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 TP HCM, tháng 11 năm 2012 HVTH: CH1101015 _Lê Thị Phúc Khoa TP. HCM, Ngày…….tháng…… năm 2012 GVHD: TS. Đỗ Phúc 2 HVTH: CH1101015 _Lê Thị Phúc Khoa Mục Lục GVHD: TS. Đỗ Phúc 3 HVTH: CH1101015 _Lê Thị Phúc Khoa 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);… Các kỹ thuật phân cụm được phân loại như sau (xem hình) GVHD: TS. Đỗ Phúc 4 HVTH: CH1101015 _Lê Thị Phúc Khoa GVHD: TS. Đỗ Phúc 5 HVTH: CH1101015 _Lê Thị Phúc Khoa 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. d i x R ∈ 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 = {x i | 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 đó c j là trọng tâm của cụm C j. 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 {c i } (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 S = { * ( ) ( ) x :||x || ||x || t t j j i j i c c − ≤ − for all i * = 1,… ,k} Bước 3: Nhóm các đối tượng vào nhóm gần nhất Bước 4: Cập nhật lại trọng tâm: GVHD: TS. Đỗ Phúc 6 HVTH: CH1101015 _Lê Thị Phúc Khoa ( ) ( 1) ( ) x 1 x | | t j i t i j 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: 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 nhóm Kết thúc + - GVHD: TS. Đỗ Phúc 7 13 K-Mean và ứng dung 13 K-Mean và ứng dung HVTH: CH1101015 _Lê Thị Phúc Khoa 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. Đối tượng Thuộc tính 1(X) Thuộc tính 2(Y) A 1 1 B 2 1 C 4 3 D 5 4 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)). GVHD: TS. Đỗ Phúc 8 HVTH: CH1101015 _Lê Thị Phúc Khoa 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ứ 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: GVHD: TS. Đỗ Phúc 9 HVTH: CH1101015 _Lê Thị Phúc Khoa 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: Bước 5. Tính lại khoảng cách từ các đối tượng đến tâm mới GVHD: TS. Đỗ Phúc 10 [...]... của k_ means: 1 Thuật toán k- medoids: GVHD: TS Đỗ Phúc 13 HVTH: CH1101015 _Lê Thị Phúc Khoa • 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... 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 • 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... 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 GVHD: TS Đỗ Phúc 12 HVTH: CH1101015 _Lê Thị Phúc Khoa • • • • • 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... 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...HVTH: CH1101015 _Lê Thị Phúc Khoa 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 Bước 8 Tính lại khoảng cách từ các đối tượng đến tâm mới GVHD: TS Đỗ Phúc 11 HVTH: CH1101015 _Lê Thị Phúc Khoa 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: Đối tượng Thuộc tính... @attribute property2 @data A,1,1 B,2,1 C,4,3 D,5,4 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 GVHD: TS Đỗ Phúc 16 HVTH: CH1101015 _Lê Thị Phúc Khoa [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 … GVHD: TS Đỗ Phúc... 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 • 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: 1 2 3 4 5 6 GVHD: TS Đỗ Phúc 14 HVTH: CH1101015 _Lê Thị Phúc Khoa Các chức năng... 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 : GVHD: TS Đỗ Phúc 15 HVTH: CH1101015 _Lê Thị Phúc Khoa Phần thông tin : @relation @attribute object : tên loại đối tượng @attribute @data : bắt đầu phần dữ . 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. THẠC SĨ CNTT KHÓA 6 ________ ________ BÀI THU HOẠCH CHUYÊN ĐỀ: KHAI PHÁ DỮ LIỆU Đề 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 TP. 3 2 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

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