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 2Sau 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 3MỤ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 42.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 5TÀI LIỆU THAM KHẢO 77
Trang 6DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT
BAM Bidirectional Associative Memory
LVQ Learning Vector Quantization
Trang 7DANH 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 8Hì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 9LỜ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 10liệ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 11CHƯƠ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 12Hì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 13Dữ 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 14gặ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 16Luậ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 17gian 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 18Cá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 19liệ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 20CHƯƠ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 21cầ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 22có 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 232.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 24Thuộ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 25Khoả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 26cụ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 27Thuậ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) (i1,n), sao cho hàm tiêu chuẩn :
Trang 28Nhậ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 29Dướ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 ab
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)= x y (2.3)
Trang 30Nế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 31Phâ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 32Hì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 33Hì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 34Nế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 35B2: 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 36dữ 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 37Phâ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 38Phâ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 39J m
2)()
dik k i 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)