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

Phân cụm dữ liệu cho nhận dạng ảnh sử dụng mạng nơron

79 615 1

Đ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 79
Dung lượng 1,28 MB

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

Nội dung

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ụ… Hiện nay, các phương pháp phân cụm trên đã và đang được phát triển và áp

Trang 1

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

Trang 2

Sau cùng xin gửi lời cảm ơn chân thành tới gia đình, bạn bè đã động viên, đóng góp ý kiến và giúp đỡ trong quá trình học tâp, nghiên cứu và hoàn thành đề tài này

Thái Nguyên, tháng 10 năm 2012

Học viên

Bùi Đức Việt

Trang 3

MỤC LỤC

MỤC LỤC 3

DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT 6

DANH MỤC CÁC HÌNH VẼ 7

LỜI NÓI ĐẦU 9

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

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

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

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

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

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

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

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

1.8 Mạng nơron cho khai phá dữ liệu 18

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

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

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

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

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

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

2.2.Một số thuật toán trong phân cụm dữ liệu 25

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

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

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

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

Trang 4

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

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

2.3 Phân cụm cụm mờ 37

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

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

CHƯƠNG 3: ỨNG DỤNG MẠNG NƠRON KOHONEN CHO PHÂN CỤM DỮ LIỆU 42

3.1 Giới thiệu chung về mạng nơron 42

3.1.2 Mô hình Nơron sinh học 42

3.1.3 Mô hình Nơron nhân tạo 44

3.1.4 Mô hình Mạng Nơron nhân tạo 46

3.1.5 Đặc trưng của Mạng Nơron 50

3.1.6 Phân loại mạng 51

3.2.3 Thuật toán của mạng SOM 59

3.2.4 Một vài biến thể của giải thuật SOM 65

3.2.5 Một số ứng dụng của SOM 66

CHƯƠNG 4: CÀI ĐẶT CHƯƠNG TRÌNH THỬ NGHIỆM 67

4.1 Giới thiệu 67

4.2 Mạng Nơron SOM cho phân cụm ảnh 68

Thiết kế mạng 68

Thuật toán học mạng 68

4.2 Giới thiệu môi trường cài đặt 70

4.3 Giới thiệu giao diện chương trình 70

4.3.1 Thử nghiệm 1 70

4.3.2 Thử nghiệm 2 73

4.4 Hạn chế của giải thuật SOM khi áp dụng phân cụm màu trên ảnh 74

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

Trang 5

TÀI LIỆU THAM KHẢO 77

Trang 6

DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT

BAM Bidirectional Associative Memory

LVQ Learning Vector Quantization

Trang 7

DANH MỤC CÁC HÌNH VẼ

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

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

Hình 2.1 : Biểu đồ các dạng dữ liệu

Hình 2.2: biểu đồ quy mô dữ liệu

Hình 2.3: Cấu trúc phân cấp

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

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

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

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

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

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

Hình 3.1: Mô hình nơron sinh học

Hình 3.2: Mô hình nơron nhân tạo cơ bản

Hình 3.2: Mô hình mạng nơron 3 lớp

Hình 3.3: Mô hình học giám sát

Hình 3.4: Mô hình học không giám sát

Hình 3.5: Mô hình mạng perceptron một lớp

Hình 3.6: Mô hình Mạng perceptron nhiều lớp

Hình 3.7: Mô hình mạng hồi quy một lớp

Hình 3.8: Cấu trúc của mạng Hopfield

Hình 3.9: Cấu trúc của mạng BAM

Hình 3.10: Mô hình Mạng Nơron Kohonen

Hình 3.11: Mô hình Mạng Nơron Kohonen thông thường

Hình 3.12: Phần tử nơron chiến thắng BMU

Trang 8

Hình 3.13: Các vùng lân cận

Hình 4.1: Giao diện chương trình

Hình 4.2: Khởi tạo mạng ngẫu nhiên

Hình 4.3: Xác định BMU

Hình 4.4: Kết quả gom cụm

Hình 4.5: Giao diện chọn ảnh để phân cụm

Hình 4.6: Kết quả sau khi phân cụm

Trang 9

LỜI NÓI ĐẦU

Sự phát triển của công nghệ thông tin và việc ứng dụng công nghệ thông tin trong nhiều lĩnh vực của đời sống, kinh tế xã hội nhiều năm qua cũng đồng nghĩa với lượng

dữ liệu đã được các cơ quan thu thập và lưu trữ ngày một tích lũy nhiều lên Nếu cho rằng, điện tử và truyền thông chính là bản chất của khoa học điện tử thì dữ liệu, thông tin, tri thức là tiêu điểm của một lĩnh vực mới để nghiên cứu và ứng dụng, đó là khám phá tri thức và khai phá dữ liệu

Thông thường, chúng ta coi dữ liệu là một chuỗi các bits, hoặc các số và các ký hiệu hay các đối tượng với một ý nghĩa nào đó khi gửi cho một chương trình dưới một dạng nhất định Các bít thường được sử dụng để đo thông tin, và xem nó như là dữ liệu

đã loại bỏ phần tử dư thừa, lặp lại và rút gọn tới mức tối thiểu để đặc trưng một cách cơ bản cho dữ liệu Tri thức được xem như là những thông tin tích hợp, bao gồm các sự kiện và các mối quan hệ giữa chúng đã được nhận thức, khám phá hoặc nghiên cứu Nói cách khác, tri thức có thể được coi là dữ liệu ở mức độ cao của sự trừu tượng và tổng quát

Khám phá tri thức hay phát hiện tri thức trong CSDL là quy trình nhận biết các mẫu hoặc các mô hình trong dữ liệu với các tính năng: phân tích, tổng hợp, hợp thức, khả ích và có thể hiểu được

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 Nói cách khác, mục tiêu của khai phá dữ liệu là tìm kiếm các mẫu hoặc các mô hình tồn tại trong CSDL nhưng

ẩn trong khối lượng lớn dữ liệu

Phân cụm dữ liệu (PCDL) 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ữ

Trang 10

liệu là một ví dụ của phương pháp học không có thầy 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ụ…

Hiện nay, các phương pháp phân cụm trên đã và đang được phát triển và áp dụng nhiều trong các lĩnh vực khác nhau và đã có một số nhánh nghiên cứu được phát triển trên cơ sở của các phương pháp đó như:

Phân cụm thống kê: Dựa trên các khái niệm phân tích hệ thống, nhánh nghiên cứu này 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: Kỹ thuật này được phát triển á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ử đụng kỹ thuật mờ để PCDL Các thuật toán thuộc loại 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 chỉ

xử các dữ liệu không chắc chắn

Luận văn gồm có 4 chương:

Chương 1: Giới thiệu về khai phá dữ liệu Chương 2: Tổng quan về phân cụm dữ liệu Chương 3: Ứng dụng mạng Nơron Kohonen cho phân cụm dữ liệu Chương 4: cài đặt thử nghiệm

Luận văn đã trình bày một số vấn đề về phân cụm - một trong những kỹ thuật cơ bản để khai phá dữ liệu và ứng dụng phân cụm cho nhận dạng ảnh sử dụng mạng nơron Đây là hướng nghiên cứu có triển vọng chỉ ra những sơ lược trong việc hiểu và khai thác CSDL khổng lồ, khám phá thông tin hữu ích ẩn trong dữ liệu; hiểu được ý nghĩa thực tế của dữ liệu và ứng dụng vào bài toán cụ thể

Trang 11

CHƯƠNG 1 GIỚI THIỆU 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

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:

Trang 12

Hình 1.1: 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 hiện

Cơ sở tri thức (Knowledge-base): đây là miền tri thức dùng để tìm kiếm hay đánh giá độ quan trọng của các mẫu kết quả thu được Tri thức này có 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

Công cụ khai thác dữ liệu: là một hệ thống khai phá dữ liệu cần phải có một tập các công cụ để phục vụ cho việc khai phá, bao gồm 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

Mẫu ước lượng: là 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

Trang 13

Dữ liệu thực: là kết quả cuối cùng của quá trình khai phá, phù hợp với yêu cầu người sử dụng

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

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

Hình 1.2: 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ể

Trang 14

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ả mong muốn

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)

Trang 15

 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

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

Trang 16

Luật kết hợp: khai phá bằng luật kết hợp là tìm ra các mẫu các quan hệ, các

mối tương quan hoặc quan hệ nhân quả phổ biến giữa các đối tượng trong cơ sở dữ liệu giao dịch, cơ sở dữ liệu quan hệ và các thông tin khác trong kho

Đầu vào: là các cơ sở dữ liệu giao dịch

Đầu ra: tìm ra các mối quan hệ quan trọng giữa các mục trong cơ sở dữ liệu giao dịch

Có nghĩa là sự hiện diện của một số mục trong một giao dịch sẽ bao hàm sự hiện diện của một số các mục khác trong cùng một giao dịch

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 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

Trang 17

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 hàng

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

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

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ó

Trang 18

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

Để 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

1.8 Mạng nơron cho khai phá dữ liệu

Mạng nơron nhân tạo được coi là một công cụ mạnh để giải quyết các bài toán

có tính phi tuyến, phức tạp và đặc biệt trong trường hợp mối quan hệ giữa các quá trình không dễ thiết lập một các tường minh Có nhiều loại mạng nơron khác nhau trong đó mạng nơron kohonen là một trong những mạng nơron thông dụng nhất Mạng nơron kohonen với nhiều ưu điểm của nó, đã trở thành công cụ hữu ích trong khai phá dữ

Trang 19

liệu Với thuật toán SOM tạo ra hàm phân bố xác suất cho tập dữ liệu ban đầu, dễ giải thích và quan trọng nhất là trực quan hóa tốt Tùy vấn đề giải quyết mà các chuyên gia khai phá dữ liệu có thể chọn các phương pháp khác nhau để phân tích dữ liệu đưa ra Thế nhưng với phương pháp SOM có thể làm nhiều công việc cùng lúc và cho kết quả tương đương với việc kết hợp nhiều phương pháp khác với nhau SOM rất hiệu quả trong việc phân cụm và rút gọn kích thước dữ liệu Đây cũng chính là phương pháp sẽ được nghiên cứu và sử dụng trong nội dung của luận văn ở các chương tiếp theo

Trang 20

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

Trang 21

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

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

Phân cụm là một thách thức trong lĩnh vực nghiên cứu ở chỗ những ứng dụng tiềm năng của chúng được đưa ra ngay chính những yêu cầu đặc biệt của chúng Sau đây là những yêu cầu cơ bản của phân cụm trong KPDL:

Có khả năng mở rộng: Nhiều thuật toán phân cụm dữ liệu làm việc tốt với những tập dữ liệu nhỏ chứa ít hơn 200 đối tượng, tuy nhiên một cơ sở dữ liệu lớn có thể chứa tới hàng triệu đối tượng Việc phân cụm với một tập dữ liệu lớn có thể làm ảnh hưởng tới kết quả Vậy làm thế nào để chúng ta phát triển các thuật toán phân cụm

có khả năng mở rộng cao đối với các CSDL lớn?

Khả năng thích nghi với các kiểu thuộc tính khác nhau: Nhiều thuật toán được thiết kế cho việc phân cụm dữ liệu có kiểu khoảng (kiểu số) Tuy nhiên, nhiều ứng dụng có thể đòi hỏi việc phân cụm với nhiều kiểu dữ liệu khác nhau, như kiểu nhị phân, kiểu tường minh (định danh - không thứ tự), và dữ liệu có thứ tự hay dạng hỗn hợp của những kiểu dữ liệu này

Khám phá các cụm với hình dạng bất kỳ: Nhiều thuật toán phân cụm xác định các cụm dựa trên các phép đo khoảng cách Euclidean và khoảng cách Manhattan Các thuật toán dựa trên các phép đo như vậy hướng tới việc tìm kiếm các cụm hình cầu với mật độ và kích cỡ tương tự nhau Tuy nhiên, một cụm có thể có bất cứ một hình dạng nào Do đó, việc phát triển các thuật toán có thể khám phá ra các cụm có hình dạng bất

kỳ là một việc làm quan trọng

Tối thiểu lượng tri thức cần cho xác định các tham số đầu vào: Nhiều thuật toán phân cụm yêu cầu người dùng đưa vào những tham số nhất định trong phân tích phân cụm (như số lượng các cụm mong muốn) Kết quả của phân cụm thường khá nhạy cảm với các tham số đầu vào Nhiều tham số rất khó để xác định, nhất là với các tập dữ liệu

Trang 22

có lượng các đối tượng lớn Điều này không những gây trở ngại cho người dùng mà còn làm cho khó có thể điều chỉnh được chất lượng của phân cụm

Khả năng thích nghi với dữ liệu nhiễu: Hầu hết những CSDL thực đều chứa đựng dữ liệu ngoại lai, dữ liệu lỗi, dữ liệu chưa biết hoặc dữ liệu sai Một số thuật toán phân cụm nhạy cảm với dữ liệu như vậy và có thể dẫn đến chất lượng phân cụm thấp

Ít nhạy cảm với thứ tự của các dữ liệu vào: Một số thuật toán phân cụm nhạy cảm với thứ tự của dữ liệu vào, ví dụ như với cùng một tập dữ liệu, khi được đưa ra với các thứ

tự khác nhau thì với cùng một thuật toán có thể sinh ra các cụm rất khác nhau Do đó, việc quan trọng là phát triển các thuật toán mà ít nhạy cảm với thứ tự vào của dữ liệu

Số chiều lớn: Một CSDL hoặc một kho dữ liệu có thể chứa một số chiều hoặc một số các thuộc tính Nhiều thuật toán phân cụm áp dụng tốt cho dữ liệu với số chiều thấp, bao gồm chỉ từ hai đến 3 chiều Người ta đánh giá việc phân cụm là có chất lượng tốt nếu nó áp dụng được cho dữ liệu có từ 3 chiều trở lên Nó là sự thách thức với các đối tượng dữ liệu cụm trong không gian với số chiều lớn, đặc biệt vì khi xét những không gian với số chiều lớn có thể rất thưa và có độ nghiêng lớn

Phân cụm ràng buộc: Nhiều ứng dụng thực tế có thể cần thực hiện phân cụm dưới các loại ràng buộc khác nhau Một nhiệm vụ đặt ra là đi tìm những nhóm dữ liệu

có trạng thái phân cụm tốt và thỏa mãn các ràng buộc

Dễ hiểu và dễ sử dụng: Người sử dụng có thể chờ đợi những kết quả phân cụm dễ hiểu,

dễ lý giải và dễ sử dụng Nghĩa là, sự phân cụm có thể cần được giải thích ý nghĩa và ứng dụng rõ ràng Với những yêu cầu đáng lưu ý này, nghiên cứu của ta về phân tích phân cụm diễn ra như sau: Đầu tiên, ta nghiên cứu các kiểu dữ liệu khác và cách chúng

có thể gây ảnh hưởng tới các phương pháp phân cụm Thứ hai, ta đưa ra một cách phân loại chung trong các phương pháp phân cụm Sau đó, ta nghiên cứu chi tiết mỗi phương pháp phân cụm, bao gồm các phương pháp phân hoạch, phân cấp, dựa trên mật độ, Ta cũng khảo sát sự phân cụm trong không gian đa chiều và các biến thể của các phương pháp khác

Trang 23

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

Thuật toán phân cụm dữ liệu có rất nhiều kiểu dữ liệu Một thuộc tính duy nhất

có thể được có như nhị phân, rời rạc, hoặc liên tục Thuộc tính nhị phân có chính xác hai giá trị, như là đúng hoặc sai Thuộc tính rời rạc có một số hữu hạn các giá trị có thể,

vì thế kiểu dữ liệu nhị phân là một trường hợp đặc biệt của dữ liệu rời rạc Quy mô dữ liệu chỉ ra tầm quan trọng tương đối của các con số, cũng là một vấn đề quan trọng trong phân cụm dữ liệu Vì vậy dữ liệu được chia thành các kiểu như sau:

Hình 2.1 : Biểu đồ các dạng dữ liệu

Hình 2.2: biểu đồ quy mô dữ liệu

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

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

Trang 24

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,…

+ 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

+ 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 )

q y

x

d , trong đó q là số tự nhiên dương

Khoảng cách Euclide : 

n

i xi yi y

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

Trang 25

Khoảng cách Manhattan : 

 

n

i xi yi y

x d

),( , đâ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

d    , đây là trường hợp của khoảng cách Minskowski trong trường hợp q 

+ Thuộc tính tỉ lệ (Ratio Scale) : là thuộc tính khoảng nhưng được xác định một cách tương đối so với điểm mốc, thí dụ như thuộc tính chiều cao hoặc cân nặng lấy điểm 0 làm mốc Có nhiều cách khác nhau để tính độ tương 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)

2.2.Một số thuật toán trong phân cụm dữ liệu

2.2.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

Trang 26

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 2.5: Thiết lập để xác định danh giới các cụm ban đầu

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 2.6: Tính toán trọng tâm các cụm mới

Trang 27

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 28

Nhận xét: Độ phức tạp của thuật toán là O Tkn 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

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

z x k

m x

i m x i x i

1,, ,

Trang 29

Dưới đây em xin đưa ra một số khái niệm sử dụng trong dữ liệu hỗn hợp:

a) Mode của tập dữ liệu hỗn hợp

Đị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 = mode(C),  j n

j-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ố: Aj thuộctính số nếu DOM(Aj) là tập số thực

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)= xy (2.3)

Trang 30

Nếu Aj là thuộc tính thứ tự và DOM(Aj) = k

j

a , ,1 với k

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

j

a

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 )

,

(  (2.6)

Trong đó các dj (xj, yj) được tính theo các công thức (2.3 -2.5) vàjlà các trọng

số dương cho bởi các chuyên gia

Ta xem các thuộc tính thứ tự có miền giá trị là đoạn [0,1] (các giá trị trên thuộc tính này của D là tập con) và nó cũng được xem là thuộc tính Ta có định lý sau:

Đị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

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

Trang 31

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

2.2.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à

Trang 32

Hình 2.7: 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 33

Hình 2.8: 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.2.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ỗi 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 ý

Trang 34

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 2.9: 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.2.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

Trang 35

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

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.2.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ị

Trang 36

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

2.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

Hình 2.10: 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ý

Trang 37

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

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ì 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ừ 1m 6 trở lên), TB (từ 1 m 5 đến 1m59), Thấp (từ 1m49 trở xuống) Hỏi : Một người cao vừa vừa ( theo ngôn ngữ tự nhiên ) thì khi đó họ thuộc nhóm người nào?

Vì vậy trong trường hợp này chúng ta nên áp dụng lý thuyết về tập Mờ trong phân cụm dữ liệu để giải quyết cho trường hợp này, cách thức này được gọi là Phân

Trang 38

Phân cụm Mờ là phương pháp phân cụm dữ liệu mà cho phép mỗi điểm dữ liệu

có thể thuộc về hai hay nhiều cụm thông qua bậc thành viên

Năm 1969, Ruspini đã giới thiệu khái niệm phân hoạch mờ để mô tả cấu trúc của cụm dữ liệu và đề xuất một thuật toán để tính toán tối ưu phân hoạch mờ Và năm

1973, Dunn đã mở rộng phương pháp phân cụm và phát triển thuật toán phân cụm Mờ

Ý tưởng của thuật toán là xây dựng một phương pháp phân cụm mờ dựa trên tối thiểu hóa hàm mục tiêu Năm 1981, Bezdek đã cải tiến và tổng quát hóa hàm mục tiêu

mờ bằng cách đưa ra trọng số mũ để xây dựng thuật toán phân cụm 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

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

2.3.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 xkvà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

uik N k c i RcN

U

E fc

], 1 , 0 [ 1

Trang 39

J m

2)()

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:

Đị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

,0

,1

1( )

1( )1

(2.13)

Ngày đăng: 08/11/2014, 21:50

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Kiến trúc một hệ thống khai phá dữ liệu - Phân cụm dữ liệu cho nhận dạng ảnh sử dụng mạng nơron
Hình 1.1 Kiến trúc một hệ thống khai phá dữ liệu (Trang 12)
Hình 1.2: Quá trình khai phá dữ liệu - Phân cụm dữ liệu cho nhận dạng ảnh sử dụng mạng nơron
Hình 1.2 Quá trình khai phá dữ liệu (Trang 13)
Hình 2.1 : Biểu đồ các dạng dữ liệu - Phân cụm dữ liệu cho nhận dạng ảnh sử dụng mạng nơron
Hình 2.1 Biểu đồ các dạng dữ liệu (Trang 23)
Hình 2.5: Thiết lập để xác định danh giới các cụm ban đầu - Phân cụm dữ liệu cho nhận dạng ảnh sử dụng mạng nơron
Hình 2.5 Thiết lập để xác định danh giới các cụm ban đầu (Trang 26)
Hình 2.6: Tính toán trọng tâm các cụm mới - Phân cụm dữ liệu cho nhận dạng ảnh sử dụng mạng nơron
Hình 2.6 Tính toán trọng tâm các cụm mới (Trang 26)
Hình 3.2: Mô hình mạng nơron 3 lớp - Phân cụm dữ liệu cho nhận dạng ảnh sử dụng mạng nơron
Hình 3.2 Mô hình mạng nơron 3 lớp (Trang 47)
Hình 3.3: Mô hình học giám sát - Phân cụm dữ liệu cho nhận dạng ảnh sử dụng mạng nơron
Hình 3.3 Mô hình học giám sát (Trang 49)
Hình 3.11: Mô hình Mạng Nơron Kohonen thông thường  3.2.3. Thuật toán của mạng SOM - Phân cụm dữ liệu cho nhận dạng ảnh sử dụng mạng nơron
Hình 3.11 Mô hình Mạng Nơron Kohonen thông thường 3.2.3. Thuật toán của mạng SOM (Trang 59)
Hình 3.12: Phần tử nơron chiến thắng BMU - Phân cụm dữ liệu cho nhận dạng ảnh sử dụng mạng nơron
Hình 3.12 Phần tử nơron chiến thắng BMU (Trang 60)
Hình 3.13: Các vùng lân cận - Phân cụm dữ liệu cho nhận dạng ảnh sử dụng mạng nơron
Hình 3.13 Các vùng lân cận (Trang 61)
Hình 4.1: Giao diện chương trình - Phân cụm dữ liệu cho nhận dạng ảnh sử dụng mạng nơron
Hình 4.1 Giao diện chương trình (Trang 71)
Hình 4.2: Khởi tạo mạng ngẫu nhiên - Phân cụm dữ liệu cho nhận dạng ảnh sử dụng mạng nơron
Hình 4.2 Khởi tạo mạng ngẫu nhiên (Trang 72)
Hình 4.5: Giao diện chọn ảnh để phân cụm - Phân cụm dữ liệu cho nhận dạng ảnh sử dụng mạng nơron
Hình 4.5 Giao diện chọn ảnh để phân cụm (Trang 73)
Hình 4.4: Kết quả gom cụm  4.3.2 Thử nghiệm 2 - Phân cụm dữ liệu cho nhận dạng ảnh sử dụng mạng nơron
Hình 4.4 Kết quả gom cụm 4.3.2 Thử nghiệm 2 (Trang 73)
Hình 4.6: Kết quả sau khi phân cụm  4.4 Hạn chế của giải thuật SOM khi áp dụng phân cụm màu trên ảnh - Phân cụm dữ liệu cho nhận dạng ảnh sử dụng mạng nơron
Hình 4.6 Kết quả sau khi phân cụm 4.4 Hạn chế của giải thuật SOM khi áp dụng phân cụm màu trên ảnh (Trang 74)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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