Để khai thác hiệu quả nguồn thông tin từ các cơ sở dữ liệu khổng lồ đó nhằm mục đích dự báo, hỗ trợ ra quyết định, bên cạnh các phương pháp khai thác thông tin truyền thống, các nhà nghi
Trang 1i
LỜI CAM ĐOAN
Tác giả Trịnh Anh Tuấn xin cam kết rằng nội dung của Luận văn này chưa được nộp cho bất kỳ một chương trình cấp bằng cao học nào cũng như bất kỳ một chương trình đào tạo cấp bằng nào khác
Ngoài ra, tác giả cũng xin cam kết Luận văn thạc sĩ này là nỗ lực riêng của cá nhân tác giả Các kết quả, phân tích, kết luận trong Luận văn thạc sĩ này (ngoài các phần được trích dẫn) đều là kết quả làm việc của cá nhân tác giả
Thái Nguyên, tháng 6 năm 2016
Tác Giả
Trịnh Anh Tuấn
Trang 2Xin cám ơn đồng nghiệp tại trường Trung học cơ sở Chu Văn An thành phố Thái Nguyên đã trợ giúp rất nhiều trong thời gian qua
Trong quá trình thực hiện Luận văn, mặc dù đã cố gắng hết mình, song chắc chắn luận văn của em vẫn còn nhiều thiếu sót Em rất mong nhận được sự chỉ bảo vào đóng góp tận tình của các thầy cô để luận văn của em được hoàn thiện hơn
Thái Nguyên, tháng 6 năm 2016
Tác Giả
Trịnh Anh Tuấn
Trang 3iii
MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC CÁC BẢNG vi
DANH MỤC CÁC HÌNH vii
MỞ ĐẦU 1
1.1.Sự cần thiết lựa chọn đề tài 1
1.2.Mục tiêu đề tài 2
1.3.Đối tượng và phạm vi nghiên cứu 2
1.4.Phương pháp nghiên cứu 3
1.5.Cấu trúc của luận văn 3
Chương 1 TỔNG QUAN 4
1.1.Quá trình khám phá tri thức 4
1.2.Khai phá dữ liệu 5
1.2.1 Khái niệm khai phá dữ liệu 5
1.2.2 Các kỹ thuật khai phá dữ liệu 6
1.3.Phân cụm dữ liệu 8
1.3.1 Khái niệm về phân cụm dữ liệu 8
1.3.2 Một số vấn đề trong phân cụm dữ liệu 9
1.3.3 Mục tiêu của phân cụm dữ liệu 10
1.3.4 Các bước cơ bản trong phân cụm dữ liệu 10
1.3.5 Yêu cầu của phân cụm dữ liệu 11
1.3.6 Ứng dụng của phân cụm dữ liệu 12
1.4.Kết luận chương 13
Chương 2 CÁC PHƯƠNG PHÁP PHÂN CỤM DỮ LIỆU 14
2.1.Kiểu dữ liệu 14
2.1.1 Phân loại kiểu dữ liệu dựa trên kích thước miền 14
2.1.2 Phân loại kiểu dữ liệu dựa trên hệ đo 14
2.2.Phép đo độ tương tự và phép đo khoảng cách 16
Trang 4iv
2.2.1 Khái niệm tương tự và không tương tự 16
2.2.2 Phép đo khoảng cách 17
2.3.Phương pháp phân cụm phân hoạch 18
2.3.1 Giới thiệu phương pháp 18
2.3.2 Thuật toán K-MEANS 19
2.3.3 Thuật toán PAM 21
2.4.Phương pháp phân cụm phân cấp 24
2.4.1 Giới thiệu phương pháp 24
2.4.2 Thuật toán HERACHICAL 25
2.4.3 Thuật toán BIRCH 28
2.5.Phương pháp phân dựa trên mật độ 31
2.5.1 Giới thiệu phương pháp 31
2.5.2 Thuật toán DBSCAN 32
2.6.Phương pháp phân cụm dựa trên lưới 36
2.6.1 Giới thiệu phương pháp 36
2.6.2 Thuật toán STING 37
2.7.Kết luận chương 40
Chương 3 PHÂN CỤM KẾT QUẢ HỌC TẬP TẠI TRƯỜNG TRUNG HỌC CƠ SỞ CHU VĂN AN 41
3.1.Bài toán phân cụm kết quả học tập của học sinh tại trường trung học cơ sở Chu Văn An……….41
3.1.1 Giới thiệu trường Trung học cơ sở Chu Văn An 41
3.1.2 Bảng dữ liệu kết quả học tập của học sinh 42
3.1.3 Bài toán phân cụm kết quả học tập của học sinh 43
3.2.Lựa chọn phương pháp, công cụ 44
3.2.1 Lựa chọn ngôn ngữ R thực hiện phân cụm 44
3.2.2 Các bước thực hiện phân cụm bằng ngôn ngữ R 46
3.3.Kết quả phân cụm bằng thuật toán K-means 48
3.3.1 Phân cụm học sinh dựa trên kết quả học tập 48
3.3.2 Phân cụm học sinh dựa trên điểm trung bình các môn 52
3.3.3 Phân cụm dựa trên điểm trung bình môn toán và môn văn 53
Trang 5v
3.4.Kết luận chương 54KẾT LUẬN 55TÀI LIỆU THAM KHẢO 57
Trang 6vi
DANH MỤC CÁC BẢNG
Bảng 3.1 Bảng dữ liệu kết quả học tập của học sinh 43
Bảng 3.2 Phân cụm theo kết quả học tập 48
Bảng 3.3 Thống kê phân cụm theo địa bàn hành chính 49
Bảng 3.4 Thống kê phân cụm theo hoàn cảnh gia đình 50
Bảng 3.5 Thống kê phân cụm theo dân tộc 51
Bảng 3.6 Thống kê phân cụm theo giới tính 52
Bảng 3.7 Phân cụm theo điểm trung bình môn toán 52
Bảng 3.8 Phân cụm theo điểm trung bình môn văn 53
Trang 7vii
DANH MỤC CÁC HÌNH
Hình 1.1 Quá trình khám phá tri thức 4
Hình 1.2 Quy trình phân cụm 8
Hình 2.1 Khởi tạo các đối tượng medoid 22
Hình 2.2 Cây CF được dùng trong thuật toán BIRCH 29
Hình 2.3 Ý tưởng của thuật toán phân cụm phân cấp 31
Hình 2.4 Lân cận với ngưỡng của điểm p 32
Hình 2.5 Mật độ liên lạc 33
Hình 2.6 Mật độ liên thông 34
Hình 2.7 Các mức ô lưới khác nhau trong quá trình truy vấn 38
Hình 3 1 Website của trường Trung học cơ sở Chu Văn An 41
Hình 3.2 Cơ cấu tổ chức của trường Trung học cơ sở Chu Văn An 42
Hình 3.3 Thống kê số học sinh theo điểm toán 47
Hình 3.4 Kết quả phân cụm 48
Trang 8MỞ ĐẦU 1.1 Sự cần thiết lựa chọn đề tài
Sự phát triển của nhanh chóng các ứng dụng công nghệ thông tin và Internet vào nhiều lĩnh vực đời sống xã hội, quản lý kinh tế, khoa học kỹ thuật trong mấy năm gần đây đã tạo ra nhiều cơ sở dữ liệu khổng lồ Để khai thác hiệu quả nguồn thông tin từ các cơ sở dữ liệu khổng lồ đó nhằm mục đích dự báo, hỗ trợ ra quyết định, bên cạnh các phương pháp khai thác thông tin truyền thống, các nhà nghiên cứu đã phát triển các phương pháp, kỹ thuật và phần mềm mới hỗ trợ tiến trình khám phá, phân tích, tổng hợp thông tin, lĩnh vực này được gọi là khai phá dữ liệu
và khám phá tri thức (Data mining and Knowledge discovery)
Khai phá dữ liệu và khám phá tri thức là một lĩnh vực quan trọng của ngành Công nghệ thông tin với mục tiêu là tìm kiếm các tri thức có ích, cần thiết, tiềm ẩn
và chưa được biết trước trong cơ sở dữ liệu lớn Đây là lĩnh vực đã và đang thu hút đông đảo các nhà khoa học trên thế giới và trong nước tham gia nghiên cứu Khai phá dữ liệu có thể xem là nhiệm vụ quan trọng trong quá trình khám phá tri thức từ
cơ sở dữ liệu, bao gồm ba bước chính: thu thập và tiền xử lý dữ liệu; lựa chọn các thuật toán khai phá dữ liệu; đánh giá kết quả và biểu diễn tri thức Các bài toán quan trọng trong khai phá dữ liệu bao gồm: phân lớp (classification); hồi quy (regression); phân cụm (clustering); khai phá luật kết hợp (rule association)… Các kỹ thuật, công
cụ sử dụng trong khai phá dữ liệu bao gồm: cây quyết định; mạng nơron nhân tạo; thuật toán di truyền; các kỹ thuật phân lớp, phân cụm; các phương pháp trong thống
kê như phân tích tương quan, phân tích phương sai, hồi quy đơn biến, đa biến Khai phá dữ liệu có nhiều ứng dụng trong các lĩnh vực khác nhau của đời sống như: phân tích, dự báo trong kinh tế, tài chính; chuẩn đoán bệnh trong y tế; tin sinh học;
hỗ trợ quá trình sản xuất, kinh doanh
Phân cụm (clustering) là bài toán có vai trò quan trọng trong khai phá dữ liệu
và có nhiều ứng dụng trong thực tiễn Mục tiêu của phương pháp phân cụm dữ liệu
là quá trình nhóm các đối tượng tương tự nhau trong cơ sở dữ liệu vào các cụm sao cho các đối tượng trong cùng một cụm là tương đồng, còn các đối tượng thuộc các
Trang 9cụm khác nhau sẽ không tương đồng Điểm mạnh của phân cụm dữ liệu là đưa ra được những cấu trúc có ích hoặc những cụm các đối tượng tìm thấy trực tiếp từ dữ liệu mà không cần bất kì một tri thức cơ sở nào Giống như cách tiếp cận học máy, phân cụm dữ liệu được hiểu như là phương pháp học không có thầy (unsupervised learning) 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 (learning by observation), trong khi phân lớp dữ liệu là học bằng ví dụ (learning by example) Trong phương pháp này sẽ không thể biết kết quả các cụm thu được sẽ như thế nào khi bắt đầu quá trình Vì vậy, cần có một chuyên gia để đánh giá các cụm thu được Phân cụm dữ liệu được sử dụng nhiều trong các ứng dụng về phân đoạn thị trường, phân đoạn khách hàng, nhận dạng mẫu, phân loại trang Web, phân loại, đánh giá học sinh, sinh viên trong các trường học… 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
Là một người công tác trong lĩnh vực giáo dục phổ thông, với mong muốn áp dụng các kiến thức đã học về các phương pháp phân cụm vào bài toán thực tiễn là phân cụm học sinh của trường Trung học cơ sở Chu Văn An, thành phố Thái
Nguyên dựa vào kết quả học tập, tác giả luận văn chọn đề tài: “Phân cụm dữ liệu và ứng dụng phân cụm học sinh trường Trung học cơ sở Chu Văn An”
1.2 Mục tiêu đề tài
Nắm bắt được một cách tổng thể các phương pháp phân cụm trong khai phá
dữ liệu Trên cơ sở đó, áp dụng các kỹ thuật phân cụm vào giải quyết bài toán thực tiễn tại địa phương nơi tác giả làm việc là phân cụm kết quả học tập của học sinh trường Trung học cơ sở Chu Văn An, thành phố Thái Nguyên
1.3 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu của đề tài là các phương pháp phân cụm dữ liệu trong khai phá dữ liệu và cơ sở dữ liệu về kết quả học tập của học sinh trường Trung học
cơ sở Chu Văn An, thành phố Thái Nguyên
Trang 10Phạm vi nghiên cứu của đề tài là áp dụng một số phương pháp phân cụm vào việc giải quyết bài toán phân cụm kết quả học tập của học sinh trường Trung học cơ
sở Chu Văn An, thành phố Thái Nguyên
1.4 Phương pháp nghiên cứu
Phương pháp nghiên cứu của luận văn là nghiên cứu lý thuyết và nghiên cứu thực nghiệm
Về nghiên cứu lý thuyết, luận văn đã tổng hợp các kết quả nghiên cứu về các phương pháp phân cụm dữ liệu trong khai phá dữ liệu Về nghiên cứu thực nghiệm, luận văn cài đặt và thử nghiệm một số thuật toán phân cụm trên dữ liệu học sinh của trường Trung học cơ sở Chu Văn An
1.5 Cấu trúc của luận văn
Cấu trúc luận văn gồm: mở đầu, ba chương chính, kết luận và tài liệu tham khảo
Phần mở đầu: Lý do chọn đề tài và bố cục luận văn
Chương 1: Giới thiệu tổng quan về khai phá dữ liệu và phân cụm dữ liệu Chương 2: Trình bày một số phương pháp và thuật toán phân cụm dữ liệu, bao
gồm phân cụm phân hoạch, phân cụm phân cấp, phân cụm dựa trên mật độ, phân cụm dựa trên lưới, phân cụm dựa trên mô hình, phân cụm mờ…
Chương 3: Trình bày kết quả thử nghiệm một số thuật toán phân cụm để giải
quyết bài toán phân cụm học sinh trường Trung học cơ sở Chu Văn An, bao gồm phát biểu bài toán, lựa chọn thuật toán, công cụ phát triển (lập trình, cơ sở dữ liệu), đánh giá kết quả thử nghiệm
Phần kết luận: Tóm tắt các kết quả đạt được và hướng phát triển tiếp của đề
tài
Trang 11ra cho chúng ta một kho dữ liệu khổng lồ Quá trình khám phá tri thức trong Cơ sở
dữ liệu (Knowledge Discovery in Databases) đang là một vấn đề thời sự của nền công nghệ thông tin thế giới hiện nay Nó được ứng dụng vào nhiều lớp bài toán thực tế khác nhau và thu được nhiều thành quả to lớn
Khám phá tri thức trong cơ sở dữ liệu là một quá trình nhận biết đúng đắn, mới, hữu ích và cuối cùng là có thể hiểu được mẫu hoặc mô hình trong dữ liệu Quá trình khám phá tri thức có thể bao gồm các bước như Hình 1.1 [7]
Hình 1.1 Quá trình khám phá tri thức
- Trích chọn dữ liệu: Là bước trích chọn những tập dữ liệu cần được khai phá
từ tập dữ liệu lớn ban đầu theo một tiêu chí nhất định Đây là bước quan trọng để rút ra những tri thức hữu ích và chọn phương pháp khai phá dữ liệu phù hợp với mục đích ứng dụng và bản chất dữ liệu
- Tiền xử lý dữ liệu: Là bước làm sạch dữ liệu: lựa chọn dữ liệu nguồn, loại bỏ
các dữ liệu nhiễu hoặc ngoại lai, xử lý các giá trị không đầy đủ, biến đổi và rút gọn dữ liệu, sửa các lỗi mang tính hệ thống, tập hợp các thông tin cần
Trang 12thiết để mô hình hoặc tính toán nhiễu, quyết định các chiến lược xử lý các trường dữ liệu bị lỗi Sau bước này dữ liệu sẽ nhất quán, đầy đủ, được rút
gọn và được rời rạc hoá
- Biến đổi dữ liệu: Đây là bước chuẩn hoá và làm mịn dữ liệu để đưa dữ liệu
về dạng thuận lợi nhất nhằm phục vụ cho kỹ thuật khai phá ở bước sau
- Khai phá dữ liệu: Áp dụng các kỹ thuật phân tích nhằm để khai thác dữ liệu,
trích chọn các mẫu ẩn hoặc mô hình trong dữ liệu Một mô hình có thể xem như là một biểu diễn tổng thể của cấu trúc nhằm tóm lược các thành phần mang tính hệ thống có trong dữ liệu hoặc mô tả dữ liệu phát sinh Ngược lại, một mẫu là một cấu trúc cục bộ có khi chỉ liên quan tới một nhóm các biến
và một số trường hợp
- Đánh giá và biểu diễn tri thức: Những mẫu thông tin và mối liên hệ trong dữ
liệu đã được khám phá ở bước trên được chuyển dạng và được biểu diễn ở một dạng gần gũi với người sử dụng, đồng thời đánh giá những tri thức khám phá được theo những tiêu chí nhất định Đặc biệt là làm sáng tỏ các mô tả và
dự đoán, hai mục tiêu chính của các hệ thống khám phá trong thực tế Kinh nghiệm cho thấy rằng các mẫu hoặc mô hình phát hiện được từ các dữ liệu không phải lúc nào cũng đáng quan tâm và có thể trực tiếp sử dụng được ngay, quy trình khám phá tri thức được lặp đi lặp lại có điều chỉnh theo các tri thức phát hiện được Để đánh giá được các luật áp dụng trong quy trình khám phá tri thức, dữ liệu thường được chia thành hai tập, huấn luyện trên tập thứ nhất và kiểm chứng trên tập thứ hai Có thể lặp lại quy trình này với một số lần với các phần chia khác nhau, sau đó lấy trung bình các kết quả để
ước lượng các luật thi hành
1.2 Khai phá dữ liệu
1.2.1 Khái niệm khai phá dữ liệu
Khai phá dữ liệu (Data mining) là quá trình tìm kiếm, phát hiện các tri thức
mới, tiềm ẩn, hữu dụng trong các cơ sở dữ liệu lớn, các kho dữ liệu Các kết quả
Trang 13khoa học cùng những thành công trong khám phá tri thức cho thấy khai phá dữ liệu
là một lĩnh vực mang lại nhiều lợi ích và có triển vọng, có ưu thế hơn hẳn so với các công cụ phân tích dữ liệu truyền thống Khai phá dữ liệu là một lĩnh vực có liên quan đến rất nhiều ngành khoa học khác như: Hệ cơ sở dữ liệu, thống kê, học máy, trực quan hoá.Tuỳ vào cách tiếp cận được sử dụng thì khai phá dữ liệu còn áp dụng một số kỹ thuật khác như mạng nơron, lý thuyết tập thô hoặc tập mờ, biểu diễn tri thức So với các phương pháp này, khai phá dữ liệu có một số ưu thế rõ rệt
So với phương pháp học máy, khai phá dữ liệu có thể sử dụng dữ liệu có nhiều nhiễu, dữ liệu không đầy đủ hoặc biến đổi liên tục Trong khi đó, phương pháp học máy đòi hỏi tập dữ liệu phải đầy đủ, ít biến động và không quá lớn
Phương pháp hệ chuyên gia, các ví dụ của chuyên gia thường phải đòi hỏi chất lượng cao hơn nhiều so với dữ liệu trong cơ sở dữ liệu
Phương pháp thống kê là một trong những nền tảng lý thuyết của khai phá dữ liệu nhưng khai phá dữ liệu đã khắc phục được một số tồn tại của phương pháp thống kê như: Các phương pháp thống kê chuẩn không phù hợp với các kiểu dữ liệu
có cấu trúc trong rất nhiều kiểu cơ sở dữ liệu, nó hoạt động hoàn toàn theo dữ liệu,
nó không sử dụng tri thức sẵn có của lĩnh vực, kết quả phân tích của thống kê rất nhiều và khó có thể làm rõ được, phương pháp thống kê cần có sự hướng dẫn của người dùng để xác định phân tích dữ liệu như thế nào và ở đâu
Với những ưu điểm đó, khai phá dữ liệu đang được áp dụng vào nhiều lĩnh vực như tài chính, ngân hàng, bảo hiểm, y tế, an ninh, internet Các công ty phần mềm lớn trên thế giới cũng đã rất quan tâm chú trọng việc nghiên cứu và phát triển các kỹ thuật khai phá dữ liệu: Oracle tích hợp các công cụ khai phá dữ liệu vào bộ Oracle9i, IBM phát triển khai phá dữ liệu với các ứng dụng như Intelligence Miner…[5]
1.2.2 Các kỹ thuật khai phá dữ liệu
Nếu đứng trên quan điểm của học máy (Machine learning) thì kỹ thuật khai phá dữ liệu bao gồm:
Trang 14- Học có giám sát (supervised learning): là quá trình gán nhãn lớp cho các
phần tử trong cơ sở dữ liệu dựa trên một tập các ví dụ huấn luyện và các thông tin về nhãn lớp đã biết Đây là một kỹ thuật của ngành học máy để xây dựng một hàm từ dữ liệu huấn luyện Dữ liệu huấn luyện bao gồm các cặp gồm đối tượng đầu vào và đầu ra mong muốn Đầu ra của một hàm có thể là một giá trị liên tục (gọi là hồi qui), hay có thể là dự đoán một nhãn phân loại cho một đối tượng đầu vào (gọi là phân loại) Nhiệm vụ của chương trình học có giám sát là dự đoán giá trị của hàm cho một đối tượng bất kì là đầu vào hợp lệ, sau khi đã xem xét một số ví dụ huấn luyện (các cặp đầu vào và đầu ra tương ứng) Để đạt được điều này, chương trình học phải tổng quát hóa từ các dữ liệu sẵn có để dự đoán được những tình huống chưa gặp phải
theo một cách “hợp lý”
- Học không có giám sát (unsupervised learning): là quá trình phân chia một
tập dữ liệu thành các lớp hay là cụm (clustering) dữ liệu tương tự nhau mà chưa biết trước các thông tin về lớp một phương pháp của ngành học máy nhằm tìm ra một mô hình mà phù hợp với các quan sát Nó khác biệt với học
có giám sát ở chỗ là đầu ra đúng tương ứng cho mỗi đầu vào là không biết trước Trong học không có giám sát, một tập dữ liệu đầu vào được thu thập Học không có giám sát thường đối xử với các đối tượng đầu vào như là một tập các biến ngẫu nhiên Sau đó, một mô hình mật độ kết hợp sẽ được xây
dựng cho tập dữ liệu đó [4]
- Học nửa giám sát (semi-supervised learning): là quá trình phân chia một tập
dữ liệu thành các lớp dựa trên một tập dữ liệu nhỏ các ví dụ huấn luyện và
một số các thông tin về một số nhãn lớp đã biết trước
Nếu căn cứ vào lớp các bài toán cần giải quyết thì kỹ thuật khai phá dữ liệu gồm các kỹ thuật sau:
- Kỹ thuật khai phá dữ liệu mô tả: Có nhiệm vụ mô tả về các tính chất hoặc
các đặc tính chung của dữ liệu trong cơ sở dữ liệu hiện có Các kỹ thuật loại này gồm có: Phân cụm (Clustering), tóm tắt (Summarization), trực quan hoá
Trang 15(Visualization), phân tích sự phát triển và độ lệch (Evolution and deviation
analysis), phân tích luật kết hợp (Association rules),
- Kỹ thuật khai phá dữ liệu dự đoán: Có nhiệm vụ đưa ra các dự đoán dựa vào
các suy diễn trên dữ liệu hiện tại Các kỹ thuật loại này gồm có: Phân lớp
(Classification), hồi quy (Regression),
1.3 Phân cụm dữ liệu
1.3.1 Khái niệm về phân cụm dữ liệu
Phân cụm dữ liệu (PCDL) 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 tâm trong tập dữ liệu lớn, từ đó cung cấp thông tin hữu ích cho việc ra quyết định
Như vậy phân cụm dữ liệu là kỹ thuật sử dụng quan sát đối tượng để nhóm các đối tượng thành các cụm hoặc chia một tập dữ liệu ban đầu thành các cụm sao cho:
- Các đối tượng trong cùng một cụm là giống nhau hoặc gần giống nhau được
xác định bằng độ tương tự Hay nói một cách khác, các đối tượng trong cùng một cụm là tương tự với nhau
- Các đối tượng thuộc các cụm khác nhau sẽ không tương tự (phi tương tự) với
nhau
Vậy có thể hiểu một cách đơn giản là “Phân cụm là quá trình tổ chức các đối
tượng thành các nhóm sao cho các đối tượng trong cùng một nhóm là tương tự với
nhau” Quy trình này được thể hiện như Hình 1.2
Hình 1.2 Quy trình phân cụm
Phân cụm Thuật toán
Trang 16Số các cụm được xác định tuỳ thuộc vào phương pháp phân cụm Các thuật toán phân cụm tìm các nhóm chứa đối tượng tương tự nhau Hai hay nhiều đối tượng được xếp vào cùng một cụm nếu chúng có chung một định nghĩa về khái niệm hoặc chúng xấp xỉ với các khái niệm được mô tả trước Một cụm là các đối tượng có thể xem như là một nhóm trong nhiều ứng dụng
Mặt khác, phân cụm là học bằng quan sát hơn là học bằng ví dụ nên còn được gọi là học không giám sát Hầu hết các nhiệm vụ chính của khai phá dữ liệu,
bắt đầu ở ngoài với một tập huấn luyện chưa phân lớp và thử phát triển một mô hình có khả năng dự đoán một bản ghi mới sẽ được phân lớp như thế nào Trong phân cụm, không có dữ liệu được phân lớp trước và không có sự phân biệt giữa các biến độc lập và biến phụ thuộc Trong học máy, phân cụm là một vấn đề quan trọng của học không có giám sát, vì nó phải đi giải quyết vấn đề tìm một cấu trúc trong tập hợp các dữ liệu chưa biết trước thông tin về lớp hay thông tin về tập ví dụ huấn luyện Trong nhiều trường hợp, khi phân lớp được xem là vấn đề học có giám sát
thì phân cụm dữ liệu là một bước trong phân lớp dữ liệu, trong đó phân cụm sẽ khởi
tạo các lớp cho phân lớp bằng cách xác định các nhãn cho các nhóm dữ liệu [14, 15]
1.3.2 Một số vấn đề trong phân cụm dữ liệu
- Xử lý nhiễu: Hầu hết các dữ liệu sử dụng để phân cụm đều bị nhiễu do quá
trình thu thập thiếu chính xác hay thiếu đầy đủ Vì vậy cần phải xây dựng chiến lược cho bước tiền xử lý dữ liệu nhằm khắc phục hoặc loại bỏ nhiễu trước khi chuyển sang giai đoạn phân tích cụm dữ liệu Dữ liệu bị nhiễu là
dữ liệu không chính xác hay là dữ liệu khuyết thiếu thông tin về một số thuộc tính Một trong các kỹ thuật xử lý nhiễu hiện nay là việc thay thế giá trị các thuộc tính của đối tượng nhiễu bằng các giá trị thuộc tính tương ứng
Trang 17- Dò tìm phần tử ngoại lai: Phần tử ngoại lai là một nhóm nhỏ các đối tượng
dữ liệu khác thường so với các dữ liệu trong cơ sở dữ liệu Loại bỏ những dữ liệu kiểu này để tránh ảnh hưởng đến kết quả phân cụm
- Phân cụm đang là vấn đề mở và khó: Vì phân cụm đang phải giải quyết
nhiều vấn đề cơ bản như: Xây dựng hàm tính độ tương tự, xây dựng các tiêu chuẩn phân cụm, xây dựng mô hình cho cấu trúc dữ liệu, xây dựng các thuật toán phân cụm và xác lập các điều kiện khởi tạo, xây dựng các thủ tục biểu diễn và đánh giá kết quả phân cụm 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 trọn vẹn cho tất cả các dạng cấu trúc dữ liệu Với những loại dữ liệu hỗn hợp thì việc phân cụm càng trở nên khó khăn và đây đang là một trong những thách thức lớn trong lĩnh vực khai phá dữ liệu
1.3.3 Mục tiêu của phân cụm dữ liệu
Mục tiêu của phân cụm là xác định được bản chất nhóm trong tập dữ liệu chưa có nhãn Nhưng để có thể quyết định được cái gì tạo thành một cụm tốt Nó đòi hỏi người sử dụng phải đưa ra một số tiêu chuẩn mà theo cách đó kết quả phân cụm sẽ đáp ứng được yêu cầu Ví dụ như quan tâm đến việc tìm đại diện cho các
nhóm đồng nhất (rút gọn dữ liệu), tìm kiếm các nhóm hữu ích và phù hợp (các lớp
dữ liệu hữu ích), tìm kiếm các đối tượng khác thường (dò tìm phần tử ngoại lai)
1.3.4 Các bước cơ bản trong phân cụm dữ liệu
- Chọn lựa đặc trưng: các đặc trưng phải được chọn lựa một cách hợp lý để có
thể mã hoá nhiều nhất thông tin liên quan đến công việc quan tâm Mục tiêu chính là phải giảm thiểu sự dư thừa thông tin giữa các đặc trưng Các đặc trưng cần được tiền xử lý trước khi dùng chúng trong các bước sau
- Chọn độ đo gần gũi: đây là một độ đo chỉ ra mức độ tương tự hay không
tương tự giữa hai vectơ đặc trưng Phải đảm bảo rằng tất cả các vectơ đặc trưng góp phần như nhau trong việc tính toán độ đo gần gũi và không có đặc
Trang 18trưng nào át hẳn đặc trưng nào, điều này được đảm bảo bởi quá trình tiền xử
lý
- Tiêu chuẩn phân cụm: điều này phụ thuộc vào sự giải thích của chuyên gia
cho thuật ngữ “dễ nhận thấy” dựa vào loại của các cụm được chuyên gia cho rằng đang ẩn giấu dưới tập dữ liệu Chẳng hạn, một cụm loại chặt của véctơ đặc trưng trong không gian n chiều có thể dễ nhận thấy theo một tiêu chuẩn, trong khi một cụm loại “dài và mỏng” lại có thể được dễ nhận thấy bởi một tiêu chuẩn khác Tiêu chuẩn phân loại có thể được diễn đạt bởi hàm chi phí hay một vài loại quy tắc khác
- Thuật toán phân loại: cần lựa chọn một sơ đồ thuật toán riêng biệt nhằm làm
sáng tỏ cấu trúc phân cụm của tập dữ liệu
- Công nhận kết quả: khi đã có kết quả phân loại thì ta phải kiểm tra tính đúng
đắn của nó Điều này thường được thực hiện bởi việc dùng các kiểm định phù hợp
- Giải thích kết quả: trong nhiều trường hợp, chuyên gia trong lĩnh vực ứng
dụng phải kết hợp kết quả phân loại với những bằng chứng thực nghiệm và phân tích để đưa ra các kết luận đúng đắn
Trong một số trường hợp, nên có cả bước phân tích khuynh hướng phân cụm, trong bước này có các kiểm định khác nhau để chỉ ra tập dữ liệu có hay không một cấu trúc phân cụm Ví dụ như tập dữ liệu của ta có thể hoàn toàn ngẫu nhiên vì vậy mọi cố gắng phân cụm đều là vô nghĩa
Các lựa chọn khác nhau của các đặc trưng, độ đo gần gũi, tiêu chuẩn phân cụm có thể dẫn tới các kết quả phân cụm khác nhau
1.3.5 Yêu cầu của phân cụm dữ liệu
Thuật toán phân cụm phải thoả mãn một số yêu cầu sau:
- Có khả năng mở rộng: Một số thuật toán có thể áp dụng tốt với tập dữ liệu
nhỏ nhưng lại không hiệu quả khi áp dụng cho tập dữ liệu lớn
- Thích nghi với các kiểu thuộc tính khác nhau của dữ liệu
Trang 19- Khám phá các cụm với hình thù bất kỳ: Hầu hết các cơ sở dữ liệu có chứa các
cụm dữ liệu với các hình thù khác nhau như hình lõm, hình cầu,
- Tối thiểu lượng tri thức cần cho xác định các tham số đầu vào: Các giá trị
đầu vào thường rất ảnh hưởng đến thuật toán phân cụm và rất phức tạp để xác định các giá trị đầu vào thích hợp đối với các cơ sở dữ liệu lớn
- Khả năng thích nghi với các dữ liệu nhiễu hoặc ngoại lai
- Ít nhạy cảm với thứ tự của dữ liệu vào: Cùng một tập dữ liệu khi đưa vào
phân nhóm với các thứ tự khác nhau thì không ảnh hưởng đến kết quả phân cụm
- Thích nghi với dữ liệu đa chiều: Thuật toán áp dụng hiệu quả cho dữ liệu với
số chiều khác nhau
- Dễ hiểu và dễ sử dụng
1.3.6 Ứng dụng của phân cụm dữ liệu
Phân cụm là một công cụ quan trọng trong một số ứng dụng sau:
- Giảm dữ liệu: Từ một số lượng lớn dữ liệu, phân cụm sẽ nhóm các dữ liệu
này thành cụm dữ liệu nhỏ dễ nhận thấy sau đó xử lý mỗi cụm như một đối tượng đơn
- Rút ra các giả thuyết: Các giả thuyết này có liên quan đến tính tự nhiên của
dữ liệu phải được kiểm tra bởi việc dùng một số tập dữ liệu khác
- Kiểm định giả thuyết: Phân cụm để xét xem có tồn tại một cụm nào đó trong
tập dữ liệu thoả mãn các giả thiết đã cho hay không
- Dự đoán dựa trên các cụm: Trước hết ta phải phân cụm một tập dữ liệu
thành các cụm mang đặc điểm của các dạng mà nó chứa Sau đó, khi có một dạng mới chưa biết xác định xem nó có khả năng thuộc về cụm nào nhất và
dự đoán được một số đặc điểm của dạng này nhờ các đặc trưng chung của cả cụm
Trong thực tế, phân cụm được áp dụng vào nhiều lĩnh vực khác nhau như:
- Tìm kiếm dữ liệu trên mạng: kết quả được phân thành các cụm tuỳ theo độ
tương tự với dữ liệu cần tìm
Trang 20- Marketing: trợ giúp cán bộ thị trường phát hiện được những phân đoạn thị
trường để có chiến lược, sản phẩm hợp lý đối với các phân đoạn đó
- Phân loại khách hàng sử dụng các sản phẩm của Ngân hàng và các ngành tài
chính, bảo hiểm
- Lập bản đồ thành phố theo nhóm các loại nhà ở, giá trị tài sản hay vị trí địa lý
Phân cụm đang là một vấn đề thời sự của ngành công nghệ thông tin thế giới hiện tại Ngoài các ứng dụng phổ biến đã được biết tới, thời gian gần đây, phân cụm
dữ liệu đã mở rộng phạm vi ứng dụng Các kỹ thuật phân cụm đã được sử dụng trong các lĩnh vực như: Nhận dạng mẫu, so sánh, phân lớp, Kỹ thuật phân cụm là
sự kết hợp từ nhiều phương pháp khác nhau như: Toán, vật lý, thống kê, khoa học máy tính, trí tuệ nhân tạo, cơ sở dữ liệu [7]
Hiện nay, phân cụm dữ liệu đã được nhiều công ty phần mềm nổi tiếng trên thế giới tích hợp vào bộ công cụ trong sản phẩm của mình
1.4 Kết luận chương
Chương 1 trình bày tổng quan về quá trình phát hiện tri thức từ cơ sở dữ liệu
và khái niệm về khai phá dữ liệu Chương này cũng trình bày các khái niệm cơ bản
về bài toán phân cụm dữ liệu và các ứng dụng của phân cụm dữ liệu trong các bài toán thực tế Các khái niệm được trình bày trong Chương 1 là kiến thức nền tảng cho các phương pháp phân cụm dữ liệu được trình bày trong Chương 2
Trang 21Chương 2 CÁC PHƯƠNG PHÁP PHÂN CỤM DỮ LIỆU
2.1 Kiểu dữ liệu
Trong phân cụm, các đối tượng dữ liệu thường được diễn tả dưới dạng các
đặc tính hay còn gọi là thuộc tính (Các kiểu dữ liệu và các thuộc tính dữ liệu được xem là tương đương) Các thuộc tính này là các tham số cho giải quyết vấn đề phân
cụm và sự lựa chọn chúng có tác động đến kết quả phân cụm Phân loại các kiểu dữ liệu khác nhau là vấn đề cần giải quyết đối với hầu hết các tập dữ liệu nhằm cung cấp các phương tiện thuận lợi để nhận dạng sự khác nhau của các phần tử dữ liệu
Có hai đặc trưng để phân loại: Kích thước miền và hệ đo
Cho cơ sở dữ liệu D chứa n đối tượng trong không gian k chiều và x, y, z là các đối tượng thuộc D:
1 , 2 , , k
x x x x , yy1 , y , , y 2 k, zz1 , z , , z 2 k
Trong đó x i, y , zi i với 1 i k là các đặc trưng hoặc thuộc tính tương ứng của
các đối tượng x, y, z Như vậy ta sẽ có các kiểu dữ liệu như sau [2, 3, 7]
2.1.1 Phân loại kiểu dữ liệu dựa trên kích thước miền
- Thuộc tính liên tục: Nếu miền giá trị của nó là vô hạn không đếm được,
nghĩa là giữa hai giá trị tồn tại vô số giá trị khác Ví dụ như các thuộc tính về nhiệt độ, hoặc cường độ âm thanh
- Thuôc tính rời rạc: Nếu miền giá trị của nó là tập hữu hạn, đếm được Ví dụ
như các thuộc tính số, liệt kê, Trường hợp đặc biệt của thuộc tính rời rạc là thuộc tính nhị phân mà miền giá trị của nó chỉ có hai phần tử Ví dụ như: Yes/No, True/False, On/Off
2.1.2 Phân loại kiểu dữ liệu dựa trên hệ đo
Giả sử ta có hai đối tượng x, y và các thuộc tính x i, yi với 1 i k tương ứng
với thuộc tính thứ i của chúng Như vậy sẽ có các kiểu dữ liệu như sau:
- Thuộc tính định danh: 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
Trang 22định là x y hoặc x yhoặc x y hoặc x y
- Thuộc tính khoảng: Để đo các giá trị theo xấp xỉ tuyến tính, với thuộc tính
khoảng có thể xác định được một thuộc tính là đứng trước hoặc đứng sau thuộc tính khác với một khoảng là bao nhiêu Nếu x i yi thì có thể nói x cách
y một khoảng x i yi tương ứng với thuộc tính thứ i
- Thuộc tính tỷ lệ: 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 có nghĩa nào đó
Trong các loại thuộc tính đề cập đến ở trên thì thuộc tính định danh và thuộc
tính có thứ tự được gọi chung là thuộc tính có hạng mục, còn thuộc tính khoảng và thuộc tính tỷ lệ được gọi chung là thuộc tính số
Đặc biệt còn có dữ liệu không gian là loại dữ liệu có thuộc tính số khái quát
trong không gian nhiều chiều, dữ liệu không gian mô tả các thông tin liên quan đến không gian chứa đựng các đối tượng Ví dụ như thông tin về hình học Dữ liệu không gian có thể là dữ liệu liên tục hoặc rời rạc
- Dữ liệu không gian liên tục: Bao chứa một vùng không gian
- Dữ liệu không gian rời rạc: Có thể là một điểm trong không gian nhiều chiều
và cho phép xác định khoảng cách giữa các đối tượng dữ liệu trong không
gian
Thông thường, các thuộc tính số được đo bằng các đơn vị xác định như
kilogams hay centimeters Tuy nhiên, việc thay đổi các đơn vị đo cũng ảnh hưởng
đến kết quả phân cụm Để khắc phục điều này phải chuẩn hoá dữ liệu được thực hiện bằng cách thay thế mỗi một thuộc tính bằng thuộc tính số hoặc thêm các trọng
số cho các thuộc tính
Trang 232.2 Phép đo độ tương tự và phép đo khoảng cách
2.2.1 Khái niệm tương tự và không tương tự
Khi các đặc tính của dữ liệu được xác định, ta phải tìm cách thích hợp để xác
định “khoảng cách” giữa các đối tượng, hay là phép đo tương tự dữ liệu Đây là các
hàm để đo sự giống nhau giữa các cặp đối tượng dữ liệu, thông thường các hàm này hoặc là để tính độ tương tự hoặc là để tính độ phi tương tự giữa các đối tượng dữ liệu Giá trị của hàm tính độ đo tương tự càng lớn thì sự giống nhau giữa các đối tượng càng lớn và ngược lại, còn hàm tính độ phi tương tự tỷ lệ nghịch với hàm tính
độ tương tự Độ tương tự hoặc phi tương tự có nhiều cách để xác định, chúng được
đo bằng khoảng cách giữa các đối tượng Tất cả các cách đo độ tương tự đều phụ thuộc vào kiểu thuộc tính mà người sử dụng phân tích Ví dụ, đối với các thuộc tính hạng mục thì không sử dụng độ đo khoảng cách là một hướng hình học của dữ liệu Tất cả các độ đo dưới đây được xác định trong không gian metric Bất kỳ một metric nào cũng là một độ đo nhưng điều ngược lại không đúng Để tránh sự nhầm lẫn, thuật ngữ độ đo ở đây đề cập đến hàm tính độ tương tự hoặc hàm tính độ
phi tương tự Một không gian metric là một tập trong đó có xác định “khoảng cách” giữa các cặp phần tử, với những tính chất thông thường của khoảng cách hình học Nghĩa là, một tập X (các phần tử của nó có thể là những đối tượng bất kỳ) các đối tượng trong cơ sở dữ liệu D được gọi là một không gian metric nếu:
- Với mỗi cặp phần tử x, y thuộc X đều được xác định theo một quy tắc nào đó,
một số thực x y, được gọi là khoảng cách giữa x và y
- Quy tắc nói trên thoả mãn hệ tính chất sau:
+ x y, 0 nếu x y, x y, 0 nếu x y
+ x y, y, x với mọi x y,
+ x y, x, zy, z
Hàm x y, được gọi là một metric của không gian, các phần tử của X được
gọi là một điểm của không gian này
Trang 24r r
- Average Linkage (Sự kết nối trung bình): là giá trị trung bình khoảng cách
của tất cả các điểm trong hai cụm đó
- Single Linkage (Sự kết nối đơn): là khoảng cách giữa hai điểm gần nhau nhất
trong hai cụm đó
- Complete Linkage (Sự kết nối đầy đủ): là khoảng cách giữa hai điểm xa nhau
nhất trong hai cụm đó
- Centroid (Trung tâm): là khoảng cách giữa hai trung tâm của cụm
Phần tiếp theo, luận văn trình bày các phương pháp phân cụm dữ liệu Có rất nhiều kỹ thuật tiếp cận và ứng dụng trong thực tế của phân cụm dữ liệu Nhìn chung,
các kỹ thuật phân cụm đều hướng tới hai mục tiêu là chất lượng của các cụm khám phá được và tốc độ thực hiện của thuật toán Tuy nhiên, các kỹ thuật phân cụm có
thể được phân thành một số loại cơ bản dựa trên các phương pháp tiếp cận như [5], [10], [11]:
- Phương pháp phân cụm phân hoạch
- Phương pháp phân cụm phân cấp
- Phương pháp phân cụm dựa trên mật độ
Trang 25- Phương pháp phân cụm dựa trên lưới
- Phương pháp phân cụm có dữ liệu ràng buộc
- Phương pháp phân cụm mờ
2.3 Phương pháp phân cụm phân hoạch
2.3.1 Giới thiệu phương pháp
Phương pháp phân cụm phân hoạch nhằm phân một tập hợ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ử chỉ thuộc về một
nhóm dữ liệu và mỗi nhóm dữ liệu có ít nhất một phần tử dữ liệu 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 Số các cụm được thiết lập sau khi phân hoạch là các đặc trưng được lựa chọn trước, phương pháp này tốt cho các cụm hình cầu trong không gian Euclid Ngoài ra, phương pháp này còn 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 nào có quan hệ là gần nhau, xa nhau so với mỗi điểm khác Phương pháp này không xử lý được các điểm có hình thù kỳ quặc hay mật độ dày đặc Do phải tìm kiếm hết các phân hoạch có thể được nên 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 toàn cục Do vậy, 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
Với chiến lược này, thông thường khởi tạo một phân hoạch ban đầu cho tập
dữ liệu theo phép ngẫu nhiên hoặc heuristic và liên tục tinh chỉnh cho đến khi thu được một phân hoạch mong muốn thoả mãn các ràng buộc cho trước Các thuật toán phân cụm phân hoạch cố gắng cải tiến tiêu chuẩn phân cụm bằng cách tính các giá trị độ đo tương tự giữa các đối tượng dữ liệu và sắp xếp các giá trị này Sau đó, thuật toán lựa chọn một giá trị trong dãy sắp xếp sao cho hàm tiêu chuẩn đạt giá trị tối thiểu Ý tưởng của thuật toán phân hoạch tối ưu cục bộ là sử dụng chiến lược
Trang 26tham ăn (Greedy Method) để tìm kiếm nghiệm Một số thuật toán phân cụm phân hoạch điển hình như K- means, PAM, CLARA, CLARANS
2.3.2 Thuật toán K-MEANS
K-means là một trong những thuật toán học không giám sát đơn giản và
được sử dụng rộng rãi để giải quyết vấn đề phân cụm dữ liệu Thuật toán K-means
do J.B MacQueen đề xuất năm 1967, cho đến nay đã có nhiều dạng biến đổi khác nhau của thuật toán này Trong thuật toán K-means, các cụm được định nghĩa dựa
trên trung tâm của các phần tử Phương pháp này dựa trên độ đo khoảng cách của
các đối tượng dữ liệu trong cụm Trong thực tế, nó đo khoảng cách của mỗi đối
tượng dữ liệu tới trung tâm của cụm Trung tâm của cụm được xem là giá trị trung bình của các đối tượng Như vậy, nó cần khởi tạo một tập trung tâm các cụm ban
đầu, thông qua đó lặp lại các bước như gán mỗi đối tượng vào cụm mà có trung tâm gần nó nhất, tính toán lại trung tâm của mỗi cụm trên cơ sở có thêm các đối tượng vừa gán mới Quá trình này dừng khi trung tâm hội tụ
Trong phương pháp K-means, chọn một giá trị k và sau đó chọn ngẫu nhiên k
trung tâm của các đối tượng dữ liệu Tính toán khoảng cách giữa đối tượng dữ liệu
và trung bình mỗi cụm để tìm kiếm phần tử nào là tương tự và thêm vào cụm đó Từ khoảng cách này có thể tính toán trung bình mới của các cụm và lặp lại quá trình đó
cho đến khi mỗi một đối tượng dữ liệu là một bộ phận của một cụm k
Mục đích của thuật toán K-means là sinh k cụm dữ liệu C C1 , 2 , ,C k từ một
tập dữ liệu chứa n đối tượng trong không gian d chiều sao cho hàm tiêu chuẩn
đạt giá trị tối thiểu với m i là trọng tâm của cụm C i , D là
khoảng cách giữa hai đối tượng Như vậy, tham số đầu vào của thuật toán là số cụm
k, tham số đầu ra của thuật toán là các trọng tâm của các cụm dữ liệu Độ đo khoảng
cách của các đối tượng dữ liệu thường dùng là khoảng cách Eclidean Hàm tiêu chuẩn và độ đo khoảng cách có thể được xác định cụ thể hơn tùy thuộc vào từng ứng dụng
Trang 27Bước 1: Khởi tạo
Chọn k trọng tâm {m j } (j=1 k) ban đầu trong không gian R d (d là số chiều của dữ liệu) Việc lựa 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 X i (i=1 k), tính toán khoảng cách của nó tới mỗi trọng tâm m j (j=1 k), sau đó tìm trọng tâm gần nhất đối với mỗi điểm
Bước 3: Cập nhập lại trọng tâm
Đối với mỗi j (j=1 k), cập nhập lại trọng tâm cụm mj bằng cách xác định trung bình cộng của vectơ đối tượng dữ liệu
Bước 4: Điều kiện dừng
Lặp lại các bước 2 và 3 cho đến khi các trọng tâm của cụm không thay đổi
End
Thuật toán k-means có một số đặc điểm cần chú ý:
- Luôn có k cụm dữ liệu
- Luôn có ít nhất một đối tượng trong một cụm dữ liệu
- Các cụm không phân cấp (không có thứ bậc) và không bị chồng chéo ên
nhau
- Mọi thành viên của một cụm là gần với chính cụm đó hơn bất cứ một cụm
nào khác
K-means biểu diễn các cụm bởi các trọng tâm của các đối tượng trong cụm
đó Thuật toán K-means được chứng minh là hội tụ và có độ phức tạp tính toán là
O(n*k*d) Trong đó, n là số đối tượng dữ liệu, k là số cụm dữ liệu, d là số chiều
Trong khi thi hành, một vấn đề là làm sao gỡ các nút thắt trong các trường hợp mà ở
đó có nhiều trung tâm có cùng khoảng cách với một đối tượng Trong trường hợp
Trang 28này, có thể gán các đối tượng ngẫu nhiên cho một trong các cụm thích hợp hoặc xáo trộn các đối tượng để vị trí mới của nó không gây ra các nút thắt Như vậy, do 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 Tuy nhiên, nhược điểm của K-means chỉ là áp dụng với dữ liệu có thuộc tính số và rất
phù hợp với các cụm có dạng hình cầu, K-means còn rất nhạy cảm với nhiễu và các phần tử ngoại lai trong dữ liệu
Hơn nữa, chất lượng phân cụm dữ liệu của thuật toán K-means phụ thuộc
nhiều vào các tham số đầu vào như: số cụm k và k trọng tâm ban đầu Trong trường
hợp, các trọng tâm khởi tạo ban đầu mà quá lệch so với các trọng tâm tự nhiên của cụm thì kết quả phân cụm của K-means rất thấp, nghĩa là các cụm được khám phá rất lệch so với thực tế Trên thực tế, chưa có một giải pháp tối ưu nào để chọn các tham số đầu vào, giải pháp thường được sử dụng nhất là thử nghiệm với các giá trị
đầu vào k khác nhau rồi chọn ra giải pháp tốt nhất
2.3.3 Thuật toán PAM
Thuật toán PAM (Partition Around Medoids) là thuật toán mở rộng của
k-means được đưa ra bởi Kaufman and Rousseeuw năm 1987, So với K-k-means, PAM
có khả năng xử lý hiệu quả đối với dữ liệu nhiễu hoặc ngoại lai, PAM sử dụng các
đối tượng medoid để biểu diễn các cụm dữ liệu Medoid là đối tượng đặt tại vị trí trung tâm bên trong mỗi cụm Vì vậy, đối tượng medoid ít bị ảnh hưởng bởi những
đối tượng ở xa trung tâm Trong khi đó, các trọng tâm của thuật toán K-means lại
rất bị ảnh hưởng bởi những đối tượng ở xa trung tâm này Ban đầu, PAM khởi tạo k
đối tượng medoid và phân phối các đối tượng còn lại vào các cụm với các đối tượng
medoid đại diện tương ứng sao cho chúng tương tự đối với medoid trong cụm nhất
[3], [10]
Trang 29Hình 2.1 Khởi tạo các đối tượng medoid
Để xác định các medoid, PAM bắt đầu bằng cách lựa 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 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 các
cụm không thay đổi Chất lượng phân cụm được đánh giá thông qua hàm tiêu chuẩn, chất lượng phân cụm tốt nhất khi hàm tiêu chuẩn đạt giá trị tối thiểu Thuật toán PAM áp dụng cho lớp dữ liệu không gian
PAM tính giá trị Cjmp cho tất cả các đối tượng Oj để làm căn cứ cho việc hoán chuyển giữa Om và Op
Om: Là đối tượng medoid hiện thời cần thay thế
Op: Là đối tượng medoid mới thay thế cho Om
Oj: Là đối tượng dữ liệu (không phải medoid) có thể di chuyển sang
cụm khác
Oj,2: Là đối tượng medoid hiện thời gần đối tượng Oj nhất
Có bốn cách tính khác nhau cho mỗi trường hợp Cjmp
tương tự với Oj,2 hơn là Op ( d(Oj,Op)d(Oj,Oj,2) ) Trong khi đó, Oj,2 là đối tượng medoid xếp thứ 2 tới Oj trong số các medoid Trong trường hợp này, thay thế Ombởi đối tượng medoid mới Op và Oj sẽ thuộc về cụm có đối tượng đại diện là Oj,2 Vì vậy, giá trị hoán chuyển Cjmp được xác định như sau:
Trang 30Giá trị Cjmp là không âm
tương tự với Oj,2 hơn so với Op (d(Oj,Op) < d(Oj,Oj,2)) Nếu Om được thay thế bởi Op
thì Oj sẽ thuộc về cụm có đại diện là Op Vì vậy, giá trị Cjmp được xác định như sau:
Giá trị Cjmp có thể là âm hoặc dương
diện là Om mà thuộc về cụm có đại diện là Oj,2 Mặt khác, giả sử Oj tương tự với Oj,2
hơn so với Op Khi đó, nếu Om được thay thế bởi Op thì Oj vẫn sẽ ở lại trong cụm có đại diện là Oj,2 Do đó:
tương tự tới Oj,2 hơn so với Op Vì vậy, nếu thay thế Om bởi Op thì Oj sẽ chuyển từ cụm Oj,2 sang cụm Op Do đó, giá trị hoán chuyển Cjmp được xác định:
Giá trị Cjmp luôn âm
Kết hợp cả bốn trường hợp trên, tổng giá trị hoán chuyển Om bằng Op được
1 Chọn k đối tượng medoid bất kỳ
2 Tính TC mp cho tất cả các cặp O m , O p Trong đó O m là đối tượng medoid, O p không phải là đối tượng medoid
Trang 313 Chọn cặp đối tượng O m , O p Tính min(O m ), min(O p ), TC mp Nếu TC mp
là âm, thay thế O m bởi O p và quay lại bước 2 Nếu TC mp dương, chuyển sang bước 4
4 Với mỗi đối tượng không phải medoid, xác định đối tượng medoid tương tự với nó nhất, đồng thời gán nhãn cụm cho chúng
End
Trong bước 2 và 3, PAM phải duyệt tất cả là k*(n-k) cặp Om, Op Với mỗi cặp, việc tính toán TCmp yêu cầu kiểm tra (n-k) đối tượng Vì vậy, độ phức tạp tính toán của PAM là O(I*k*(n-k) 2 ), trong đó I là số vòng lặp Như vậy, thuật toán PAM kém hiệu quả về thời gian tính toán khi giá trị k và n là lớn
Thuật toán PAM có một số đặc điểm cần chú ý
- PAM xử lý hiệu quả hơn k-means đối với dữ liệu nhiễu hoặc ngoại lai bởi vì
một đối tượng medoid ít chịu ảnh hưởng bởi ngoại lai
- PAM làm việc hiệu quả với những tập dữ liệu nhỏ, nhưng không hiệu quả
với những tập dữ liệu lớn
2.4 Phương pháp phân cụm phân cấp
2.4.1 Giới thiệu phương pháp
Phương pháp này xây dựng một phân cấp dựa trên cơ sở các đối tượng dữ liệu đang xem xét Đó là việc sắp xếp một tập dữ liệu đã cho thành một cấu trúc hình cây, cây phân cấp này được xây dựng theo kỹ thuật đệ quy Có hai cách tiếp cận phổ biến của kỹ thuật này là hoà nhập nhóm (thường gọi là tiếp cận bottom-up)
và phân chia nhóm (thường gọi là tiếp cận top-down)
Kỹ thuật tiếp cận bottom-up: Bắt đầu xuất phát với mỗi đối tượng dữ liệu
được khởi tạo tương ứng với các cụm riêng biệt và sau đó tiến hành hòa nhập nhóm các đối tượng theo cùng một độ đo tương tự (như khoảng cách giữa hai trung tâm của nhóm), quá trình này được thực hiện cho đến khi tất cả các nhóm được hoà nhập vào một nhóm (mức cao nhất của cây phân cấp) hoặc cho đến khi các điều
Trang 32kiện kết thúc thoả mãn Cách tiếp cận này sử dụng chiến lược ăn tham trong quá trình phân cụm
Kỹ thuật tiếp cận top-down: Bắt đầu với tất cả các đối tượng dữ liệu được
sắp xếp trong cùng một cụm và kỹ thuật này tiến hành chia nhỏ các cụm Mỗi vòng lặp thành công, một cụm được tách ra thành các cụm nhỏ hơn theo giá trị của một phép đo tương tự nào đó cho đến khi mỗi đối tượng dữ liệu là một cụm riêng biệt hoặc cho đến khi điều kiện dừng thoả mãn Cách tiếp cận này sử dụng chiến lược chia để trị
Trong thực tế, có rất nhiều trường hợp áp dụng 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 cải tiến thông qua bước phân cụm phân hoạch Phân cụm phân hoạch và phân cụm phân cấp là hai phương pháp phân cụm dữ liệu cổ điển, hiện nay đã có rất nhiều thuật toán cải tiến dựa trên hai phương pháp được áp dụng rộng rãi trong lĩnh vực khai phá dữ liệu
2.4.2 Thuật toán HERACHICAL
1) Ý tưởng thuật toán:
Cho một tập N phần tử cần được phân cụm và một ma trận khoảng cách kích thước N*N (hoặc ma trận tương tự), tiến trình thực hiện thuận toán phân cụm phân cấp được xác định như sau:
Bước 1: Gán mỗi phần tử cho một cụm, nếu chúng ta có N phần từ thì tại
bước này, chúng ta sẽ có N cụm, mỗi cụm chỉ chứa một phần tử Ma trận khoảng cách (tương tự) giữa các cụm sẽ bằng với ma trận khoảng cách (tương tự) giữa các phần tử của các cụm đó
Bước 2: Tím các cặp cụm gần nhau nhất và hợp nhất chúng thành một cụm,
chúng ta sẽ bớt được một cụm (N-1)