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

Nghiên cứu phương pháp phân cụm nửa giám sát và ứng dụng

82 170 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 82
Dung lượng 8,5 MB

Nội dung

LỜI CAM ĐOAN Tôi xin cam đoan đề tài với tiêu đề Nghiên cứu phương pháp phân cụm nửa giám sát và ứng dụng là công trình nghiên cứu được tôi thực hiện dưới sự hướng dẫn của giáo viên hướn

Trang 1

Số hóa bởi Trung tâm Học liệu - ĐHTN h tt p:// www.l rc -tnu edu vn/

i

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CNTT VÀ TRUYỀN THÔNG

Phan Thị Thu Nga

NGHIÊN CỨU PHƯƠNG PHÁP PHÂN CỤM NỬA GIẢM

SÁT VÀ ỨNG DỤNG

LUẬN VĂN THẠC SĨ: KHOA HỌC MÁY TÍNH

Thái Nguyên, tháng 9 năm 2015

Trang 2

LỜI CAM ĐOAN

Tôi xin cam đoan đề tài với tiêu đề Nghiên cứu phương pháp phân cụm nửa giám sát và ứng dụng là công trình nghiên cứu được tôi thực hiện dưới sự

hướng dẫn của giáo viên hướng dẫn khoa học

Các kết quả nghiên cứu và kết quả thử nghiệm nêu trong luận văn là trungthực và chưa từng được công bố trong bất kỳ tài liệu nào khác Trong phần kiếnthức chung, nghiên cứu giải thuật áp dụng và một số thực nghiệm kết quả tươngứng tôi có tham khảo ở một số tài liệu và đã có trích dẫn đúng và đầy đủ

Trang 3

LỜI CAM ĐOAN ii

LỜI MỞ ĐẦU 1

CHƯƠNG 1 TỔNG QUAN VỀ HỌC MÁY VÀ BÀI TOÁN PHÂN CỤM, PHÂN CỤM NỬA GIÁM SÁT 4

1.1 Khái niệm về trí tuệ nhân tạo và học máy 4

1.2 Các nghiên cứu sử dụng trong học máy 6

1.3 Ứng dụng của phương pháp học máy 6

1.4 Khái niệm về bài toán phân cụm 7

1.5 Các yêu cầu của bài toán phân cụm 8

1.6 Các chiến lược trong phương pháp phân cụm dữ liệu [2] 11

1.8 Đánh giá kết quả của thuật toán phân cụm 17

1.9 Phương pháp phân cụm nửa giám sát 17

CHƯƠNG 2 MỘT SỐ THUẬT TOÁN PHÂN CỤM NỬA GIÁM SÁT 19

2.1 Giới thiệu bài toán phân cụm nửa giám sát 19

2.2 Thuật toán phân cụm nửa giám sát với K-Means 21

2.2.1 Thuật toán K-Means 21

2.2.2 Thuật toán Seed K-Means 26

2.3 Thuật toán phân cụm nửa giám sát SSDBSCAN 27

2.3.1 Thuật toán DBSCAN 27

2.3.2 Thuật toán SSDBSCAN 29

2.3.3 Thuật toán ActSSDBSCAN 32

2.4 Thuật toán phân cụm nửa giám sát Fuzzy C-Means 37

2.4.1 Thuật toán Fuzzy C-Means 37

2.4.2 Thuật toán Seed Fuzzy C-means 40

CHƯƠNG 3 ỨNG DỤNG THUẬT TOÁN PHÂN CỤM TRONG LĨNH VỰC XỬ LÝ ẢNH 43

3.1 Giới thiệu tổng quan 43

Số hóa bởi Trung tâm Học liệu - ĐHTN h t t p : / / www l r c - t nu e d u v n /

Trang 4

3.2 Phân vùng ảnh (Image segmentation) sử dụng Fuzzy C-Means 43

3.2.1 Tóm lược về vấn đề xử lý ảnh số (Digital Image Processing) 43

3.2.2 Lập trình và thử nghiệm 45

3.3 Phân cụm ảnh với thuật toán SSDBSCAN 53

3.3.1 Dữ liệu 53

3.3.2 Kết quả 55

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 58

 Những kết quả đã đạt được 58

 Hướng phát triển của đề tài

58 PHỤ LỤC 60

TÀI LIỆU THAM KHẢO 63

Trang 5

Số hóa bởi Trung tâm Học liệu - ĐHTN h t t p : / / www l r c -

t nu e d u v n /

Trang 6

Ví dụ về dữ liệu của bài toán phân cụm: hình bên trái bao

gồm 3 cụm rời nhau tuyến tính trong khi hình bên phải có

các cụm hình dạng bất kỳ và không tuyến tính

8

Hình 1.3 Một số ví dụ về phân đoạn ảnh sử dụng clustering 14

Hình 1.4 Ứng dụng clustering trong việc phát hiện những

vùng bị hỏng trên trái cây 15

Hình 2.5 Minh họa thuật toán Fuzzy C-Means với 4 cụm 30

Số hóa bởi Trung tâm Học liệu - ĐHTN h t t p : / / www l r c - t nu e d u v n /

Trang 7

Hình 2.6

(a) Các điểm tương ứng với tập dữ liệu đầu vào, cácseed (các dữ liệu đã được gán nhãn) tương ứng là các điểm

ký hiệu bởi các dấu cộng, dấu nhân, và dấu sao

(b) các ràng buộc (constraint) must-link và link được biểu diễn tương ứng bằng các đoạn thẳng nét

Hình 2.9 Kết quả thực nghiệm của thuật toán SECM 43

Hình 3.1 Tổng quan về hệ thống xử lý ảnh trên máy tính [5] 46

Hình 3.2 Ảnh gốc (a) và các vùng (màu sáng) được phân tách

bới thuật toán Fuzzy C-means 48

Hình 3.3 Các cụm phân tách từ thuật toán Fuzzy C-means 50

Hình 3.4 Phân tách vùng với 2 cụm khác nhau 50Hình 3.5

Trang 8

Số hóa bởi Trung tâm Học liệu - ĐHTN h t t p : / / www l r c -

t nu e d u v n /

Trang 9

8

Số hóa bởi Trung tâm Học liệu - ĐHTN h t t p : / / www l r c - t nu e d u v n /

Trang 10

9

LỜI MỞ ĐẦU

1 Lí do chọn đề tài

Công nghệ thông tin là một lĩnh vực quan trọng trong sự phát triển của

xã hội trên toàn thế giới Những ứng dụng của công nghệ thông tin (CNTT)

có thể gặp bất kỳ nơi đâu, trong lĩnh vực gì Từ những năm 50 của thế kỷ 20,Liên Xô đã phóng thành công tàu vũ trụ, để thực hiện được điều này thì rõràng cần đến các chương trình máy tính và phần mềm Những năm 60 nước

Mỹ đã có hệ thống mạng máy tính phục vụ cho quốc phòng và an ninh cũngnhư các lĩnh vực trọng yếu Mạng Internet ra đời đã kết nối toàn thế giới vàmạng lại hiệu quả vô cùng lớn cho nhân loại Ngày nay sự phát triển vềCNTT đã là toàn cầu hóa, tất cả các quốc gia đều coi việc phát triển lĩnh vựcnày là mũi nhọn là công cụ để thúc đẩy sự phát triển Tất cả các hệ thống tinh

vi hiện đại nhất như tàu vũ trụ, máy bay, tàu ngầm, ô tô, người máy đều cóhạt nhân quan trọng là CNTT

Trí tuệ nhân tạo là một hướng nghiên cứu của lĩnh vực CNTT và Khoahọc máy tính nhằm phát triển các hệ thống thông minh giải quyết các bài toántrong thực tế giống như hoạt động của bộ não người Trí tuệ nhân tạo đượcbắt đầu nghiên cứu từ những năm 50 của thế kỷ 20 và trong khoảng 30 nămtrở lại đây đã được cộng đồng các nhà khoa học quan tâm mạnh mẽ Rấtnhiều các hội thảo lớn được tổ chức hàng năm tại Mỹ cũng như trên thế giới.Các ứng dụng tiêu biểu của trí tuệ nhân tạo vào đời sống xã hội bao gồm:người máy, robot, xử lý ngôn ngữ tự nhiên, nhận dạng, phát hiện dị thường,

an ninh quốc phòng, tin sinh học, khoa học vũ trụ và trái đất…

Trong khuôn khổ luận văn Thạc sỹ của mình, qua việc được trang bị các môn học lý thuyết như thuật toán, xử lý ảnh, trí tuệ nhân tạo,… tôi đã lựa

Trang 11

chọn đề tài Nghiên cứu phương pháp phân cụm nửa giám sát và ứng dụng.

Chủ đề phân cụm dữ liệu là một nhánh nhỏ nằm trong lĩnh vực học máy(machine learning) của trí tuệ nhân tạo nhằm nghiên cứu và ứng dụng bàitoán phân cụm trong thực tế Hơn nữa phân cụm có giám sát là một hướng đitốt trong khoảng 10 năm trở lại đây và đã chứng minh tính ưu việt của nó

2 Đối tượng và phạm vi nghiên cứu

2.1 Đối tượng nghiên cứu

Vấn đề phân cụm dữ liệu (clustering), phân cụm nửa giám sát supervised clustering)

(semi-2.2 Phạm vi nghiên cứu

- Lý thuyết: Nghiên cứu các thuật toán cơ bản về phân cụm dữ liệu và

phân cụm nửa giám sát

- Thực nghiệm: Lập trình trên ngôn ngữ C# cho ứng dụng phân vùng

ảnh và phân cụm ảnh

3 Phương pháp nghiên cứu.

- Phương pháp nghiên cứu khoa học và suy luận logic

- Phương pháp nghiên cứu mô tả, giải thích, giải pháp

4 Ý nghĩa khoa học và thực tiễn của đề tài.

- Về khoa học

Nghiên cứu các thuật toán phân cụm và phân cụm nửa giám sát, đánh giá

ưu, nhược điểm và giải thích kết quả đạt được của từng phương pháp

Trang 12

- Về thực tiễn

Ứng dụng thuật toán phân cụm vào bài toán phân vùng ảnh và phân cụmảnh từ đó rút ra các nhận xét, đánh giá vào thực tiễn

5 Cấu trúc của luận văn

Chương 1: Giới thiệu tổng quan về học máy và bài toán phân cụm dữ

liệu và phân cụm dữ liệu nửa giám sát

Chương 2: Trình bày một số thuật toán phân cụm dữ liệu cơ bản, thuật

toán phân cụm nửa giám sát cũng như đánh giá ưu nhược điểm của mỗi thuậttoán

Chương 3: Cài đặt thử nghiệm hai ứng dụng của bài toán phân cụm bao

gồm bài toán phân vùng ảnh và bài toán phân cụm ảnh

Tóm lược các kết quả đã thực hiện được và đề ra hướng phát triển tiếptheo của đề tài

Trang 13

CHƯƠNG 1 TỔNG QUAN VỀ HỌC MÁY VÀ BÀI TOÁN PHÂN

CỤM, PHÂN CỤM NỬA GIÁM SÁT 1.1 Khái niệm về trí tuệ nhân tạo và học máy

Trí tuệ nhân tạo là lĩnh vực nhằm nghiên cứu và phát triển các hệ thống(phần mềm, phần mềm nhúng) có khả năng giải quyết các bài toán giống nhưcách thức giải quyết của con người Theo [6], một hệ thống trí tuệ nhân tạo cóthể có một hoặc một số khả năng như: suy nghĩ, lập luận, cảm nhận, quyếtđịnh, học, điều khiển, nhận dạng,… Các hệ thống trí tuệ nhân tạo bắt đầuđược nghiên cứu từ những năm 1956 của thể kỷ 20 với các nghiên cứu tạiStanford về mạng nơ ron, lý thuyết tự động của John MacCarthy [6]

Học máy (machine learning) là một lĩnh vực của trí tuệ nhân tạo nghiên

cứu phát triển các phần mềm dùng cho máy tính hoặc hệ thống máy tính có

thể giải quyết các tình huống cụ thể hoặc nhận dạng ra các mẫu giống như con

người Máy tính hoặc hệ thống máy tính ở đây hiểu rằng là bất kỳ hệ thống

nào mà có thể nạp và sử dụng phần mềm để thực hiện trên nó

Trong lĩnh vực học máy hiện nay có ba phương pháp học cơ bản baogồm: học có giám sát, học nửa giám sát và học không giám sát

Ý tưởng cơ bản của học có giám sát có thể hiểu như chúng ta cung cấpmột số mẫu (ví dụ dữ liệu, hình ảnh, đồ vật đã gán nhãn) cho hệ thống học vàsau đó thiết kế phát triển các hệ thống có thể suy diễn hay nhận biết mẫu mớinằm trong phạm vi nó đã được học

Học nửa giám sát khác với học có giám sát là các thuật toán dạng này chỉ

sử dụng một lượng nhỏ các mẫu (các dữ liệu đã gán nhãn) để học và suy luận

ra các dữ liệu chưa gán nhãn

Trang 14

Học không giám sát không dùng bất kỳ dữ liệu gán nhãn nào mà chỉ sửdụng các dữ liệu không có nhãn để thực hiện yêu cầu nào đó chẳng hạn nhưphân cụm các dữ liệu hay phát hiện các dị thường trong dữ liệu hay ngoại suy.Hình 1.1 minh họa các bài toán học máy tương ứng

(a) – Học có giám sát (b) – Học nửa giám sát

( c)- Học nửa giám sát (d)- Học không giám sát

Hình 1.1 Các mô hình của học máy

Trang 15

1.2 Các nghiên cứu sử dụng trong học máy

Học máy kế thừa thành tựu của nhiều lĩnh vực khoa học Sau đây là một

số lĩnh vực và ý tưởng chính ảnh hưởng tới học máy:

Lý thuyết về trí tuệ nhân tạo: là một lĩnh vực của trí tuệ nhân tạo nên học

máy dùng các khái niệm như: bài toán tìm kiếm, biểu diễn và xử lý tri thức,

sử dụng tri thức và suy diễn,…

Lý thuyết độ phức tạp tính toán: tính độ phức tạp của các nhiệm vụ học

đo qua các ví dụ đào tạo, số lỗi và các tính toán

Lý thuyết điều khiển: các thủ tục học để điều khiển quá trình nhằm tối ưu

hoá mục đích định trước hay học cách đoán các trạng thái tiếp theo của quátrình điều khiển

Lý thuyết thông tin: các độ đo của nội dung thông tin và entropy, mã tối

ưu và quan hệ của chúng tới dãy đào tạo tối ưu để mã hoá một giả thuyết

Triết học: những nguyên lý như Occam's razor (cho rằng giả thuyết đơn

giản nhất là tôt nhất, các phân tích luận chứng để tổng quát hoá các dữ liệuquan sát được

Tâm lý học và thần kinh học: các đáp ứng thực tế của con người, các mô

hình neural

Thống kê: đặc trưng lỗi, lý thuyết lấy mẫu, khoảng tin cậy

1.3 Ứng dụng của phương pháp học máy

- Xử lí ngôn ngữ tự nhiên (Natural Language Processing): xử lí văn bản,giao tiếp người – máy

- Nhận dạng (Patten recognition): nhận dạng tiếng nói, chữ viết tay, vântay, thị giác máy

Trang 16

- Thiên văn học và trái đất

- Phát hiện gian lận tài chính, gian lận thẻ tín dụng

- Phân tích thị trường chứng khoán (stock market analysis)

- Trò chơi: chơi cờ (Deep blue, IBM, 1998),

- Người máy (robot): là tổng hợp của rất nhiều ngành khoa học, trong đó học máy tạo nên hệ thần kinh/bộ não của người máy

Trong nội dung của luận văn này, tôi chọn bài toán phân cụm (một dạngcủa phương pháp học không giám sát) để nghiên cứu và tìm hiểu cũng nhưthử nghiệm các ứng dụng thực tế, phần tiếp theo sẽ trình bày các thuật ngữ,các định nghĩa và khái niệm cơ bản, tiếp đó các thuật toán phân cụm sẽ trìnhbày chi tiết ở chương 2, phần thực nghiệm và đánh giá kết quả là nội dung củachương 3 sẽ tổng kết các kết quả đã làm được và hướng phát triển tiếp theo

1.4 Khái niệm về bài toán phân cụm

Bài toán phân cụm (clustering) là một dạng của bài toán học không giám sát (unsupervised learning) được phát biểu như sau: cho tập X gồm n

đối tượng x1, x2, …, xn trong không gian d chiều, hãy phân rã tập X ra thành k(k ≤ n) cụm C1, C2,…, Ck (cluster) rời nhau (Ci Cj = , i j) sao cho cácđối tượng trong cùng một cụm thì tương tự nhau và các đối tượng ở các cụmkhác nhau thì không tương tự nhau theo một tiêu chuẩn nào đó

Trang 17

Bài toán phân cụm thuộc lớp bài toán học không giám sát nằm trong lĩnh

vực học máy (machine learning), đây là một trong những chủ đề cơ bản của

Trí tuệ nhân tạo Mục đích chính của quá trình phân cụm là giúp cho người

dùng hiểu được cấu trúc và phân bố của dữ liệu trong tự nhiên và là khâu

quan trọng trong quá trình xử lý và khai phá dữ liệu Hình 1.2 minh họa ví dụ

về tập dữ liệu trong bài toán phân cụm [3]

Hình 1.2 Ví dụ về dữ liệu của bài toán phân cụm: hình bên trái bao gồm 3

cụm rời nhau tuyến tính trong khi hình bên phải có các cụm hình dạng bất kỳ

và không tuyến tính.

1.5 Các yêu cầu của bài toán phân cụm

Phân cụm là một lĩnh vực nghiên cứu có nhiều thách thức, tại đó các ứngdụng tiềm năng của nó đưa ra các yêu cầu đặc biệt Sau đây là các yêu cầuđiển hình của phân cụm trong khai phá dữ liệu:

Trang 18

Khả năng mở rộng:

Nhiều giải thuật phân cụm làm việc tốt trong các tập dữ liệu nhỏ chứa íthơn 200 đối tượng dữ liệu, tuy nhiên một cơ sở dữ liệu lớn có thể chứa hàngtriệu đối tượng Phân cụm cho một mẫu của một tập dữ liệu lớn cho trước cóthể dẫn tới các kết quả bị lệch Ta có thể phát triển các giải thuật phân cụm cókhả năng mở rộng cao trong các cơ sở dữ liệu lớn như thế nào

Khả năng giải quyết đối với dữ liệu có các thuộc tính hỗn hợp (số, kí tự,

…):

Nhiều giải thuật được thiết kế để phân cụm dữ liệu số dựa trên khoảngcách Tuy nhiên, nhiều ứng dụng có thể yêu cầu phân cụm các kiểu khác nhaucủa dữ liệu như nhị phân, xác thực (tên) và dữ liệu có thứ tự hay sự pha trộncác kiểu dữ liệu này

Phát hiện ra các cụm với hình dạng tuỳ ý:

Nhiều giải thuật phân cụm định rõ các cụm dựa trên các phép đo khoảngcách Euclidean và Manhattan Các giải thuật dựa trên các phép đo khoảngcách như thế này có khuynh hướng tìm các cụm hình cầu với kích thước vàmật độ giống nhau Tuy nhiên, một cụm có thể có hình dạng bất kỳ Điều nàyrất quan trọng để phát triển các giải thuật - các giải thuật này có thể phát hiện

ra các cụm có hình dạng tuỳ ý

Trang 19

10 1 0

vào:

Các yêu cầu tối thiểu cho miền tri thức để xác định rõ các tham số đầu

Nhiều giải thuật phân cụm yêu cầu người dùng nhập vào các tham sốnào đó trong phép phân tích cụm (như số lượng các cụm đã đề nghị) Kết quảphân cụm thường rất nhạy cảm với các tham số đầu vào Nhiều tham số khóxác định, đặc biệt đối với các tập dữ liệu chứa các đối tượng số chiều cao

Trang 20

Điều này không chỉ là gánh nặng cho các user mà còn làm cho chất lượng phân cụm khó điều khiển.

Khả năng giải quyết dữ liệu nhiễu:

Hầu hết các cơ sở dữ liệu thế giới thực chứa các outlier hay các dữ liệukhuyết, dữ liệu không biết hay dữ liệu sai Nhiều giải thuật phân cụm nhạycảm với dữ liệu như thế này và có thể dẫn tới chất lượng các cụm kém

Sự không nhạy cảm khi sắp xếp các bản ghi đầu vào:

Nhiều giải thuật phân cụm nhạy cảm với trật tự của dữ liệu đầu vào, vídụ: cùng một tập dữ liệu, khi trình diễn với các trật tự khác nhau trong cùngmột giải thuật, có thể phát sinh đột xuất các cụm khác nhau Do vậy, việcphát triển các giải thuật nhạy cảm với trật tự đầu vào thực sự quan trọng

ý đến dữ liệu trong không gian số chiều cao có thể rất thưa thớt và bị lệchnhiều

Phân cụm dựa trên ràng buộc:

Các ứng dụng thế giới thực có thể cần thực hiện phân cụm dưới rất nhiềuloại ràng buộc Giả sử công việc của bạn là lựa chọn vị trí để đặt một sốlượng cho trước các trạm tiền trả tiền tự động (ATM) mới trong thànhphố Để giải quyết điều này, bạn có thể phân cụm các hộ gia đình trong khixem xét các con sông và mạng lưới đường quốc lộ của thành phố và

Trang 21

các yêu cầu khách hàng trên từng vùng như là các ràng buộc Một nhiệm vụđặt ra đó là tìm các nhóm dữ liệu với chất lượng phân cụm tốt và thoả rấtnhiều ràng buộc khác nhau.

Khả năng diễn dịch và tính tiện lợi: Các user có thể trông chờ các kết

quả phân cụm ở khả năng diễn dịch, tính toàn diện và tiện lợi Phân cụm cóthể cần được liên kết với các cách hiểu ngữ nghĩa cụ thể và các ứng dụng cụthể Việc nghiên cứu mục đích của ứng dụng ảnh hưởng như thế nào đến việclựa chọn các phương pháp phân cụm là thực sự quan trọng

1.6 Các chiến lược trong phương pháp phân cụm dữ liệu

1.6.1 Phương pháp phân cụm phân hoạch (Partitioning Methods)

Kỹ thuật này phân hoạch một tập hợp dữ liệu có n phần tử thành knhóm cho đến khi xác định số các cụm được thiết lập Số các cụm đượcthiết lập là các đặc trưng được lựa chọn trước Phương pháp này là tốt choviệc tìm các cụm hình cầu trong không gian Euclidean

1.6.2 Phương pháp phân cụm phân cấp (Hierarchical Methods)

Phương pháp này xây dựng một phân cấp trên cơ sở các đối tượng dữliệu đang xem xét Nghĩa là sắp xếp một tập dữ liệu đã cho thành một cấutrú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

Phân cụm phân hoạch và phân cụm phân cấp là hai phương phápphân cụm dữ liệu cổ điển, hiện đã có rất nhiều thuật toán cải tiến dựa trênhai phương pháp này đã được áp dụng phổ biến trong khai phá dữ liệu

Ý tưởng của thuật toán phân cụm thứ bậc rất đơn giản, tại bước khởiđộng n điểm dữ liệu coi như n cụm, tại mỗi bước hai cụm có hai điểm gần

Trang 22

nhau nhất sẽ được hòa lại thành một cụm [11] Thuật toán sẽ dừng lại khi có

đủ số cụm cần thiết được yêu cầu bởi người sử dụng

Hình minh họa việc tạo lập các cụm bằng phương pháp phân cụm thứbậc

1 2

3 6

5 8

4 10 11

7

9

Hình 1.3: Minh họa các bước của thuật toán hierarchical clustering

Có hai cách tiếp cận phổ biến của kỹ thuật này đó là: hòa nhậpnhóm, thường được gọi là tiếp cận (Bottom-Up); phân chia nhóm, thườngđược gọi là tiếp cận (Top-Down)

Phương pháp “dưới lên” (Bottom up): Phương pháp này bắt đầu với

mỗi đối tượng được khởi tạo tương ứng với các cụm riêng biệt, sau đó tiếnhành nhóm các đối tượng theo một độ đo tương tự (như khoảng cách giữahai trung tâm của hai nhóm), quá trình này được thực hiện cho đến khi tất

cả các nhóm được hòa nhập vào một nhóm (mức cao nhất của cây phân

Trang 23

cấp) hoặc cho đến khi các điều kiện kết thúc thỏa mãn Như vậy, cách tiếp cận này sử dụng chiến lược ăn tham trong quá trình phân cụm.

- Phương pháp “trên xuống” (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ànhcô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 thỏa 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

1.6.3 Phương pháp phân cụm dựa trên mật độ (Density-Based Methods)

Kỹ thuật này nhóm các đối tượng dữ liệu dựa trên hàm mật độ xácđịnh, mật độ là số các đối tượng lân cận của một đối tượng dữ liệu theomột nghĩa nào đó Trong cách tiếp cận này, khi một dữ liệu đã xác định thì

nó tiếp tục được phát triển thêm các đối tượng dữ liệu mới miễn là số cácđối tượng lân cận này phải lớn hơn một ngưỡng đã được xác định trước.Phương pháp phân cụm dựa trên mật độ của các đối tượng để xác định cáccụm dữ liệu có thể phát hiện ra các cụm dữ liệu với hình thù bất kỳ Kỹ thuậtnày có thể khắc phục được các phần tử ngoại lai hoặc giá trị nhiễu rất tốt,tuy nhiên việc xác định các tham số mật độ của thuật toán là rất khó khăn,trong khi các tham số này lại có tác động rất lớn đến kết quả phân cụm

1.6.4 Phương pháp phân cụm dựa trên lưới (Grid-Based Methods)

Kỹ thuật phân cụm dựa trên lưới thích hợp với dữ liệu nhiều chiều,dựa trên cấu trúc dữ liệu lưới để phân cụm, phương pháp này chủ yếutập trung áp dụng cho lớp dữ liệu không gian Mục tiêu của phương phápnày là lượng hóa dữ liệu thành các ô tạo thành cấu trúc dữ liệu lưới Sau đó,các thao tác phân cụm chỉ cần làm việc với các đối tượng trong từng ô lưới

Trang 24

chứ không phải các đối tượng dữ liệu.

1.6.5 Phương pháp phân cụm dựa trên mô hình (Model-Based Clustering Methods)

Phương này cố gắng khám phá các phép xấp xỉ tốt của các tham số môhình sao cho khớp với dữ liệu một cách tốt nhất Chúng có thể sử dụngchiến lược phân cụm phân hoạch hoặc phân cụm phân cấp, dựa trên cấutrúc hoặc mô hình mà chúng giả định về tập dữ liệu và cách chúng hiệuchỉnh các mô hình này để nhận dạng ra các phân hoạch

Phương pháp phân cụm dựa trên mô hình cố gắng khớp giữa các dữliệu với mô hình toán học, nó dựa trên giả định rằng dữ liệu được tạo rabằng hỗn hợp phân phối xác suất cơ bản

1.7 Ứng dụng của thuật toán phân cụm

Phân cụm dữ liệu được ứng dụng vào rất nhiều lĩnh vực như thương mại,sinh học, phân tích dữ liệu không gian, lập quy hoạch đô thị, nghiên cứu tráiđất, địa lý, Web…

Ứng dụng của thuật toán phân cụm có thể kể đến như:

Phân đoạn/phân cụm ảnh (Image Segmentation) là một nội dung nghiêncứu căn bản và khó trong lĩnh vực xử lý ảnh, thị giác máy tính Các hướngtiếp cận chính trong phương pháp phân đoạn ảnh là sử dụng thuật toán phâncụm (có giám sát – supervised), không giám sát (unsupervised) hoặc nửagiám sát (semi-supervised) Một số ví dụ có thể kể đến như sau [3]:

- Phân đoạn ảnh bất bình thường (abnormal regions) trong ảnh nội soikhông dây (Capsule Endoscopy Image): Hiện nay, với khoảng 300 mẫu dữliệu bệnh nhân được tổng hợp mỗi năm, bác sỹ (chuẩn đoán hình ảnh) thường

Trang 25

phải mất thời gian phân đoạn các vùng bất bình thường (vùng chảy máu, viêm nhiễm (ulcer), vùng có polyps, tumors …) trong quá trình chuẩn đoán ảnh.

- Phân đoạn ảnh nội soi thường gặp một số thách thức như độ phân giảithấp (256x256 pixels), ảnh thường có các thành phần không có nghĩa (cácnhiễu do bong bóng nước, thức ăn, …); các đặc trưng vùng bệnh đa dạng,biến đổi không theo quy luật, phân đoạn cho một loại ảnh bất bình thường

(vùng chảy máu) (hình 1.4.a).

- Phân đoạn các đối tượng cần quan tâm trong ảnh thu từ thiết bị baykhông người lái (Unmanned Aerial Vehicle (UAV)

Kết quả phân đoạn này có thể hỗ trợ nhiều bài toán lớn tiếp theo nhưgiám sát an ninh trong môi trường vừa và lớn, thống kê, xây dựng bản đồ

(hình 1.4.b).

Hình 1.4 Một số ví dụ về phân đoạn ảnh sử dụng clustering

Trang 26

Hình 1.5 Ứng dụng clustering trong việc phát hiện những vùng bị hỏng

trên trái cây

- Phân đoạn để nhận dạng các bề mặt là bình thường hay bất thường trên

Trang 27

thuốc dùng trong y học, trong nhận dạng và phân loại đối tượng, trong khai phá dữ liệu (KDD).

1.8 Đánh giá kết quả của thuật toán phân cụm

Để đánh giá kết quả của các thuật toán phân cụm, chúng tôi sử dụng chỉ

số Rand, một trong những phương pháp phổ biến để đánh giá kết quả phâncụm [4] Giả sử cần so sánh hai kết quả phân cụm P1 và P2 với n điểm dữ liệuchúng ta thực hiện như sau:

Gọi a là tổng số các cặp (xi, xj) có tính chất: cả xi và xj đều nằm cùng mộtcụm trong cả hai phân cụm P1 và P2 Gọi b là tổng số các cặp (xi, xj) sao cho

cả xi và xj nằm ở hai cụm khác nhau trong P1 và P2 Giá trị Rand được xác

định bởi công thức:

Trang 28

Rand(P1 , P2 ) a b

n n 2

Giá trị của Rand nằm trong đoạn [0, 1], giá trị Rand càng lớn thể hiện

chất lượng phân cụm càng tốt và ngược lại

1.9 Phương pháp phân cụm nửa giám sát

Các thuật toán phân cụm nửa giám sát sẽ sử dụng các thông tin có được

từ người sử dụng (side information) nhằm mục đích trợ giúp quá trình phân

cụm nhằm tăng chất lượng của clustering Chú ý rằng đối với các bài toán

semi-supervised classification chúng ta cũng có cùng đầu vào như bài toán

phân cụm nửa giám sát, tuy nhiên mục đích nghiên cứu của bài toán phân lớpnửa giám sát nhằm xây dựng hàm mục tiêu nhằm dự đoán cho các điểm dữliệu chưa biết không nằm trong phạm vi nghiên cứu của đề tài này

Hiện nay có hai hướng tiếp cận phương pháp phân cụm nửa giám sát là:

Phương pháp dựa trên tìm kiếm

Trong hướng tiếp cận này, chính thuật toán phân cụm sẽ được sửa đổi

Trang 29

nhằm tìm kiếm một phân hoạch thích hợp thỏa mãn các ràng buộc thông quaviệc sử dụng các thông tin bổ trợ.

Phương pháp dựa trên độ đo tương tự

Trong phương pháp này, các thông tin bổ trợ ban đầu sẽ được dùng vàoviệc huấn luyện một hàm khoảng cách (hàm độ đo) Sau đó thuật toán phâncụm sẽ sử dụng hàm độ đo nay để phân cụm các dữ liệu

Trang 30

CHƯƠNG 2 MỘT SỐ THUẬT TOÁN PHÂN CỤM NỬA GIÁM SÁT 2.1 Giới thiệu bài toán phân cụm nửa giám sát

Một trong những hướng nghiên cứu quan trọng trong các năm gần đây

là phát triển các phương pháp phân cụm nửa giám sát (semi-supervised clustering) Các thuật toán phân cụm nửa giám sát sẽ sử dụng các thông tin có được từ các chuyên gia (side information) nhằm mục đích trợ giúp trong quá trình phân cụm và vì vậy cải tiến đáng kể chất lượng của clustering.

Trang 32

+ + *

+ +++ * **

+ + + *

**

(a) Seed-based clustering (b) Constraint-based clustering

Hình 2.3 (a) Các điểm tương ứng với tập dữ liệu đầu vào, các seed

(các dữ liệu đã được gán nhãn) tương ứng là các điểm ký hiệu bởi các dấu cộng, dấu nhân, và dấu sao (b) các ràng buộc (constraint) must-link và cannot-link được biểu diễn tương ứng bằng các đoạn thẳng nét liền và nét đứt.

Trên thực tế, có hai loại side information thường được sử dụng là các dữ liệu đã được gán nhãn (labeled data hay còn gọi là seed) và các ràng buộc (constraint) (hình 2.3) Các constraint bao gồm hai loại: must-link(u,v) (u, v X) biểu thị u và v sẽ được phân vào cùng một cụm và cannot-link(u,v) biểu thị

u và v sẽ được phân về hai cụm khác nhau.

Các phương pháp semi-supervised clustering bắt đầu được nghiên cứu

một cách mạnh mẽ từ sau nghiên cứu của Tiến sĩ Wagstaff về Constrained

K-Means Clustering tại hội nghị ICML năm 2001 Các thuật toán supervised clustering đã được nghiên cứu khẳng định chất lượng phân cụm

semi-được tăng lên rõ rệt với sự sử dụng chỉ một lượng nhỏ các side information.Hiện nay, các thuật toán semi-supervised clustering sử dụng constraint

bằng hai cách: các constraint sẽ được nhúng trực tiếp trong quá trình

Trang 33

clustering hoặc sử dụng để huấn luyện (training) một hàm độ đo nhằm xâydựng một hàm khoảng cách mới trong không gian dữ liệu.

Phương pháp sử dụng trực tiếp các constraint: Trong phương pháp này,

có hai cách được sử dụng dụng là: các chiến thuật thỏa mãn tất cả các ràngbuộc và các chiến thuật thỏa mãn một cách tối đa các ràng buộc Với các kỹthuật thỏa mãn tất cả các ràng buộc, quá trình phân cụm sẽ được kiểm tra sựthỏa mãn của các constraint liên tục trong quá trình clustering như trong cácnghiên cứu về COP-Kmeans, Constrained Leader Ant hoặc C-DBSCAN Vớiphương pháp thỏa mãn tối đa các constraint, các constraint sẽ được tích hợp

vào trong hàm mục tiêu (object function) và áp dụng một số phương pháp tối

ưu để giải quyết như trong các thuật toán Fuzzy C-Means hay K-Means

Phương pháp sử dụng các constraint để huấn luyện một hàm khoảng

cách: Trong phương pháp này các constraint sẽ được dùng để huấn luyện(training) nhằm xây dựng một hàm khoảng cách sao cho trong không gian độ

đo mới, các điểm dữ liệu thuộc cùng ràng buộc must-link sẽ gần nhau hơn và ngược lại các điểm thuộc về các cannot-link sẽ xa nhau ra Một số hàm

khoảng cách đã được các tác giả sử dụng trong các nghiên cứu như: edit, Jensen-Shannon, Euclidean và Mahalanobis

string-Với các thuật toán semi-supervised clustering sử dụng các seed, có thể

kể ra đây một số nghiên cứu như Seed Fuzzy C-Means, Seed K-Means, SeedDBSCAN Trong các phần tiếp theo, chúng tôi sẽ trình bày chi tiết các thuậttoán này

2.2 Thuật toán phân cụm nửa giám sát với K-Means

Trước khi trình bày thuật toán phân cụm nửa giám sát K-Means, chúng tôi trình bày ngắn gọn thuật toán K-Means, một trong những thuật toán được

sử dụng nhiều nhất trong lĩnh vực khai phá dữ liệu và học máy

Trang 34

x

2.2.1 Thuật toán K-Means

K-means, được giới thiệu bởi MacQueen năm 1967, là một trong nhữngthuật toán học không giám sát đơn giản và hiệu quả để giải quyết bài toánphân cụm dữ liệu [3] Ý tưởng của phương pháp này là với tham số đầu vào k(là số cụm cần phân tách của dữ liệu), thuật toán sẽ bắt đầu với k trọng tâmngẫu nhiên của mỗi cụm và lặp đi lặp lại quá trình tính lại trọng tâm cũng nhưgán lại các điểm vào trọng tâm gần nó nhất sao cho đến khi các trọng tâm làkhông thay đổi được nữa để xác định các cụm K-Means sử dụng hàm mụctiêu sau để lượng giá trị sau mỗi lần tính lại các trọng tâm

k n

j i

j 1 i 1

Thuật toán K-Means được trình bày trong Algorithm 2.1

Algorithm 2.1: Thuật toán K-Means;

Input: Tập dữ liệu X = {x1, x2,…,xn}, xi Rn, số lượng

Trang 35

Until (Thỏa mãn điều kiện hội tụ)

Độ phức tạp của thuật toán K-Means là O(n k) trong đó n là số điểm

của dữ liệu và k là số cụm của dữ liệu Ưu điểm của thuật toán K-Means làtốc độ nhanh, tuy nhiên nhược điểm của K-Means là phương pháp này chỉ tìm

được các cụm có hình cầu mà không tìm được các cụm có kích thước và hình

Trang 36

dạng bất kỳ (hình 2.5) Một hạn chế nữa của K-Means là kết quả phân cụmphụ thuộc vào việc lựa chọn các điểm trọng tâm đầu tiên Hình 2.4 minh họaviệc lựa chọn các trọng tâm khác nhau sẽ cho ra các kết quả khác nhau củaquá trình phân cụm.

Trang 38

Hình 2.4 Minh họa thuật toán K-Means: sự phụ thuộc vào trọng tâm

tại bước khởi tạo dẫn đến các kết quả khác nhau sau mỗi lần chạy

Hình 2.5 Dữ liệu (với 9 cụm) mà K-Means không thể phát hiện chính

xác các cụm

Trang 39

2.2.2 Thuật toán Seed K-Means

Thuật toán Seed K-Means sử dụng một số seed nhằm khắc phục hạn

chế của thuật toán K-Means trong vấn đề lựa chọn các trọng tâm của các cụm– thuật toán K-Means thường có các kết quả khác nhau sau mỗi lần thực hiện

vì chúng phụ thuộc vào vấn đề lựa chọn các trọng tâm ngẫu nhiên đầu tiên Ý

tưởng cơ bản của thuật toán Seed-KMeans là sử dụng các seed cho bước khởi

tạo các trọng tâm và vì vậy thuật toán sẽ cho ra kết quả tốt hơn chỉ sau duynhất một lần thực hiện

Thuật toán Seed K-Means được trình bày trong Algorithm 2.2

Algorithm 2.2: Seed K-Means;

Input: Tập dữ liệu X = {x1, x2,…,xn}, xi Rn, số lượng cụm k,

S = {S1, S2,…Sl}, l = 1,…, k là tập các seed

Output: k cụm của X

Khởi tạo các trọng tâm cho các cụm sử dụng tập các seed S:

Trang 40

01

Ngày đăng: 06/01/2019, 00:23

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Phạm Việt Bình, Đỗ Năng Toàn, Xử lý ảnh, Nhà xuất bản Khoa học và Kỹ thuật, 2008.[2]. Vũ Lan Phương, Nghiên cứu và cài đặt một số giải thuật phân cụm phânlớp, Luận văn Thạc sỹ Đại học Bách khoa Hà Nội, 2006 Sách, tạp chí
Tiêu đề: Xử lý ảnh, "Nhà xuất bản Khoa học vàKỹ thuật, 2008.[2]. Vũ Lan Phương, "Nghiên cứu và cài đặt một số giải thuật phân cụm phân"lớp
Nhà XB: Nhà xuất bản Khoa học vàKỹ thuật
[3]. Vũ Việt Vũ, Nghiên cứu phương pháp học máy cho bài toán phân cụm nửa giám sát, Đề tài khoa học và công nghệ cấp đại học, 2015.Tiếng Anh Sách, tạp chí
Tiêu đề: Nghiên cứu phương pháp học máy cho bài toán phân cụmnửa giám sát
[4]. M. Lichman, UCI Machine Learning Repository [archive.ics.uci.edu/ml].Irvine, CA: University of California, School of Information and Computer Science, 2013 Sách, tạp chí
Tiêu đề: UCI Machine Learning Repository
[6] tu S a rt R u s s e l l , P e t er N o r v i g , Artificial Intelligence: A Modern Approach, Prentice Hall, 2009 Sách, tạp chí
Tiêu đề: Artificial Intelligence: A Modern Approach
[5] Rafael C. Go n z a l ez and R i c h a r d E . W ood s , Digital Image Processing, Prentice Hall, 2007 Khác
[7] W. M. Rand. Objective criteria for the evaluation of clustering methods. J ou r n a l o f t h e A m er i can S t a t i st i c al A s s o c i a ti o n , 66 (336): 846–850, 1971 Khác
[8] Violaine Antoine, Nicolas Labroche, Viet-Vu Vu. Evidential seed-based semi-supervised clustering. Proceeding of the 7th International Conference on Soft Computing and Intelligent Systems and 15th International Symposium on Advanced Intelligent Systems, Japan, December, 3-6, 2014 Khác

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w