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

Cài đặt một số thuật toán phân cụm dữ liệu, áp dụng vào bài toán phân nhóm bệnh án của bệnh xơ gan để hỗ trợ điều trị

70 427 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 70
Dung lượng 2,92 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Khai phá dữ liệu là một bước trong quá trình khám phá tri thức, gồm các thuật toán khai thác dữ liệu chuyên dụng dưới một số quy định về hiệu quả tính toán chấp nhận được để tìm ra các m

Trang 1

MỤC LỤC

LỜI NÓI ĐẦU 3

CHƯƠNG 1 GIỚI THIỆU VỀ KHAI PHÁ DỮ LIỆU 5

1.1 Khái niệm khai phá dữ liệu 5

1.2 Kiến trúc của một hệ thống khai phá dữ liệu 6

1.3 Các giai đoạn của quá trình khai phá 7

1.4 Các phương pháp khai phá dữ liệu 9

1.5 Các cơ sở dữ liệu phục vụ cho khai phá dữ liệu 10

1.6 Các ứng dụng của khai phá dữ liệu 11

1.7 Các thách thức và khó khăn trong khai phá dữ liệu 12

CHƯƠNG 2 TỔNG QUAN VỀ PHÂN CỤM DỮ LIỆU 13

2.1 Khái niệm và mục tiêu của phân cụm dữ liệu 13

2.1.1 Khái niệm về phân cụm dữ liệu 13

2.1.1.1 Mục tiêu của phân cụm dữ liệu 13

2.1.1.2 Các yêu cầu đối với kỹ thuật phân cụm dữ liệu 14

2.1.1.3 Các kiểu dữ liệu và các thuộc tính trong phân cụm 14

2.1.2 Các kỹ thuật tiếp cận trong phân cụm dữ liệu 16

2.1.2.1 Phương pháp phân cụm phân hoạch 16

2.1.2.3 Phương pháp phân cụm phân cấp 16

2.1.2.3 Phương pháp phân cụm dựa trên mật độ 17

2.1.2.4 Phân cụm dựa trên lưới 18

2.1.2.5 Phân cụm dựa trên mô hình 19

2.1.2.6 Phân cụm có dữ liệu ràng buộc 19

2.1.3.Một số phương pháp trong phân cụm dữ liệu 21

2.1.3.1 Các thuật toán trong phân cụm phân hoạch 21

2.1.3.2 Các thuật toán trong phân cụm phân cấp 27

2.1.3.3.Các thuật toán phân cụm dựa trên mật độ 28

2.1.3.4.Phân cụm dựa trên lưới 29

2.1.3.5.Phân cụm dựa trên mô hình 30

2.2 Phân cụm cụm mờ 31

2.2.1 Tổng quan về phân cụm mờ 31

2.2.2 Các thuật toán phân cụm mờ 32

2.2.2.1 Thuật toán FCM (Fuzzy C-Means) 32

2.2.2.2 Thuật toán εFCM 34

2.2.2.3 Thuật toán FCM cải tiến 36

CHƯƠNG 3 CHƯƠNG TRÌNH CÀI ĐẶT 44

3.1 Giới thiệu ngôn ngữ Visual Basic 6.0 44

3.1.1 Biểu mẫu và một số điều khiển thông dụng 44

3.1.2 Biểu mẫu (Form) 45

3.1.3 Nhãn (Label) 46

3.1.5 Nút lệnh (Command Button) 47

3.1.6 Ô nhập dữ liệu (TextBox) 48

3.1.7 Các cấu trúc điều khiển trong VB 49

3.2 Cài đặt thuật toán 51

3.2.1.Một số giao diện chính 51

Trang 2

3.2.2 Nhận xét 54

3.3 Ứng dụng C-Means trong việc phân cụm bệnh án cho bệnh xơ gan 55

3.3.2 Một số bảng thao tác 59

3.3.3 Giao diện chương trình ứng dụng 62

KẾT LUẬN 68

TÀI LIỆU THAM KHẢO 70

Trang 3

LỜI NÓI ĐẦU

Trong vài năm gần đây, với sự bùng nổ của công nghệ thông tin đã mang lại nhiều hiệu quả và thành công lớn đối với khoa học cũng như các hoạt động thực

tế khác, trong đó có lĩnh vực khai phá dữ liệu là một lĩnh vực mang lại hiệu quả thiết thực cho con người Khai phá dữ liệu đã giúp chúng ta thu được những tri thức hữu ích từ cơ sở dữ liệu hay từ các kho dữ liệu khổng lồ khác Cơ sở dữ liệu được sử dụng trong các đơn vị, tổ chức kinh doanh, quản lý khoa học chứa đựng nhiều thông tin tiềm ẩn, phong phú và đa dạng đòi hỏi phải có những phương pháp nhanh, phù hợp, chính xác, hiệu quả để lấy được những thông tin có ích để làm tư liệu đối với từng trường hợp cụ thể của con người Những tri thức thu được từ cơ sở dữ liệu trên sẽ là nguồn thông tin hỗ trợ cho chúng ta trong từng công việc chi tiết, cụ thể Việc tiến hành công việc như vậy chính là thực hiện quá trình phát hiện tri thức trong cơ sở tri thức ( Knowledge Discovery in Database) mà trong đó là kỹ thuật khai phá dữ liệu (Data Mining) cho phép phát hiện những tri thức tiềm ẩn Ngay từ ngày đầu khi xuất hiện, Data mining đã trở thành một trong những xu hướng nghiên cứu phổ biến trong lĩnh vực công nghệ tri thức như nhiều thành tựu nghiên cứu của Data mining đã được áp dụng trong thực tế Data mining có nhiều hướng nghiên cứu quan trọng và một trong các hướng cơ bản trong khai phá dữ liệu là quá trình phân cụm dữ liệu (Data Clustering) Phân cụm dữ liệu có thể hiểu là quá trình tìm kiếm tri thức, phân tách (hay chuẩn hóa dữ liệu) thành các cụm hay các tập dữ liệu từ một tập cơ sở

dữ liệu lớn để thu được nguồn thông tin có ích phục vụ cho từng nhu cầu thực tế

của mỗi người, mỗi tổ chức

Qua thực tế cho thấy, việc thu thập những thông tin quan trọng còn tiềm ẩn trong cơ sở dữ liệu lớn là rất cần thiết Vì vậy, việc phân cụm dữ liệu, trích lọc những thông tin quan trọng phục vụ cho từng nhu cầu của mỗi người đã mang lại nhiều lợi ích quan trọng góp phần giảm bớt lượng dữ liệu dư thừa hoặc không

cần thiết trong từng ứng dụng thực tế

Trang 4

Bắt nguồn từ ý tưởng này, cùng với sự gợi ý của thầy giáo Trần Mạnh

Tuấn, em đã thực hiện đồ án “CÁI ĐẶT MỘT SỐ THUẬT TOÁN PHÂN CỤM DỮ LIỆU, ÁP DỤNG VÀO BÀI TOÁN PHÂN NHÓM BỆNH ÁN CỦA BỆNH XƠ GAN ĐỂ HỖ TRỢ VIỆC ĐIỀU TRỊ ”

Để có kết quả như ngày hôm nay, em cũng đã cố gắng nhiều, song phần lớn

là nhờ sự giúp đỡ và chỉ bảo tận tình của thầy giáo Th.s Trần Mạnh Tuấn Nhưng

vì điều kiện và thời gian có hạn nên việc tìm hiểu về lĩnh vực này cũng còn nhiều hạn chế và không tránh khỏi những thiếu sót Vì vậy em mong được sự góp ý, chỉ

bảo của quý thầy cô và bạn bè để báo cáo của em được hoàn thiện hơn

Trang 5

CHƯƠNG 1 GIỚI THIỆU VỀ KHAI PHÁ DỮ LIỆU

Trong những năm gần đây, Khai phá dữ liệu đã và đang trở thành một trong những hướng nghiên cứu và tiếp cận mới thu hút được sự quan tâm của nhiều chuyên gia Công nghệ thông tin ở Việt Nam nói riêng và chuyên gia trên thế giới nói chung Điều này cho chúng ta thấy được những ưu thế và lợi ích, khả năng ứng dụng thực tế của Khai phá dữ liệu là rất lớn Vì vậy sau đây em xin đưa ra một số khái niệm và những kiến thức cơ bản nhất về Khai phá dữ liệu

1.1 Khái niệm khai phá dữ liệu

Khai phá dữ liệu là một lĩnh vực nghiên cứu nhằm tự động khai thác thông tin tri thức, tri thức hữu ích, tiềm ẩn từ những CSDL lớn cho các đơn vị tổ chức, doanh nghiệp,…Vậy khai phá dữ liệu là khám phá tri thức tiềm ẩn trong các cơ

sở dữ liệu lớn Cụ thể hơn, đó là quá trình trích lọc, sản sinh ra những thông tin hoặc các mẫu không hiển nhiên, tiểm ẩn nhưng hữu ích từ các cơ sở dữ liệu lớn Các kết quả nghiên cứu khoa học cùng những ứng dụng thành công trong phát hiện tri thức cho thấy Khai phá tri thức là một lĩnh vực phát triển bền vững, mang lại nhiều lợi ích và có nhiều triển vọng, đồng thời có ưu thế hơn hẳn so với công các công cụ tìm kiếm phân tích dữ liệu truyền thống

Khai phá dữ liệu là một bước trong quá trình khám phá tri thức, gồm các thuật toán khai thác dữ liệu chuyên dụng dưới một số quy định về hiệu quả tính

toán chấp nhận được để tìm ra các mẫu hoặc các mô hình trong dữ liệu

Hình 1: Quá trình khai phá dữ liệu

Trang 6

Vậy ta có thể khái quát hóa khái niệm Khai phá dữ liệu là một quá trình tìm kiếm, phát hiện các tri thức mới, hữu ích, tiềm ẩn trong CSDL lớn Cụ thể hơn đó

là tiến trình lọc, sản sinh những tri thức hoặc các mẫu tiềm ẩn, chưa biết thông tin hữu ích từ các cơ sở dữ liệu lớn

1.2 Kiến trúc của một hệ thống khai phá dữ liệu

Khai phá dữ liệu là quá trình rút trích thông tin bổ ích từ những kho dữ liệu lớn Khai phá dữ liệu là quá trình chính trong khai phá tri thức từ cơ sở dữ liệu Kiến trúc của một hệ thống khai phá dữ liệu có các thành phần như sau:

Hình 2: Kiến trúc một hệ thống khai phá dữ liệu

 CSDL, kho dữ liệu hoặc lưu trữ thông tin khác: đây là một hay các tập CSDL, các kiểu dữ liệu hay các dạng khác nhau của thông tin được lưu trữ Các kỹ thuật làm sạch dữ liệu và tích hợp dữ liệu có thể được thực

Trang 7

thể bao gồm một sự phân cấp khái niệm dùng để tổ chức các thuộc tính hay các giá trị thuộc tính ở các mức trừu tượng khác nhau

 Máy khai phá dữ liệu (Data mining enginne): là một hệ thống khai phá dữ liệu cần phải có một tập các Modul chức năng để thực hiện công việc như kết hợp, phân lớp,phân cụm

 Modul đánh giá mẫu (Parttern evaluation): Bộ phận tương tác với các Modul khai phá dữ liệu để tập trung vào việc duyệt tìm các mẫu đang được quan tâm Nó có thể dùng các ngưỡng về độ quan tâm để lọc các mẫu đã khám phá được Cũng có thể Modul đáng giá mẫu được tích hợp vào Modul khai phá dữ liệu, tùy theo cách cài đặt của phương pháp khai phá dữ liệu được dùng

 Giao diện đồ họa cho người dùng (Graphical user interface): bộ phận này cho phép người dùng giao tiếp với hệ thống khai phá dữ liệu Thông qua giao diện này người dùng có thể tương tác với hệ thống bằng cách đặc tả một yêu cầu khai phá hay một nhiệm vụ, cung cấp thông tin trợ giúp cho việc tìm kiếm và thực hiện việc khai phá thăm dò trên các kết quả khai phá trung gian Ngoài ra, bộ phận này còn cho phép người dùng xem các lược đồ CSDL, lược đồ kho dữ liệu, các đánh giá mẫu và hiển thị các mẫu trong các khuôn dạng khác nhau

1.3 Các giai đoạn của quá trình khai phá

Khai phá dữ liệu là một giai đoạn quan trọng trong quá trình khám phá tri thức Về bản chất, nó là giai đoạn duy nhất tìm ra được thông tin mới, thông tin tiềm ẩn có trong CSDL chủ yếu phục vụ cho mô tả và dự đoán

Mô tả dữ liệu là tổng kết hoặc diễn tả những đặc điểm chung của những thuộc tính dữ liệu trong kho dữ liệu mà con người có thể hiểu được

Dự đoán là dựa trên những dữ liệu hiện thời để dự đoán những quy luật được phát hiện từ các mối liên hệ giữa các thuộc tính của dữ liệu trên cơ sở đó chiết xuất ra các mẫu, dự đoán được những giá trị chưa biết hoặc những giá trị tương lai của các biến quan tâm

Trang 8

Quá trình khai phá dữ liệu được thể hiện như hình sau:

Hình 3: Quá trình khai phá dữ liệu

Trong đó :

 Xác định nhiệm vụ: xác định chính xác các vấn đề cần giải quyết

 Xác định các dữ liệu liên quan: Dùng để xây dựng giải pháp

 Thu thập và tiền xử lý dữ liệu: Thu thập dữ liệu liên quan và tiền xử lý chúng sao cho thuật toán khai phá dữ liệu có thể hiểu được Đây là quá trình khó khăn, có thể gặp phải rất nhiều vướng mắc như: dữ liệu phải được sao ra nhiều bản, quản lí tập các dữ liệu, phải lặp đi lặp lại nhiều lần toàn bộ quá trình…

Quá trình khai phá dữ liệu trải qua ba bước:

Bước 1: Lọc dữ liệu được thực hiện trong quá trình tiền xử lý Đầu tiên là

tích hợp và chỉnh sửa Dữ liệu được thu thập từ nhiều nguồn khác nhau nên có thể có những sai sót, dư thừa và trùng lặp Lọc dữ liệu là cắt bỏ dư thừa để dữ liệu được định dạng thống nhất Dữ liệu sau khi lọc và chỉnh sửa sẽ nhỏ hơn, xử

lý nhanh hơn

Bước 2: Khai phá dữ liệu là công việc chính, sử dụng các thuật toán khác

nhau để khai phá các kiến thức tiềm ẩn trong dữ liệu

Bước 3: quá trình ước lượng kết quả khai phá theo yêu cầu của người dùng

Các kết quả được ước lượng bởi những quy tắc nào đó, nếu kết quả cuối cùng không thỏa mãn yêu cầu thì phải làm lại với kỹ thuật khác cho đến khi có kết quả

Trang 9

1.4 Các phương pháp khai phá dữ liệu

Mục đích của khai phá dữ liệu là chiết xuất ra các tri thức có lợi cho kinh doanh hay cho nghiên cứu khoa học… Do đó, ta có thể xem mục đích của khai phá dữ liệu sẽ là mô tả các sự kiện và dự đoán Dự đoán liên quan đến việc sử dụng các biến hoặc các đối tượng (bản ghi) trong cơ sở dữ liệu để chiết xuất ra các mẫu, dự đoán được những giá trị chưa biết hoặc những giá trị tương lai của các biến đáng quan tâm Còn mô tả tập trung vào việc tìm kiếm các mẫu mô tả dữ liệu mà con người có thể hiểu được Với hai mục đích của khai phá dữ liệu đó, người ta thường sử dụng các phương pháp cho Khai phá dữ liệu như sau:

 Luật kết hợp (Association rules)

 Phân lớp (Classfication)

 Hồi quy (Regression)

 Trực quan hóa (Visualiztion)

 Phân cụm (Clustering)

 Tổng hợp (Summarization)

 Mô hình ràng buộc (Dependency modeling)

 Biểu diễn mô hình (Model Evaluation)

 Phân tích sự phát triển và độ lệch (Evolution and deviation analyst)

 Phương pháp tìm kiếm (Search method)

Trong số các phương pháp khai phá dữ liệu trên, có 3 phương pháp được sử dụng nhiều đó là: Luật kết hợp, Phân lớp dữ liệu và Phân cụm dữ liệu

Phân lớp dữ liệu: Khái niệm phân lớp dữ liệu được Han và Kamber đưa ra

năm 2000 Phân lớp dữ liệu là xây dựng một mô hình mà có thể phân các đối tượng thành những lớp để dự đoán giá trị bị mất tại một số thuộc tính của dữ liệu hay tiên đoán giá trị của dữ liệu sẽ xuất hiện trong tương lai

Quá trình phân lớp dữ liệu được thực hiện qua 2 bước:

Dựa vào tập hợp dữ liệu huấn luyện, xây dựng một mô hình mô tả những đặc trưng của những lớp dữ liệu hoặc những khái niệm, đây là quá trình học có giám sát, học theo mẫu được cung cấp trước

Trang 10

Từ những lớp dữ liệu hoặc những khái niệm được xác định trước, dự đoán giá trị của những đối tượng quan tâm

Một kỹ thuật phân lớp dữ liệu được Han và Kamber đưa ra là cây quyết định Mỗi nút của cây đại diện một quyết định dựa vào giá trị thuộc tính tương ứng

Phân nhóm dữ liệu: Phân nhóm là kỹ thuật khai phá dữ liệu tương tự như

phân lớp dữ liệu tuy nhiên, sự phân nhóm là quá trình học không giám sát, là quá trình nhóm những đối tượng vào trong những lớp tương đương, những đối tượng trong cùng nhóm phải tương đương nhau và khác với những đối tượng khác trong các nhóm khác Trong phân nhóm đối tượng, những đối tượng được nhóm lại cùng nhau dựa vào sự giống nhau của chúng Sự giống nhau giữa những đối tượng được xác định bởi những chức năng giống nhau Thông thường sự giống nhau về định lượng như khoảng cách hoặc độ đo khác được xác định bởi những chuyên gia trong lĩnh vực

1.5 Các cơ sở dữ liệu phục vụ cho khai phá dữ liệu

Dựa vào những kiểu dữ liệu mà kỹ thuật khai phá áp dụng, có thể chia dữ liệu thành các loại khác nhau:

Cơ sở dữ liệu quan hệ: Đến nay hầu như dữ liệu được lưu trữ dưới dạng cơ

sở dữ liệu quan hệ Cơ sở dữ liệu quan hệ có cấu trúc cao, dữ liệu được

mô tả bởi một tập các thuộc tính và lưu trong bảng Khai phá dữ liệu trên

cơ sở dữ liệu quan hệ chủ yếu tập trung khai phá mẫu

Cơ sở dữ liệu giao tác: là tập hợp những bản ghi giao dịch , trong đa số các

trường hợp chúng là những bản ghi các dữ liệu hoạt động của doanh nghiệp, tổ chức Khai phá dữ liệu trên cơ sở dữ liệu giao tác tập trung vào khai phá luật kết hợp tìm mối tương quan giữa những mục dữ liệu của bản ghi giao dịch

Cơ sở dữ liệu không gian: bao gồm hai phần: dữ liệu quan hệ (hay giao tác)

và thông tin định vị (hoặc thông tin địa lý) Những luật kết hợp trên cơ sở

dữ liệu không gian mô tả mối quan hệ giữa các đặc trưng trong cơ sở dữ liệu không gian Dạng của luật kết hợp không gian có dạng X -> Y với

Trang 11

X,Y là tập hợp những vị từ không gian Những thuật toán khai phá luật kết hợp không gian tương tự như khai phá luật kết hợp nhưng thêm những vị

từ không gian

Cơ sở dữ liệu có yếu tố thời gian: Giống như cơ sở dữ liệu có yếu tố không

gian, cơ sở dữ liệu này bao gồm hai phần: Dữ liệu quan hệ (hay giao tác)

và Thông tin về thời gian xuất hiện dữ liệu ở phần 1 Những luật kết hợp thời gian có nhiều thông tin hơn những luật kết hợp cơ bản

Cơ sở dữ liệu đa phương tiện: số lượng trang Web đang bùng nổ trên thế

giới, thông tin trên Web đang phát triển với tốc độ cao vì vậy việc khai phá thông tin trên Web (Web mining) đã trở thành một lĩnh vực nghiên cứu chính của khai phá dữ liệu và đang được quan tâm Khai phá dữ liệu trên Web được chia thành 3 phạm trù chính: Khai phá cách sử dụng Web (Web usage mining), khai phá cấu trúc Web (Web structure mining) và khai phá nội dung Web (Web content mining) Khai phá cách dùng Web tập trung vào việc khai phá thông tin của người truy cập Web

1.6 Các ứng dụng của khai phá dữ liệu

Khai phá dữ liệu tuy là một lĩnh vực mới nhưng đang thu hút được sự quan tâm của rất nhiều nhà nghiên cứu, nhờ đó nó có nhiều những ứng dụng trong thực tiễn, điển hình như:

 Phân tích dữ liệu và hỗ trợ ra quyết định

 Phân lớp văn bản, tóm tắt văn bản, phân lớp các trang Web và phân cụm ảnh màu

 Chuẩn đoán triệu chứng, phương pháp trong điều trị y học

 Tìm kiếm, đối sánh các hệ Gene và thông tin di truyền trong sinh học

 Phân tích tình hình tài chính, thị trường, dự báo giá cổ phiếu trong tài chính, thị trường và chứng khoán

 Phân tích dữ liệu marketing, khách hang

 Điều khiển và lập lịch trình

 Bảo hiểm, Giáo dục, Y tế……

Trang 12

1.7 Các thách thức và khó khăn trong khai phá dữ liệu

Khai phá dữ liệu liên quan đến nhiều ngành, nhiều lĩnh vực trong thực tế, vì vậy các thách thức và khó khăn ngày càng nhiều, càng lớn hơn Dưới đây là một

số khó khăn cần được quan tâm và giải quyết:

 Các cơ sở dữ liệu lớn, các tập dữ liệu cần xử lý có kích thước lớn Thực tế, kích thước của các tập dữ liệu thường ở mức tera- byte

 Mức độ nhiễu cao hoặc dữ liệu bị thiếu

 Số chiều các thuộc tính lớn

 Thay đổi dữ liệu và tri thức có thể làm cho các mẫu đã phát hiện không còn phù hợp

 Quan hệ giữa các trường phức tạp

 Việc giao tiếp với người sử dụng và kết hợp các tri thức

 Tích hợp với các hệ thống khác

Cơ sở dữ liệu có thể lớn về số lượng các bản ghi, về số lượng các thuộc tính trong CSDL Để giải quyết vấn đề này, người ta đưa ra một ngưỡng nào đó cho CSDL bằng các cách như chiết xuất mẫu, xấp xỉ hoặc xử lý song song

Để khắc phục việc dữ liệu thay đổi phụ thuộc theo thời gian ta cần phải chuẩn hóa,cải tiến, nâng cấp các mẫu, các mô hình và có thể xem các thay đổi này là mục đích của khai phá và tìm kiếm các mẫu bị thay đổi

Với thuộc tính không phù hợp, các bộ giá trị không đầy đủ, bị thiếu giá trị trong các miền thuộc tính… người ta sẽ coi sự thiếu vắng của các dữ liệu này là giá trị ẩn, chưa biết và có thể được tiên đoán bằng một số phương pháp nào đó Với những Quan hệ phức tạp giữa các thuộc tính trong CSDL đòi hỏi phải

có các giải pháp, các kỹ thuật để có thể áp dụng được, nhận ra được các mối quan

hệ này trong quá trình khai phá dữ liệu

Trang 13

CHƯƠNG 2 TỔNG QUAN VỀ PHÂN CỤM DỮ LIỆU 2.1 Khái niệm và mục tiêu của phân cụm dữ liệu

2.1.1 Khái niệm về phân cụm dữ liệu

Phân cụm dữ liệu là quá trình nhóm một tập các đối tượng tương tự nhau trong tập dữ liệu vào các cụm sao cho các đối tượng thuộc cùng một cụm là tương đồng, còn các đối tượng thuộc các cụm khác nhau sẽ không tương đồng Phân cụm dữ liệu là một kỹ thuật trong Khai phá dữ liệu nhằm tìm kiếm, phát hiện các cụm, các mẫu dữ liệu tự nhiên tiềm ẩn quan trọng trong tập dữ liệu lớn từ đó cung cấp thông tin tri thức hữu ích cho việc ra quyết định

Không giống như phân lớp dữ liệu, phân cụm dữ liệu không đòi hỏi phải định nghĩa trước các mẫu dữ liệu huấn luyện Vì thế, có thể coi phân cụm dữ liệu

là một cách học bằng quan sát trong khi phân lớp dữ liệu là học bằng ví dụ … Ngoài ra, phân cụm dữ liệu còn có thể được sử dụng như một bước tiền xử

lý cho các thuật toán khai phá dữ liệu khác như là phân loại và mô tả đặc điểm,

có tác dụng trong việc phát hiện ra các cụm.Phân cụm dữ liệu đang là vấn đề mở

và khó vì người ta cần phải đi giải quyết nhiều vấn đề cơ bản về dữ liệu để nó phù hợp với nhiều dạng dữ liệu khác nhau như dữ liệu chứa nhiễu do quá trình thu thập thiếu chính xác, không tường minh hoặc là các đối tượng dữ liệu khuyết thiếu thông tin về môt số thuộc tính… hoặc dữ liệu hỗn hợp đang ngày càng tăng trong các hệ quản trị dữ liệu

2.1.1.1 Mục tiêu của phân cụm dữ liệu

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

dữ liệu chưa có nhãn Nó có thể là không có tiêu chuẩn tuyệt đối “tốt” mà có thể không phụ thuộc vào kết quả phân cụm Vì vậy, nó đòi hỏi người sử dụng phải cung cấp tiêu chuẩn phân cụm một cách rõ ràng theo cách mà kết quả phân cụm

sẽ đáp ứng yêu cầu

Hiện nay chưa có một phương pháp phân cụm tổng quát nào có thể giải quyết chọn vẹn cho tất cả các dạng cấu trúc dữ liệu Hơn nữa, các phương pháp phân cụm cần có một cách thức biểu diễn cấu trúc của dữ liệu, và với mỗi cách thức biểu khác nhau sẽ có tương ứng một thuật toán phân cụm phù hợp

Trang 14

2.1.1.2 Các yêu cầu đối với kỹ thuật phân cụm dữ liệu

 Việc phân cụm dữ liệu đều nhằm thỏa mãn các yêu cầu cơ bản sau:

 Có khả năng mở rộng

 Thích nghi với các kiểu dữ liệu khác nhau

 Khám phá ra các cụm với hình thù bất kỳ

 Tối thiểu lượng tri thức cần cho xác định các tham số đầu vào

 Ít nhạy cảm với thứ tự của dữ liệu vào

 Thích nghi với dữ liệu nhiễu cao

 Ít nhạy cảm với các tham số đầu vào

 Thích nghi với dữ liệu đa chiều

 Dễ hiểu, dễ cài đặt và khả thi

2.1.1.3 Các kiểu dữ liệu và các thuộc tính trong phân cụm

Bao gồm 2 kiểu dữ liệu:

Dữ liệu dựa trên kích thước miền:

Thuộc tính liên tục (Continuous Attribute) : nếu miền giá trị của nó là vô hạn không đếm được

Thuộc tính rời rạc (DiscretteAttribute) : Nếu miền giá trị của nó là tập hữu hạn, đếm được

Lớp các thuộc tính nhị phân: là trường hợp đặc biệt của thuộc tính rời rạc

mà miền giá trị của nó chỉ có 2 phần tử được diễn tả như : Yes / No hoặc

Nam/Nữ, False/true,…

Dữ liệu dựa trên hệ đo:

Giả sử rằng chúng ta có hai đối tượng x, y và các thuộc tính xi, yi tương ứng với thuộc tính thứ i của chúng Chúng ta có các lớp kiểu dữ liệu như sau :

 Thuộc tính định danh (nominal Scale): đây là dạng thuộc tính khái quát hoá của thuộc tính nhị phân, trong đó miền giá trị là rời rạc không phân biệt thứ

tự và có nhiều hơn hai phần tử - nghĩa là nếu x và y là hai đối tượng thuộc tính thì chỉ có thể xác định là x  y hoặc x = y

Trang 15

 Thuộc tính có thứ tự (Ordinal Scale) : là thuộc tính định danh có thêm tính thứ tự, nhưng chúng không được định lượng Nếu x và y là hai thuộc tính thứ tự thì ta có thể xác định là x  y hoặc x = y hoặc x > y hoặc x <y

 Thuộc tính khoảng (Interval Scale) : Với thuộc tính khoảng, chúng ta có thể xác định một thuộc tính là đứng trước hoặc sau thuộc tính khác với một khoảng là bao nhiêu Nếu xi > yi thì ta nói x cách y một khoảng xi – yi tương ứng với thuộc tính thứ i.Sau khi chuẩn hoá, độ đo phi tương tự của hai đối tượng dữ liệu x, y được xác định bằng các metric khoảng cách như sau :

1

|

| (

/ 1 )

x d

2 )

, ( , đây là trường hợp đặc biệt của khoảng cách Minskowski trong trường hợp q=2

),( , đây là trường hợp đặc biệt của khoảng cách Minskowski trong trường hợp q=1

1)

,(x y Max i n xi yi

tự giữa các thuộc tính tỷ lệ Có thể sử dụng công thức tính logarit cho mỗi thuộc tính xi

Trong các thuộc tính dữ liệu trình bày ở trên, thuộc tính định danh và thuộc tính có thứ tự gọi chung là thuộc tính hạng mục (Categorical), thuộc tính khoảng

và thuộc tính tỉ lệ được gọi là thuộc tính số (Numeric)

Trang 16

2.1.2 Các kỹ thuật tiếp cận trong phân cụm dữ liệu

Có nhiều cách tiếp cận và các ứng dụng trong thực tế nhưng tất cả đều hướng tới hai mục tiêu chung đó là chất lượng của các cụm khám phá được và tốc độ thực hiện các thuật toán Các kỹ thuật đó có thể phân loại theo các cách tiếp cận chính sau:

2.1.2.1 Phương pháp phân cụm phân hoạch

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 k nhóm cho đến khi xác định số các cụm được thiết lập Phương pháp này tốt với việc tìm các cụm hình cầu trong không gian Euclidean

Phương pháp này cũng phụ thuộc vào khoảng cách cơ bản giữa các điểm để lựa chọn các điểm dữ liệu có quan hệ là gần nhau với mỗi điểm khác và các điểm

dữ liệu nào không có quan hệ hoặc có quan hệ là xa nhau so với điểm khác Nhược điểm:

 Phương pháp này không thể xử lí các cụm có hình dạng kỳ quặc hoặc các cụm có mật độ các điểm dầy đặc

 Các thuật toán phân hoạch dữ liệu có độ phức tạp rất lớn khi xác định nghiệm tối ưu toàn cục cho vấn đề Phân cụm dữ liệu do nó phải tìm kiếm tất cả các cách phân hoạch có thể được

Trên thực tế thường đi tìm giải pháp tối ưu cục bộ cho vấn đề này bằng cách

sử dụng một hàm tiêu chuẩn để đánh giá chất lượng của cụm cũng như để hướng dẫn cho quá trình tìm kiếm phân hoạch dữ liệu Ý tưởng chính của thuật toán phân hoạch tối ưu cục bộ là sử dụng chiến lược ăn tham (Greedy) để tìm kiếm nghiệm

2.1.2.3 Phương pháp phân cụm phân cấp

Ý tưởng của phương pháp này là 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ấu trú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

Có 2 cách phổ biến đó là:

 Bottom –up (hòa nhập nhóm)

 Top- down (phân chia nhóm)

Trang 17

Hình 4: Các chiến lược phân cụm phân cấp

Có nhiều trường hợp kết hợp cả hai phương pháp phân cụm phân hoạch và phân cụm phân cấp, nghĩa là kết quả thu được của phương pháp phân cấp có thể cải tiến thông qua bước phân cụm phân hoạch

2.1.2.3 Phương pháp phân cụm dựa trên mật độ

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 theo một nghĩa nào đó.Với cách tiếp cận này, khi dữ liệu đã được xác định thì nó tiếp tục phát triển them 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

Ưu điểm:

 Phát hiện ra được các cụm dữ liệu với hình thù bất kỳ

 Khắc phục được phần tử ngoại lai hoặc trị nhiễu tốt

Nhược điểm:

 Việc xác định các tham số mật độ của thuật toán là 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

Trang 18

2.1.2.4 Phân cụm dựa trên lưới

Phương pháp này thích hợp với dữ liệu nhiều chiều, dựa trên cấu trúc dữ liệu để phân cụm, nó chủ yếu tập trung áp dụng cho lớp dữ liệu không gian Mục tiêu của phương pháp:

 Lượng hóa các dữ liệu thành các ô tạo thành cấu trúc dữ liệu lưới

 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 ô trên lưới chứ không phải các đối tượng dữ liệu

 Cách tiếp cận này không di chuyển các đối tượng trong các ô mà xây dựng nhiều mức phân cấp của nhóm các đối tượng trong một ô

 Phương pháp này gần giống với phương pháp phân cụm phân cấp nhưng chúng không trộn các ô

Trang 19

2.1.2.5 Phân cụm dựa trên mô hình

Ý tưởng của phương pháp:

 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

 Có thể sử dụng chiế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ấu trúc hoặc mô hình mà chúng giả định về tập dữ liệu và cách chúng hiệu chỉnh các mô hình này để nhận dạng ra các phân hoạch

 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 ra bằng hỗn hợp phân phối xác suất cơ bản

Phương pháp có hai cách tiếp cận chính:

 Mô hình thống kê

 Mạng nơron

Phương pháp này gần giống với phương pháp phân cụm dựa trên mật độ vì chúng phát triển các cụm riêng biệt nhằm cải tiến các mô hình đã được xác định trước đó, có khi nó không băt đầu với một số cụm cố định và không sử dụng cùng một khái niệm mật độ cho các cụm

2.1.2.6 Phân cụm có dữ liệu ràng buộc

Các thuật toán trên hầu hết cung cấp ít cách thức cho người dung để xác định các ràng buộc trong thế giới thực cần phải thỏa mãn quá trình phân cụm Vì vậy, để phân cụm dữ liệu không gian hiệu quả hơn, các nghiên cứu bổ sung cần được thực hiện để cung cấp cho người dùng khả năng kết hợp các ràng buộc trong thuật toán phân cụm

Trang 20

Hình 6: Các cách mà cụm có thể đưa ra

Một số nhánh nghiên cứu được phát triển trên cơ sở của phương pháp này: Phân cụm thống kê: dựa trên các khái niệm phân tích hệ thống, người ta sử dụng các độ đo tương tự để phân hoạch các đối tượng nhưng chúng chỉ áp dụng cho các dữ liệu có thuộc tính số

 Phân cụm khái niệm: áp dụng cho dữ liệu hạng mục, chúng phân cụm các đối tượng theo các khái niệm mà chúng xử lý

 Phân cụm mờ: sử dụng kỹ thuật phân cụm mờ để phân cụm dữ liệu, các thuật toán này chỉ ra lược đồ phân cụm thích hợp với tất cả các hoạt động đời sống hàng ngày, chúng xử lý dữ liệu thực không chắc chắn

 Phân cụm mạng Kohonen: loại phân cụm này dựa trên khái niệm của mạng nơron Mạng Kohonen có:

 Tầng nơron vào: Mỗi nơron vào tương ứng với mỗi thuộc tính của bản ghi, mỗi nơron vào kết nối với tất cả các nơron của tầng ra

 Tầng nơron ra

Mỗi liên kết được gắn liền với một trọng số nhằm xác định vị trí của nơron

ra tương ứng

Trang 21

2.1.3.Một số phương pháp trong phân cụm dữ liệu

2.1.3.1 Các thuật toán trong phân cụm phân hoạch

Ý tưởng chung của thuật toán trong phân cụm phân cụm phân hoạch: phân

một tập dữ liệu có n phần tử cho trước thành k nhóm dữ liệu sao cho mỗi phần tử

dữ liệu chỉ thuộc về một nhóm dữ liệu và mỗi nhóm dữ liệu có tối thiểu một phần

tử dữ liệu Thuật toán phân cụm phân hoạch tối ưu cục bộ là sử dụng chiến lược

ăn tham để tìm kiếm nghiệm

Dưới đây là một số thuật toán được sử dụng rộng rãi:

Thuật toán K-Means:

Ý tưởng : dựa trên độ đo khoảng cách của các đối tượng dữ liệu trong cụm Thực tế, nó đo khoảng cách tới giá trị trung bình của các đối tượng dữ liệu trong cụm Nó được xem như là trung tâm của cụm Như vậy, nó khởi tạo một tập trung tâm các cụm trung tâm ban đầu và thông qua đó nó lặp lại các bước gồm gán mỗi đối tượng tới cụm mà trung tâm gần nhất và tính toán tại trung tâm của mỗi cụm trên cơ sở gán mới cho các đối tượng Quá trình lặp này dừng khi các trung tâm hội tụ

Hình 7: Thiết lập để xác định danh giới các cụm ban đầu

Trang 22

Mục đích: sinh ra k cụm dữ liệu {C1,C2…, Ck} từ một tập dữ liệu ban đầu gồm n đối tượng trong không gian d chiều Xi = (xi1,xi2, …, xid) )(i=1 n), sao cho hàm tiêu chuẩn: 

2 đạt giá trị tối thiểu

Với mi là trọng tâm của cụm Ci, D là khoảng cách giữa hai đối tượng

Hình 8: Tính toán trọng tâm các cụm mới

Thuật toán phân hoạch K-means do MacQeen đề xuất trong lĩnh vực thống

kê năm 1967, 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 Xi = (xi1, xi2,

…, xid) (i 1 ,n), sao cho hàm tiêu chuẩn : 

Trang 23

Begin

Bước 1: Khởi tạo :Chọn k trọng tâm {mj}kj=1 ban đầu trong không gian Rd (d là số chiều của dữ liệu, việc chọn có thể 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 Xi (1<=i<=n), tính toán khoảng cách của nó tới mỗi trọng tâm mj j=1,k

Tìm trọng tâm gần nhất đối với mỗi điểm

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

Đối với mỗi j=1,k , cập nhật trọng tâm cụm mj bằng các xác định trung bình cộng của các vectơ đối tượng dữ liệu

Bước 4 : Điều kiện dừng:

Lặp các bước 2 và 3 cho đến khi các trọng tâm của cụm không thay đối

Nhận xét: Độ phức tạp của thuật toán là OTkn với T là số lần lặp, n số đối tượng của tập dữ liệu đưa vào

Ưu điểm:

 Độ phức tạp nhỏ: O(nkd.t), với :d là số chiều, t số vòng lặp

 K-means phân tích phân cụm đơn giản nên có thể áp dụng đối với tập dữ liệu lớn

Nhược điểm:

 K-means 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, chỉ áp dụng với dữ liệu số

 Nó không khắc phục được nhiễu và các phần tử ngoại lai

 Chất lượng phân cụm phụ thuộc vào nhiều tham số đầu vào như: số cụm k

và k trọng tâm khởi tạo ban đầu

 Số lượng và các tham số là do người dùng nhập, nên nếu đầu vào khác nhau thì kết quả các cụm sẽ khác nhau

Trang 24

Thuật toán K-tâm:

Ý tưởng :Thuật toán K-tâm phân cụm dữ liệu hỗn hợp là mở rộng của thuật toán K-means cho dữ liệu hỗn hợp trong đó có sử dụng khái niệm Mode của dữ liệu hỗn hợp, khi đã mở rộng các miền giá trị của thuộc tính có thứ tự và xác định khoảng cách giữa các đối tượng

Thuật toán này hội tụ sau một số hữu hạn bước lặp tới điểm cực tiểu địa phương của hàm P như sau:  j

z x k

m x

i m x i x i

1,, ,

Định nghĩa Giả sử C là tập con của tập dữ liệu hỗn hợp D

i) Với mọi j n, j-mode của C ( kí kiệu là j-mode(C)) là giá trị có tần xuất nhiều nhất trong thuộc tính Aj của C nếu A là thuộc tính định danh và là trung bình cộng của các giá trị thuộc tính Aj của C khi Aj là thuộc tính số Nếu Aj là thuộc tính định danh và có nhiều giá trị có tần xuất như nhau trong C thì j-mode(C) có thể không duy nhất và ta chọn giá trị nào cũng được

ii) Mode của tập hợp C ký hiệu là mode(C) là phần tử z = (z1, , zn) trong

đó : zj = j-mode(C), j n

b) Metric trên dữ liệu hỗn hợp

Trong lược đồ quan hệ R, miền giá trị của các thuộc tính Aj có thể là tập số thực, định danh hay là tập có thứ tự

Định nghĩa 1: Giả sử DOM(Aj) là miền giá trị của thuộc tính Aj Ta có các khái niệm sau:

i) Thuộc tính định danh: Aj đượcgọi là thuộc tính định danh nếu DOM(Aj)

là tập không có thứ tự, tức là  a,b  DOM(Aj), hoặc a = b hay ab

ii) Thuộc tính số: A thuộctính số nếu DOM(A) là tập số thực

Trang 25

ii) Thuộc tính thứ tự: Nếu DOM(Aj) là tập hữu hạn và có thứ tự hoàn toàn thì Aj được gọi là thuộc tính có thứ tự (chẳng hạn: DOM(Aj) = { không đau, hơi

đau, đau và rất đau}

Trên miền giá trị DOM(Aj) của một thuộc tính Aj ta xác định các khoảng cách như sau

Định nghĩa 2: x,y DOM(Aj) hàm dj(x,y) xác định bởi :

Nếu Aj là thuộc tính số thì dj(x,y)= x  y (2.3) Nếu Aj là thuộc tính thứ tự và DOM(Aj) = k

j

j j

a1  2   , ta lấy một hàm đơn điệu fj: DOM(Aj)→ [0,1] sao cho ( 1 )  0 ; ( k)  1

j j j

f ) Khi đó dj(x,y)= │fj(x) - fj(y) │ (2.4)

Nếu Aj là dữ liệu định danh thì dj(x,y)=

y x khi

: 1

: 0

(2.5)

Định nghĩa khoảng cách giữa hai đối tượng dữ liệu hỗn hợp:

Định nghĩa 3: Giả sử x = (x1, , xn) và y = (y1, , yn) là hai đối tượng dữ liệu hỗn hợp trên D, khoảng cách d(x, y) được tính bởi công thức:

j j d j x j y j y

x

d

2 2 )

Định lý Thuật toán trên hội tụ sau một số hữu hạn bước lặp tới điểm cực

tiểu địa phương của hàm E: 

 

j x c j

j z x d E

Trang 26

Chọn k phần tử ban đầu  k

j

j

z 1 của D làm tâm các cụm Xếp mỗi x D vào cụm Cj mà nó gần tâm nhất;

For j=1, ,k do z  j mode(C j);

Repeat

Phân bố lại cụm theo tâm mới// như k-mean;

Cập nhật lại tâm cho các cụm // nhờ tính mode

Until các cụm không đổi;

Xác định các cụm

End

Nhận xét: Khi thuật toán kết thúc, các đối tượng tâm có thể không thuộc tập

D Để tìm phần tử đại diện cho mỗi cụm, ta lấy phần tử thuộc cụm gần với tâm của nó nhất Như đã nói ở định lý trên, thuật toán chỉ hội tụ tới điểm cực tiểu địa phương của E Để tăng hiệu quả của thuật toán ta có thể kết hợp với thuật toán di truyền hoặc khởi tạo tâm ban đầu bằng phương pháp chuyên gia (theo cách nửa giám sát)

Thuật toán PAM:

 Thuật toán này là sự mở rộng của K-means, để khắc phục được dữ liệu nhiễu hoặc các phần tử ngoại lai PAM sử dụng các đối tượng medoid để biểu diễn cho các cụm dữ liệu, một đối tượng medoid là đối tượng đặt tại

vị trí trung tâm nhất bên trong của mỗi cụm

 Xác định medoid :Chọn k đối tượng medoid bất kỳ Sau mỗi bước thực hiện, PAM cố gắng hoán chuyển giữa đối tượng medoid Om và một đối tượng Op không phải là medoid, miễn là sự hoán chuyển này nhằm cải tiến chất lượng của phân cụm, quá trình này kết thúc khi chất lượng phân cụm không thay đổi

Ngoài ra, phân cụm phân hoạch còn có thêm một số thuật toán CLARA, thuật toán CLARANS

Trang 27

2.1.3.2 Các thuật toán trong phân cụm phân cấp

Thuật toán Cure

Phân cụm phân cấp sắp xếp một tập dữ liệu đã cho thành một cấu trú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 Cây phân cụm có thể được xây dựng theo hai phương pháp tổng quát: Phương pháp Top-down và phương pháp Bottom-up

Hình 9: Khái quát thuật toán Cure

Thuật toán CURE được thực hiện như sau:

 Chọn một mẫu ngẫu nhiên từ tập dữ liệu ban đầu

 Phân hoạch mẫu này thành nhiều nhóm dữ liệu có kích thước bằng nhau

 Ý tưởng chính ở đây là: phân hoạch tập mẫu thành p nhóm dữ liệu bằng nhau, kích thước của mỗi phân hoạch là n’ / p (n‘ là kích thước của mẫu)

 Phân cụm các điểm của mỗi nhóm: Thực hiện phân cụm dữ liệu cho các nhóm cho đến khi mỗi nhóm được phân thành n’/pq cụm (với q>1)

 Loại bỏ các phần tử ngoại lai: Khi các cụm được hình thành cho đến khi

số các cụm giảm xuống một phần so với số cụm ban đầu Sau đó, trong trường hợp các phần tử ngoại lai được lấy mẫu cùng với quá trình pha khởi tạo mẫu dữ liệu, thuật toán sẽ tự động loại bỏ các nhóm nhỏ

 Phân cụm các cụm không gian : Các đối tượng đại diện cho các cụm di chuyển về hướng trung tâm cụm, nghĩa là chúng được thay thế bởi các đối tượng gần trung tâm hơn

 Đánh dấu dữ liệu với các nhãn tương ứng

Trang 28

Hình 10: Các cụm dữ liệu được khám phá bởi thuật toán Cure

Ngoài ra còn một số thuật toán phân cấp điển hình khác như: BRICH, Chemeleon, Agnes, Rock…

2.1.3.3.Các thuật toán phân cụm dựa trên mật độ

Phương pháp của các thuật toán này là nhóm các đối tượng theo hàm mật độ xác định Mật độ được định nghĩa như là số các đối tượng lân cận của một đối tượng dữ liệu theo một ngưỡng nào đó Trong cách tiếp cận này, khi một cụm 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 của các đối tượng này phải lớn hơn một ngưỡng

đã được xác định trước

Ý tưởng: dựa vào mật độ của các đối tượng để xác định các cụm dữ liệu và

có thể phát hiện ra các cụm dữ liệu với hình thù bất kỳ.Các cụm có thể được xem như các vùng có mật độ cao, được tách ra bởi các vùng không có hoặc ít mật độ Mật độ được xem như là số các đối tượng láng giềng

Thuật toán DBSCAN:

Tư tưởng:

 Tìm các đối tượng có số đối tượng láng giêng lớn hơn một ngưỡng tối

thiểu

 Một ngưỡng được xác định bằng tập tất cả các đối tượng liên thông mật độ

với các láng giêng của nó

Thuật toán:

 Chọn một đối tượng p tùy ý

 Lấy tất cả các đối tượng mật độ đến được từ p với Eps và MinPts

Trang 29

 Nếu p là điểm nhân tạo thì tạo ra một cụm theo Eps và MinPts

 Nếu p là một điểm biên, không có điểm nào là mật độ đến được mật độ từ

p và DBSCAN sẽ đi thăm điểm tiếp theo của tập dữ liệu

 Quá trình tiếp tục cho đến khi tất cả các đối tượng được xử lý

Nếu ta chọn sử dụng giá trị toàn cục Eps và MinPts, DBSCAN có thể hòa nhập hai cụm thành một cụm nếu mật độ của hai cụm gần bằng nhau Độ phức tạp của tính toán trung bình của mỗi truy vấn là O(nlogn)

Hình 11: Hình dạng các cụm được tạo bởi thuật toán DBSCAN

Ngoài thuật toán DBSCAN ra còn có thuật toán OPTICS, thuật toán DENCLUE

2.1.3.4.Phân cụm dựa trên lưới

Ý tưởng: cách tiếp cận dựa trên lưới này không di chuyển các đối tượng trong các ô mà xây dựng nhiều mức phân cấp của nhóm các đối tượng trong một

ô Các cụm không dựa trên độ đo khoảng cách mà nó được quyết định bởi một tham số xác định trước, phương pháp này chủ yếu tập trung áp dụng cho lớp dữ liệu không gian

Ưu điểm: Thời gian xử lý nhanh và độc lập với số đối tượng dữ liệu trong tập dữ liệu ban đầu Thay vào đó là chúng phụ thuộc vào số ô trong mỗi chiều của không gian lưới

Thuật toán STING:

B1: xác định tầng để bắt đầu

B2: với mỗi ô của tầng, tính toán khoảng tin cậy (hoặc ước lượng khoảng) của xác suất mà ô này liên quan tới truy vấn

Trang 30

B3: từ khoảng tin cậy của tính toán trên, gán nhãn cho là có liên quan hoặc không liên quan

B4: nếu lớp này là lớp dưới cùng, chuyển sang bước 6; nếu khác thì chuyển sang bước 5

B5: duyệt xuống dưới của cấu trúc cây phân cấp một mức Chuyển sang B2 cho các ô mà hình thành các ô liên quan của lớp có mức cao hơn

B6: Nếu đặc tả câu truy vấn, chuyển B8; Nếu không chuyển sang B7 B7: Truy lục dữ liệu vào trong các ô liên quan và thực hiện xử lý Trả lại kết quả phù hợp yêu cầu truy vấn Chuyển sang B9

B8: Tìm thấy các miền có các ô liên quan Trả lại miền mà phù hợp với yêu cầu của truy vấn chuyển sang B9

B9: Dừng

Ngoài thuật toán STING ra còn có thêm thuật toán phân cụm dựa trên lưới

là CLIQUE có khả năng áp dụng tốt với dữ liệu đa chiều, nhưng lại nhạy cảm với thứ tự của dữ liệu vào Độ phức tạp của nó là O(n)

2.1.3.5.Phân cụm dựa trên mô hình

Phương pháp 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ụng chiến lược phân cụm phân hoạch hoặc chiến lược phân cụm phân cấp, dựa trên cấu trúc hoặc

mô hình mà chúng giả định về tập dữ liệu và cách mà chúng tinh chỉnh các mô hình này để nhận dạng ra các phân hoạch.Các thuật toán áp dụng theo phương pháp này:

Thuật toán EM: là sự mở rộng của K-means, nó gán các đối tượng cho các

cụm đã cho theo xác suất phân phối thành phần của đối tượng đó Phân phối xác suất được sử dụng là phân phối xác suất Gaussian với mục đích là khám phá lặp các giá trị tốt cho các tham số của nó bằng hàm tiêu chuẩn là hàm logarit khả năng của đối tượng dữ liệu, đây là hàm tốt để mô hình xác suất cho các đối tượng

dữ liệu EM có thể khám phá ra nhiều hình dạng cụm khác nhau, tuy nhiên do thời gian lặp của thuật toán khá nhiều nhằm xác định các tham số tốt nên chi phí tính toán của thuật toán khá cao

Trang 31

2.2 Phân cụm cụm mờ

2.2.1 Tổng quan về phân cụm mờ

Phân cụm dữ liệu hiện nay đã được áp dụng rất nhiều trong cuộc sống của chúng ta Chẳng hạn, trong ngành bưu điện thường hay phân loại thư theo mã nước, trong nước lại phân theo mã tỉnh/thành phố, sau đó lại được phân theo quận /huyện tiếp theo là phân theo xã/phường để gửi thư Đó chính là một ứng dụng của bài toán phân cụm rõ (phân cụm cứng) Vậy phân cụm rõ là gì?

Phân cụm rõ là quá trình phân cụm mà trong đó mỗi điểm dữ liệu thuộc chính xác vào một cụm (hay nói cách khác: Một đối tượng khi đã thuộc cụm này thì thì không thuộc vào cụm khác)

Nhưng trong thực tế không phải lúc nào bài toán phân cụm rõ cũng áp dụng được Chẳng hạn bài toán: Cho chiều cao của người có 3 nhóm như sau: Cao (từ

mờ và chứng minh độ hội tụ của các thuật toán là cực tiểu cục bộ, tối thiểu hóa hàm mục tiêu

Trang 32

2.2.2 Các thuật toán phân cụm mờ

2.2.2.1 Thuật toán FCM (Fuzzy C-Means)

Thuật toán phân cụm dữ liệu mờ FCM giống như k-means đều sử dụng chung một chiến lược phân cụm dữ liệu FCM chia phân tập dữ liệu ban đầu thành c cụm mờ, trong đó mỗi đối tượng dữ liệu thuộc về các cụm được xác định bởi một hệ số là độ phụ thuộc Uik Є [0, 1] (k là chỉ số của cụm và i biểu thị số thứ tự của đối tượng dữ liệu trong tập dữ liệu ban đầu), hệ số uik này để chỉ quan

hệ giữa các đối tượng với cụm dữ liệu trong quá trình tính toán, hay còn gọi là mức độ phụ thuộc của đối tượng dữ liệu xk vào trung tâm của cụm thứ i

Xác định hàm tiêu chuẩn:

Trong phân cụm mờ, tổng tất cả các phân hoạch mờ có c cụm dữ liệu của

tập dữ liệu có N đối tượng trong không gian D chiều được xác định như sau

N uik uik

uik N k c i RcN

U

E fc

0 , 1 ],

1 , 0 [ 1

U

J m

1 1

2)()

,

( (2.9) Trong đó : U Efc, V=[v1, v2, …, vc] Rpc là ma trận mẫu biểu diễn các giá trị đối tượng tâm của cụm, m là trọng số mũ trong [1,) Hơn nữa, dik được xác định như sau: 2 | |

v x

dikki A (2.10) Với A là ma trận hữu hạn dương

Trong đó :

Họ các hàm tiêu chuẩn xác định trong công thức (2.9) với tham số mũ

m[ 1, )được đề xuất bởi Bezdek (1982) Sau đây là các điều kiện cần thiết nhằm tối thiểu hàm tiêu chuẩn Jm(U,V).Ta có định lý đã được các nhà khoa học chứng minh:

Trang 33

Định lý 1: Nếu m và c là các tham số cố định, và Ik là một tập được định nghĩa như sau :

i

k I c

j

m

jk d ik d

k I i

k I k

I

I i ik

,0

,,

1( )

1( )1

(2.13)

Để có một phân hoạch tối ưu, thì hàm tiêu chuẩn đạt giá trị tối thiểu hay (2.12) và (2.13) phải thoả mãn Từ đó, thuật toán phân cụm mờ FCM được xây dựng như sau:

Input : Số cụm c và tham số mũ m cho hàm tiêu chuẩn J

OutPut : c cụm dữ liệu sao cho hàm tiêu chuẩn (2.9) đạt giá trị tối thiểu Begin

1 Nhập giá trị cho hai tham số c (1<c<N), m ( 1, ) và khởi tạo ma trận mẫu V(0)Rpc, j 0

2 Repeat

2.1 j = j + 1;

2.2 Tính ma trận phân hoạch mờ Uj theo công thức (2.12) 2.3 Cập nhật các trọng tâm V(j) = [v1(j), v2(j), …, vc(j) ] dựa vào (2.13) và ma trận Uj;

3 Untill (|| U(j+1) – U(j) ||F  );

Trang 34

|| và tham số được cho trước.

Việc chọn các tham số cụm rất ảnh hưởng đến kết quả phân cụm, tham số này thường được chọn theo phép ngẫu nhiên hoặc theo kinh nghiệm Chưa có quy tắc nào nhằm lựa chọn tham số m đảm bảo việc phân cụm hiệu quả, thông thường người ta chọn m = 2

Ưu điểm: áp dụng thành công trong giải quyết một số lớn các bài toán Phân cụm dữ liệu như trong nhận dạng mẫu, xử lý ảnh, y học,…

Nhược điểm lớn nhất của thuật toán FCM là nhạy cảm với các nhiễu và phần tử ngoại lai trong dữ liệu, nghĩa là các trung tâm cụm có thể nằm xa so với trung tâm thực của cụm Do đó các cụm dữ liệu được khám phá có thể rất lệch

so với các cụm trong thực tế.Việc khử nhiễu và phần tử ngoại lai là một vấn đề cần phải được giải quyết

Đã có nhiều các phương pháp đề xuất để cải tiến cho nhược điểm trên của thuật toán FCM bao gồm : Phân cụm dựa trên xác suất (keller, 1993), phân cụm nhiễu mờ (Dave, 1991), Phân cụm dựa trên toán tử LP Norm (Kersten, 1999)

t 0, , , ε là tham số phi nhạy cảm với nhiễu

Khi đó hàm mục tiêu εFCM được định nghĩa như sau:

m n

k

c

i u ik V

U m

1 1( ))

v k

x

1,

Trang 35

Định lý: Nếu m, c và ε là các tham số cố định, hàm mục tiêu (2.14) đạt giá

trị tối thiểu khi và chỉ khi:

11

11

0,,

c j

m i

v k

x m

i v k x

k I k

I i

k I

I i ik u

ik

u n k

kl x

i A k k kl

x il

v p l c

Trong đó:

 (0,( )m )

ik u i

k và n

n

) ( , 0 ,

1 1

x i

A i

x i

A i A Card p

(

11

Thuật toán εFCM là cải tiến của thuật toán FCM ở trên trong việc khắc phục

dữ liệu chứa nhiễu và dữ liệu có chứa các phần tử ngoại lai Thuật toán được trình bày như sau:

Input: số cụm c và các tham số m, ε cho hàm mục tiêu J

Output: các cụm dữ liệu sao cho hàm mục tiêu (2.14) đạt giá trị cực tiểu Begin

B1: nhập tham số c(1<c<n), m[1,+∞], ε>=0

Khởi tạo ma trận V=[vij], V(0)ЄRsxc thiết lập j=0;

B2: Repeat

J=j+1;

Ngày đăng: 10/08/2016, 14:49

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[6]. Uzay KayMak and Magne Setnes, Extend Fuzzy Clustering Algorithms Tài liệu tiếng Việt Sách, tạp chí
Tiêu đề: Extend Fuzzy Clustering Algorithms
[2]. Đinh Xuân Lâm, Sách Visual Basic cho sinh viên và kỹ thuật viên Khoa Công nghệ thông tin, NXB Thống kê Sách, tạp chí
Tiêu đề: Sách Visual Basic cho sinh viên và kỹ thuật viên Khoa Công nghệ thông tin
Nhà XB: NXB Thống kê
[3].Nguyễn thị Kiều Duyên, Lập trình Visual Basic, NXB Trẻ. Trang Web Sách, tạp chí
Tiêu đề: Lập trình Visual Basic
Nhà XB: NXB Trẻ. Trang Web
[1]. Janos Aboyi and Robert Babuska and Ferene Szeifert, Modified gath- Geva Fuzzy Clustering for Indentification of Takagi-Sugeno Fuzzy Models Khác
[2]. Jing Sun, Qiuyu Zhang and Zhang Yuan, Fuzzy Clustering Algorithm based on Factor Analysis anh its Application to Mail Filtering Khác
[4]. Janos Abonyi, Sandor Migaly and Ferene Szeifert, Fuzzy Self- Organzing Map based on Regularized Fuzzy C-means Clusering Khác
[5]. M.Sridharan, N.Gururanjan, and A.M.S. ramasamy, Fuzzy clustering analysis to study geomagnetic coastal effects Khác
[1]. An Hồng Sơn, Nghiên cứu một số phương pháp phân cụm mờ Khác

HÌNH ẢNH LIÊN QUAN

Hình 4: Các chiến lược phân cụm phân cấp - Cài đặt một số thuật toán phân cụm dữ liệu, áp dụng vào bài toán phân nhóm bệnh án của bệnh xơ gan để hỗ trợ điều trị
Hình 4 Các chiến lược phân cụm phân cấp (Trang 17)
Hình 8: Tính toán trọng tâm các cụm mới - Cài đặt một số thuật toán phân cụm dữ liệu, áp dụng vào bài toán phân nhóm bệnh án của bệnh xơ gan để hỗ trợ điều trị
Hình 8 Tính toán trọng tâm các cụm mới (Trang 22)
Hình 12: Giao diện chương trình chính - Cài đặt một số thuật toán phân cụm dữ liệu, áp dụng vào bài toán phân nhóm bệnh án của bệnh xơ gan để hỗ trợ điều trị
Hình 12 Giao diện chương trình chính (Trang 52)
Hình 13: Giao diện K-means khi chọn NumCluster=6 - Cài đặt một số thuật toán phân cụm dữ liệu, áp dụng vào bài toán phân nhóm bệnh án của bệnh xơ gan để hỗ trợ điều trị
Hình 13 Giao diện K-means khi chọn NumCluster=6 (Trang 53)
Hình 14: Giao diện chạy Cmeans ( số cụm 8, điểm dữ liệu  542) - Cài đặt một số thuật toán phân cụm dữ liệu, áp dụng vào bài toán phân nhóm bệnh án của bệnh xơ gan để hỗ trợ điều trị
Hình 14 Giao diện chạy Cmeans ( số cụm 8, điểm dữ liệu 542) (Trang 54)
Bảng : Các triệu chứng của bệnh Xơ gan - Cài đặt một số thuật toán phân cụm dữ liệu, áp dụng vào bài toán phân nhóm bệnh án của bệnh xơ gan để hỗ trợ điều trị
ng Các triệu chứng của bệnh Xơ gan (Trang 58)
Hình 15: Bảng thông tin về bệnh nhân - Cài đặt một số thuật toán phân cụm dữ liệu, áp dụng vào bài toán phân nhóm bệnh án của bệnh xơ gan để hỗ trợ điều trị
Hình 15 Bảng thông tin về bệnh nhân (Trang 59)
Hình 16:  Bảng thông tin về các triệu chứng của bệnh Xơ gan - Cài đặt một số thuật toán phân cụm dữ liệu, áp dụng vào bài toán phân nhóm bệnh án của bệnh xơ gan để hỗ trợ điều trị
Hình 16 Bảng thông tin về các triệu chứng của bệnh Xơ gan (Trang 60)
Hình 17: Bảng bệnh án - Cài đặt một số thuật toán phân cụm dữ liệu, áp dụng vào bài toán phân nhóm bệnh án của bệnh xơ gan để hỗ trợ điều trị
Hình 17 Bảng bệnh án (Trang 61)
Hình 18: Bảng dữ liệu ban đầu - Cài đặt một số thuật toán phân cụm dữ liệu, áp dụng vào bài toán phân nhóm bệnh án của bệnh xơ gan để hỗ trợ điều trị
Hình 18 Bảng dữ liệu ban đầu (Trang 62)
Hình 19: Giao diện cập nhật bảng Bệnh Nhân - Cài đặt một số thuật toán phân cụm dữ liệu, áp dụng vào bài toán phân nhóm bệnh án của bệnh xơ gan để hỗ trợ điều trị
Hình 19 Giao diện cập nhật bảng Bệnh Nhân (Trang 63)
Hình 20: Giao diện cập nhật bảng Triệu Chứng - Cài đặt một số thuật toán phân cụm dữ liệu, áp dụng vào bài toán phân nhóm bệnh án của bệnh xơ gan để hỗ trợ điều trị
Hình 20 Giao diện cập nhật bảng Triệu Chứng (Trang 64)
Hình 21: Giao diện cập nhật bảng Bệnh Án - Cài đặt một số thuật toán phân cụm dữ liệu, áp dụng vào bài toán phân nhóm bệnh án của bệnh xơ gan để hỗ trợ điều trị
Hình 21 Giao diện cập nhật bảng Bệnh Án (Trang 65)
Hình 22: Giao diện chọn cụm và khởi tạo Tâm (so cum =7) - Cài đặt một số thuật toán phân cụm dữ liệu, áp dụng vào bài toán phân nhóm bệnh án của bệnh xơ gan để hỗ trợ điều trị
Hình 22 Giao diện chọn cụm và khởi tạo Tâm (so cum =7) (Trang 66)
Hình 23: Giao diện kết quả sau phân cụm - Cài đặt một số thuật toán phân cụm dữ liệu, áp dụng vào bài toán phân nhóm bệnh án của bệnh xơ gan để hỗ trợ điều trị
Hình 23 Giao diện kết quả sau phân cụm (Trang 67)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w