i
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
ii
LỜI CẢM ƠN
Để hoàn thành được luận văn này, trước hết tôi xin gửi lời cảm ơn sâu sắc nhất
tới TS. Nguyễn Long Giang, Viện Công nghệ thông tin - Viện Hàn lâm Khoa học
và Công nghệ Việt Nam đã tận tình hướng dẫn, chỉ bảo, định hướng, đóng góp
những ý kiến quý báu trong suốt quá trình thực hiện luận văn.
Tôi xin chân thành cảm ơn các thầy, cô giáo trong Bộ môn Khoa học máy
tính, Khoa Công nghệ thông tin, Phòng Đào tạo Sau đại học - Nghiên cứu Khoa
học, Trường Đại học Công nghệ thông tin và truyền thông Thái Nguyên đã tạo mọi
điều kiện tốt nhất để tôi hoàn thành khóa học.
Xin 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
iii
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
iv
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
v
3.4. Kết luận chương ........................................................................................................... 54
KẾT LUẬN ..................................................................................................................................................55
TÀI LIỆU THAM KHẢO.........................................................................................................................57
vi
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
vii
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
1
MỞ ĐẦ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
2
cụ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.
3
Phạ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.
4
Chương 1. TỔNG QUAN
Chương này giới thiệu tổng quan về quá trình khám phá tri thức từ dữ liệu,
khai phá dữ liệu và bài toán phân cụm trong khai phá dữ liệu.
1.1. Quá trình khám phá tri thức
Cùng với sự phát triển vượt bậc của các công nghệ điện tử và truyền thông đã
làm cho khả năng thu thập, lưu trữ và xử lý dữ liệu cho các hệ thống tin học không
ngừng nâng cao. Bên cạnh đó, việc tin học hoá nhiều lĩnh vực của cuộc sống đã tạo
ra 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]
Dữ liệu
thô
Tri thức
Trích chọn
dữ liệu
Tiền xử lý
dữ liệu
Biến đổi
dữ liệu
Đánh giá và
giải thích
Khai phá
dữ liệu
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
5
thiế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ả
6
khoa 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:
7
-
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á
8
(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.
Thuật toán
N đối tượng
Phân cụm
Hình 1.2. Quy trình phân cụm
K nhóm
9
Số 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.
10
-
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
11
trư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.
12
-
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.
13
-
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.
14
Chươ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:
x x1 , x2 ,..., xk , y y1 , y 2 ,..., yk , z z1 , z 2 ,..., z k
Trong đó xi , yi , z 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 xi , 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
15
hai phần tử. Nếu x và y là hai đối tượng thuộc tính thì chỉ có thể xác định là
x y hay x y .
-
Thuộc tính có thứ tự: Là thuộc tính định danh có thêm tính thứ tự nhưng
chúng không định lượng. Nếu x và y là hai thuộc tính thứ tự thì 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: Để đ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 xi yi thì có thể nói x cách
y một khoảng xi 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.
16
2.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, z y, 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.
17
2.2.2. Phép đo khoảng cách
Các thuật toán phân cụm thường sử dụng các phép đo khoảng cách hoặc độ
tương tự giữa hai đối tượng để thực hiện phân cụm. Hiện nay có nhiều khoảng cách
được sử dụng [1], [4]. Giả sử hai đối tượng x, y có p thuộc tính:
x x1 ,..., x p , y y1 ,..., y p .
p
-
Khoảng cách Minkowski được định nghĩa: d x, y
r
x y
i
r
i
i 1
p
-
Nếu r = 2 ta có khoảng cách Euclidean: d x, y 2 xi yi
2
i 1
p
-
Nếu r =1 ta có khoảng cách Manhattan: d x, y xi yi
i 1
Ngoài ra, còn tồn tại một số phép đo khoảng cách giữa hai cụm dữ liệu, cụ
thể như sau:
-
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 độ.
18
-
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