Tải bản đầy đủ (.pdf) (85 trang)

Khai phá dữ liệu với hệ thông tin địa lý và ứng dụng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.77 MB, 85 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



BÙI THỊ HUẾ


KHAI PHÁ DỮ LIỆU VỚI HỆ THÔNG TIN ĐỊA LÝ
VÀ ỨNG DỤNG


LUẬN VĂN THẠC SĨ: KHOA HỌC MÁY TÍNH


Thái Nguyên – 2013




2
MỞ ĐẦU

Hệ thống thông tin địa lý (GIS) được ứng dụng ngày càng phổ biến,
không chỉ trong lĩnh vực giám sát, quản lý, lập kế hoạch về tài nguyên môi
trường mà còn trong nhiều bài toán kinh tế xã hội khác. Kết quả là, khối lượng
dữ liệu liên quan đến địa lý, còn gọi là dữ liệu không gian thu thập được tăng
lên nhanh chóng. Một câu hỏi đặt ra là làm thế nào để tận dụng, khai thác,


khám phá, phát hiện những tri thức hữu ích từ kho dữ liệu này?
Khai phá dữ liệu là áp dụng các kỹ thuật và công cụ để trích rút các tri
thức có ích từ nguồn dữ liệu về một lĩnh vực nào đó mà ta quan tâm. Khai phá
dữ liệu với GIS hay còn gọi là khai phá dữ liệu không gian, mở rộng khai phá
dữ liệu trong các CSDL quan hệ, xét thêm các thuộc tính của dữ liệu không
gian được phản ánh trong hệ thông tin địa lý, ví dụ khoảng cách (gần kề hay
cách xa), điều kiện môi trường tự nhiên hay kinh tế xã hội (rừng núi, đồng
bằng, ven biển, đô thị, v.v…).
Là giáo viên của tỉnh Nam Định, em đã tích lũy được khá nhiều dữ liệu
thực tế về xếp hạng các trường THPT trong tỉnh qua kết quả thi tốt nghiệp, kết
quả thi đại học và kết quả thi học sinh giỏi, Trong đó, rất nhiều trường có
thành tích cao nhưng cũng tồn tại không ít các trường có kết quả học tập của
học sinh còn rất thấp. Nguyên nhân nào dẫn đến kết quả đó? Liệu điều kiện
nơi cư trú có ảnh hưởng đến kết quả học tập của học sinh? Lượng thông tin về
kết quả học tập và điều kiện cư trú ở mỗi địa phương rất nhiều và chủ yếu
quản lý ở dạng bảng hay văn bản. Rất khó để thể hiện mối liên hệ giữa điều
kiện cư trú với kết quả học tập của học sinh theo hướng khai phá dữ liệu thông
thường.
Ứng dụng khai phá dữ liệu với hệ thông tin địa lý cho phép nghiên cứu
các vấn đề, trả lời các câu hỏi có liên quan trực tiếp, ví dụ như “ô nhiễm môi
trường sống ảnh hưởng như thế nào đến sức khỏe cộng đồng” và cả những câu


3
hỏi ít trực tiếp hơn, ví dụ như “nơi cư trú của học sinh (ở đô thị lớn, ở nông
thôn, ở vùng núi,…) có ảnh hưởng như thế nào đến kết quả học tập của những
môn học nhất định (về khoa học tự nhiên, khoa học xã hội, ngoại ngữ, ) đến
số học sinh bỏ học, đến trung bình kết quả học tập, đến số học sinh đỗ đại học,
số học sinh giỏi? ”.
Luận văn đặt vấn đề ứng dụng khai phá dữ liệu không gian với hệ thông

tin địa lý để tìm hiểumối liên hệ giữa nơi cư trú và kết quả học tập với mục
tiêu bước đầu thử nghiệm áp dụng một số kỹ thuật khai phá dữ liệu thường
dùng với GIS vào bài toán thực tế.
Luận văn cấu trúc gồm 3 chương:
Chƣơng I: Trong chương 1 sẽ tìm hiểu khái quát về khai phá dữ liệu và
khai phá dữ liệu không gian.
Chƣơng II: Trong chương 2 sẽ tìm hiểu một số thuật toán phân cụm và
kỹ thuật phân cụm bằng thuật toán CLARANS.
Chƣơng III: Trong chương 3 tiến hành cài đặt ứng dụng thuật toán
CLARANS để phân cụm dữ liệu không gian, tìm hiểu mối liên hệ giữa điều
kiện cư trú với kết quả học tập của học sinh.
Luận văn này được hoàn thành dưới sự hướng dẫn tận tình của PGS.TS
Nguyễn Đình Hóa, em xin bày tỏ lòng biết ơn chân thành của mình đối với
thầy. Em xin chân thành cảm ơn các thầy, cô giáo Viện Công nghệ thông tin,
Trường Đại học Công nghệ thông tin và Truyền thông - Đại học Thái Nguyên
đã tham gia giảng dạy, giúp đỡ em trong suốt qúa trình học tập nâng cao trình
độ kiến thức. Tuy nhiên vì điều kiện thời gian và khả năng có hạn nên luận
văn không thể tránh khỏi những thiếu sót. Em kính mong các thầy cô giáo và
các bạn đóng góp ý kiến để đề tài được hoàn thiện hơn.


4
CHƢƠNG I: KHAI PHÁ DỮ LIỆU VỚI HỆ THÔNG TIN ĐỊA LÝ
1.1 Khai phá dữ liệu
1.1.1 Khai phá dữ liệu là gì ?
1.1.1.1 Khái niệm về khám phá tri thức và khai phá dữ liệu
Khám phá tri thức trong các cơ sở dữ liệu (Knowledge Discovery in
Database-KDD) là một qui 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: hợp thức, mới, khả ích, và có thể hiểu được.
Khai phá dữ liệu (Data Mining-DM) là một khái niệm ra đời vào

những năm cuối của thập kỷ 1980. Cụm từ “khai phá dữ liệu” bao hàm
một loạt các kỹ thuật nhằm phát hiện ra các thông tin có giá trị tiềm ẩn trong
các tập dữ liệu lớn. Thuật ngữ này thực sự là một cái tên nhầm lẫn. Hãy nhớ
rằng việc khai thác vàng từ đá hoặc cát được gọi là khai thác vàng chứ không
phải là khai thác đá, cát. Như vậy, khai phá dữ liệu (KPDL) nên được đặt tên
thích hợp hơn là “khai thác kiến thức từ dữ liệu” [5].Tuy nhiên, “khai phá
dữ liệu” vẫn được dùng cách phổ biến. Hình 1.1 minh họa đơn giản và trực
quan
cho khái niệm này.

Hình 1.1: Khai phá dữ liệu trong tập dữ liệu [5]
Khái niệm KDD và KPDL được các nhà khoa học xem là tương đương
nhau. Tuy nhưng, nếu phân chia một cách rành mạch và chi tiết thì KPDL là
một bước chính trong quá trình KDD.


5
Khám phá tri thức trong CSDL là lĩnh vực liên quan đến nhiều ngành
như: Tổ chức dữ liệu, xác suất, thống kê, lý thuyết thông tin, học máy, CSDL,
thuật toán, trí tuệ nhân tạo, tính toán song song và hiệu năng cao. Các kỹ
thuật chính áp dụng trong khám phá tri thức phần lớn được thừa kế từ các
ngành này.
1.1.1.2 Một số định nghĩa về khai phá dữ liệu
Sau đây là một số định nghĩa khác nhau về KPDL [5]:
Định nghĩa của Giáo sư Tom Mitchell: “Khai phá dữ liệu là việc sử
dụng dữ liệu lịch sử để khám phá những qui tắc và cải thiện những
quyết định trong tương lai.”
Định nghĩa của Ferruzza: “Khai phá dữ liệu là tập hợp các phương
pháp được dùng trong tiến trình khám phá tri thức để chỉ ra sự khác biệt các
mối quan hệ và các mẫu chưa biết bên trong dữ liệu”

Định nghĩa của Parsaye: “Khai phá dữ liệu là quá trình trợ giúp quyết
định, trong đó chúng ta tìm kiếm các mẫu thông tin chưa biết và bất ngờ
trong CSDL lớn”
Với một cách tiếp cận ứng dụng hơn, tiến sĩ Fayyad đã phát
biểu:” Khai phá dữ liệu thường được xem là việc khám phá tri thức trong
các cơ sở dữ liệu, là một quá trình trích xuất những thông tin ẩn, trước đây
chưa biết và có khả năng hữu ích, dưới dạng các quy luật, ràng buộc, qui tắc
trong cơ sở dữ liệu.”
Còn các nhà Thống kê thì xem "Khai phá dữ liệu như là một quá trình
phân tích được thiết kế thăm dò một lượng cực lớn các dữ liệu nhằm phát
hiện ra các mẫu thích hợp và/ hoặc các mối quan hệ mang tính hệ thống giữa
các biến và sau đó sẽ hợp thức hoá các kết quả tìm được bằng cách áp
dụng các mẫu đã phát hiện được cho tập con mới của dữ liệu".


6
Tuy nhiên trên thực tế, KPDL được xem là một bước thiết yếu trong
quá trình khám phá tri thức trong CSDL bao gồm các thụât toán
KPDL 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.
1.1.2 Quá trình phát hiện tri thức trong CSDL
Quá trình phát hiện tri thức trong CSDL được mô tả trong hình 1.2 và
bao gồm một chuỗi lặp đi lặp lại các bước sau [4] :
Làm sạch dữ liệu (Data Cleaning): Loại bỏ nhiễu (noisy) và các dữ liệu
không nhất quán.
Tích hợp dữ liệu (Data Integration): Kết hợp dữ liệu từ các nguồn dữ liệu
khác nhau.
Lựa chọn dữ liệu (Data Selection): Dữ liệu phù hợp cho thao tác phân
tích được lấy về từ cơ sở dữ liệu.
Chuyển dạng dữ liệu (Data Transformation): Dữ liệu được chuyển dạng

hoặc hợp nhất thành những dạng phù hợp cho quá trình khai phá bằng cách
thực hiện các thao tác như tóm tắt (summary) hoặc gộp nhóm dữ liệu
(aggregation).
Trích chọn mẫu (Data Patterns Extracting): Áp dụng các phương pháp
“thông minh” để trích chọn ra các mẫu thực sự đáng quan tâm từ dữ liệu. Đôi
khi chính bản thân bước này cũng được gọi là khai phá dữ liệu (Data Mining)
(hiểu theo nghĩa hẹp).
Đánh giá mẫu (Pattern Evaluation): Dựa trên các độ đo đặc trưng, xác
định ra các mẫu đáng quan tâm biểu diễn tri thức.
Biểu diễn tri thức (Knowledge Presentation): Sử dụng các kỹ thuật biểu
diễn tri thức và trực quan hóa (visualization) để biểu diễn và biến đổi các tri


7
thức khai phá được ở bước trên thành một dạng gần gũi với người sử dụng
như đồ thị, cây, bảng biểu, luật, đến với người dùng.

Hình 1.2: Quy trình khám phá tri thức từ cơ sở dữ liệu [4]
Trong đó, 4 giai đoạn đầu được gọi là các giai đoạn tiền xử lý dữ liệu
(data preprocessing) nhằm chuẩn bị dữ liệu cho quá trình khai phá (trích chọn
mẫu).
Các giai đoạn của quá trình khám phá tri thức có mối quan hệ chặt chẽ
với nhau trong bối cảnh chung của hệ thống. Các kỹ thuật được sử dụng trong
giai đoạn trước có thể ảnh hưởng đến hiệu quả của các giải thuật được sử dụng
trong các giai đoạn tiếp theo. Quá trình KDD không nhất thiết phải tuần tự, nó
cho phép các nhà phân tích có thể xem xét lại các bước dựa trên những kiến
thức tìm kiếm và bản chất của các thông tin được phát hiện trong quá trình.
Các bước tiền xử lý dữ liệu như chế biến làm sạch, lựa chọn và rút gọn có thể
được áp dụng theo các trình tự khác nhau và có thể lặp đi lặp lại một số lần.




8
1.1.3 Các kỹ thuật khai phá dữ liệu
Trong thực tế có nhiều kỹ thuật khai phá dữ liệu khác nhau nhằm thực
hiện hai chức năng mô tả và dự đoán.
Kỹ thuật khai phá dữ liệu mô tả: có nhiệm vụ mô tả các tính chất hoặc
các đặc tính chung của dữ liệu trong CSDL hiện có. Một số kỹ thuật khai phá
trong nhóm này là: phân cụm dữ liệu (Clustering), tổng hợp (Summarisation),
trực quan hoá (Visualization), phân tích sự tiến hóa (Evolution and deviation
analyst),….
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 cơ sở dữ liệu hiện thời. Một số kỹ thuật khai phá trong
nhóm này là: phân lớp (Classification), hồi quy (Regression), cây quyết định
(Decision tree), thống kê (statictics), mạng nơron (neural network), luật kết
hợp,….
Một số kỹ thuật phổ biến [1],[3],[5] thường được sử dụng để khai phá dữ
liệu hiện nay là :
1.1.3.1 Phân lớp dữ liệu
Mục tiêu của phân lớp dữ liệu đó là dự đoán nhãn lớp cho các mẫu dữ
liệu. Quá trình gồm hai bước: xây dựng mô hình, sử dụng mô hình để phân
lớp dữ liệu (mỗi mẫu 1 lớp). Mô hình được sử dụng để dự đoán nhãn lớp khi
mà độ chính xác của mô hình chấp nhận được.
1.1.3.2 Phân cụm dữ liệu
Mục tiêu của phân cụm dữ liệu là nhóm 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.
Trong luận này tác giả đã sử dụng kỹ thuật phân cụm và thuật toán
CLARANS tìm hiểu mối liên hệ giữa điều kiện cư trú với kết quả học tập của



9
học sinh. Vì vậy kỹ thuật này và các thuật toán có liên quan sẽ được trình
bày trong chương II.
1.1.3.3 Khai phá luật kết hợp
Mục tiêu của phương pháp này là phát hiện và đưa ra các mối liên hệ
giữa các giá trị dữ liệu trong cơ sở dữ liệu. Đầu ra của giải thuật luật kết
hợp là tập luật kết hợp tìm được. Phương pháp khai phá luật kết hợp gồm có
hai bước:
Bước 1: Tìm ra tất cả các tập mục phổ biến. Một tập mục phổ biến
được xác định thông qua tính độ hỗ trợ và thoả mãn độ hỗ trợ cực tiểu.
Bước 2: Sinh ra các luật kết hợp mạnh từ tập mục phổ biến, các luật phải
thoả mãn độ hỗ trợ và độ tin cậy cực tiểu.
1.1.3.4 Hồi quy
Phương pháp hồi quy tương tự như là phân lớp dữ liệu. Nhưng khác ở
chỗ nó dùng để dự đoán các giá trị liên tục còn phân lớp dữ liệu dùng để dự
đoán các giá trị rời rạc.
1.1.3.5 Mạng nơ-ron (neural network)
Đây là một trong những kỹ thuật KPDL được ứng dụng phổ biến hiện
nay. Kỹ thuật này phát triển dựa trên một nền tảng toán học vững vàng, khả
năng huấn luyện trong kỹ thuật này dựa trên mô hình thần kinh trung
ương của con người.
Kết quả mà mạng nơ-ron học được có khả năng tạo ra các mô hình dự
báo, dự đoán với độ chính xác và độ tin cậy cao. Nó có khả năng phát hiện ra
được các xu hướng phức tạp mà kỹ thuật thông thường khác khó có thể phát
hiện ra được. Tuy nhiên phương pháp neural network rất phức tạp và quá
trình tiến hành nó gặp rất nhiều khó khăn: đòi hỏi mất nhiều thời gian, nhiều
DL, nhiều lần kiểm tra thử nghiệm.



10
1.1.3.6 Cây quyết định
Kỹ thuật cây quyết định là một công cụ mạnh và hiệu quả trong việc
phân lớp và dự báo. Các đối tượng DL được phân thành các lớp. Các giá
trị của đối tượng DL chưa biết sẽ được dự đoán, dự báo. Tri thức được rút
ra trong kỹ thuật này thường được mô tả dưới dạng tường minh, đơn giản,
trực quan, dễ hiểu đối với người sử dụng. Trong những năm qua, nhiều mô
hình phân lớp DL đã được các nhà khoa học trong nhiều lĩnh vực khác
nhau đề xuất, nhưng kỹ thuật cây quyết định với những ưu điểm của mình
được đánh giá là một công cụ mạnh, phổ biến và đặc biệt thích hợp cho DM
nói chung và phân lớp dữ liệu nói riêng.
1.2 Khai phá dữ liệu GIS
1.2.1 Khái niệm
Dữ liệu địa lý đồ sộ đã và sẽ tiếp tục được thu thập bởi công nghệ thu
thập dữ liệu hiện đại như hệ thống định vị toàn cầu (GPS), độ phân giải cảm
biến từ xa, dịch vụ địa điểm nhận biết vị trí, các cuộc điều tra, và thông tin địa
lý tình nguyện trên internet. Có một nhu cầu cấp thiết cho các phương pháp
hiệu chính kịp thời và hiệu quả để trích xuất thông tin tiềm ẩn và bất ngờ từ bộ
dữ liệu không gian rộng lớn và độ phức tạp cao. Để giải quyết những thách
thức này, khai thác dữ liệu không gian và khám phá tri thức địa lý đã nổi lên
như một lĩnh vực nghiên cứu hoạt động, tập trung vào sự phát triển của lý
thuyết, phương pháp và thực hành cho việc khai thác các thông tin hữu ích và
kiến thức từ cơ sở dữ liệu không gian lớn và phức tạp [6], [9].
Khai phá dữ liệu với GIS hay cũng gọi là khai phá dữ liệu không gian,
mở rộng khai phá dữ liệu trong các CSDL quan hệ, xét thêm các thuộc tính
của dữ liệu không gian được phản ánh trong hệ thông tin địa lý.
Phương pháp khai phá dữ liệu thông thường có thể không phù hợp với dữ
liệu không gian bởi vì chúng không hỗ trợ các dữ liệu về vị trí địa lý cũng như
mối quan hệ tiềm ẩn giữa các đối tượng địa lý. Do đó, cần phát triển các



11
phương pháp mới bao gồm các mối quan hệ không gian và xử lý dữ liệu
không gian. Tính toán những mối quan hệ không gian là tốn thời gian, và một
khối lượng lớn dữ liệu được tạo ra bởi mã hóa vị trí hình học. Việc biểu diễn
toàn cầu sẽ rất phức tạp. Sử dụng GIS, người sử dụng có thể truy vấn dữ liệu
không gian và thực hiện các nhiệm vụ phân tích đơn giản bằng cách sử dụng
chương trình hoặc truy vấn. Tuy nhiên, GIS không được thiết kế để thực hiện
phân tích dữ liệu phức tạp hoặc khám phá tri thức. Chúng không cung cấp
phương pháp chung để thực hiện phân tích và suy luận ra các quy tắc. Tuy
nhiên, cần tích hợp các phương pháp hiện có và mở rộng chúng bằng cách kết
hợp các phương pháp khai thác dữ liệu không gian. Phương pháp GIS là rất
quan trọng để truy cập dữ liệu, kết nối không gian và hiển thị bản đồ đồ họa.
Ngày nay, có nhiều cơ sở dữ liệu không gian được sử dụng trong nhiều
ứng dụng khác nhau, từ viễn thám cho đến hệ thống thông tin địa lý, môi
trường và quy hoạch. Việc phân tích cơ sở dữ liệu không gian rộng lớn này
vượt xa khả năng của con người. Do đó cần tự động hóa việc khám phá thông
tin (tri thức) để hỗ trợ con người. Khai thác dữ liệu không gian thể hiện sự
nhất quán trong một vài lĩnh vực như tìm hiểu về máy móc, hệ thống cơ sở dữ
liệu, hiển thị và thống kê dữ liệu, lý thuyết thông tin và hình học điện toán. Kỹ
thuật khai thác dữ liệu không gian có những ứng dụng rộng rãi trong hệ thống
thông tin địa lý và viễn thám. Những phương pháp này có thể được sử dụng để
tìm hiểu về dữ liệu không gian, khám phá các mối liên quan giữa dữ liệu
không gian và phi không gian, thiết lập cơ sở tri thức không gian, tối ưu hóa
truy vấn, đặc trưng hóa dữ liệu không gian.
Một khác biệt lớn giữa khai thác dữ liệu trong trong các cơ sở dữ liệu
không gian với cơ sở dữ liệu quan hệ thông thường là thuộc tính của những
đối tượng gần kề của một số đối tượng quan tâm, có thể có một ảnh hưởng đến
đối tượng đó và do đó có thể được coi là hữu ích. Các vị trí tiềm ẩn và phần
mở rộng của các đối tượng không gian xác định mối quan hệ tiềm ẩn của vùng

không gian (chẳng hạn như quan hệ topo, khoảng cách và hướng) được sử
dụng bởi các thuật toán khai thác dữ liệu không gian.


12
1.2.2 Tiền xử lý dữ liệu GIS
Tiền xử lý dữ liệu không gian là một trong những quá trình chính trong
khai thác dữ liệu không gian. Đây là bước tốn nhiều công sức nhất trong quá
trình khám phá tri thức bởi vì nó phải thực hiện qua rất nhiều thao tác để có
được mối quan hệ không gian (vị từ không gian).
Các thuộc tính phi không gian có giá trị liên tục, ví dụ mật độ dân số,
tổng thu nhập theo từng đơn vị hành chính, thu nhập bình quân đầu người, …
có thể cần phân thành các thể loại (category). Thay vì liên tục, có thể chia các
giá trị thuộc tính thành 3 loại: thấp (Low), trung bình (Mid) và cao (High).,
vv
Các phép kết nối được thực hiện cho các đối tượng không gian. Để áp
dụng các thuật toán khai phá dữ liệu thông thường, dữ liệu không gian phải
được xác định về các vị từ không gian chứ không phải là các mục. Các vị từ
không gian có thể dưới hình thức của cấu trúc liên kết, khoảng cách và hướng.
Ví dụ các quan hệ không gian được sử dụng là khoảng cách (gần) liên quan
theo quy định của người sử dụng và mối quan hệ cấu trúc liên kết. Kết quả của
tất cả các quá trình trên là một bảng chứa các quan hệ không gian và phi
không gian. Các lĩnh vực trong bảng này có chứa dữ liệu phân loại các mối
quan hệ không gian và phi không gian cho các đối tượng không gian, thể hiện
trong Bảng 1. SR_1, , SR_m thể hiện mối quan hệ không gian, trong khi
AttCat_1, , AttCat_n thể hiện phân loại các thuộc tính phi không gian.
Bảng 1.1: Bảng thiết kế cho bộ tiền xử lý kết quả [9]




13
CHƢƠNG II: PHÂN CỤM DỮ LIỆU VÀ PHÂN CỤM DỮ LIỆU
KHÔNG GIAN

2.1 Phân cụm dữ liệu
2.1.1 Khái niệm
Phân cụm dữ liệu (Data Clustering) hay phân cụm, cũng có thể gọi là
phân tích cụm, phân tích phân đoạn, phân tích phân loại, là quá trình nhóm
một tập các đối tượng thực thể hay trừu tượng thành lớp các đối tượng tương
tự. Một cụm là một tập hợp các đối tượng dữ liệu mà các phần tử của nó
tương tự nhau cùng trong một cụm và phi tương tự với các đối tượng trong
các cụm khác. Một cụm các đối tượng dữ liệu có thể xem như là một nhóm
trong nhiều ứng dụng.
Mục đích chính của phân cụm dữ liệu (PCDL) nhằm khám phá cấu trúc
của mẫu dữ liệu để thành lập các nhóm dữ liệu từ tập dữ liệu lớn, theo đó nó
cho phép đi sâu vào phân tích và nghiên cứu cho từng cụm dữ liệu này
nhằm khám phá và tìm kiếm các thông tin tiềm ẩn, hữu ích phục vụ cho việc
ra quyết định. Ví dụ “nhóm các trường trong CSDL giáo dục có tỷ lệ học sinh
thi đỗ đại học cao”… Như vậy, PCDL là một phương pháp xử lý thông tin
quan trọng và phổ biến, nó nhằm khám phá mối liên hệ giữa các mẫu dữ
liệu bằng cách tổ chức chúng thành các cụm.
Ta có thể khái quát hóa khái niệm PCDL: PCDL là một kỹ thuật trong
KPDL, 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.


14
Như vậy, PCDL là quá trình phân chia một tập dữ liệu ban đầu thành các
cụm dữ liệu sao cho các phần tử trong một cụm "tương tự" với nhau và các

phần tử trong các cụm khác nhau sẽ "phi tương tự" với nhau. Số các cụm dữ
liệu được phân ở đây có thể được xác định trước theo kinh nghiệm hoặc có
thể được tự động xác định của phương pháp phân cụm [1].
Độ tương tự được xác định dựa trên giá trị các thuộc tính mô tả đối
tượng. Thông thường, phép đo khoảng cách thường được sử dụng để đánh giá
độ tương tự hay phi tương tự.
Ta có thể minh hoạ vấn đề phân cụm như hình sau đây:



Hình 2.1. Mô phỏng sự PCDL [1]
Trong hình trên, sau khi phân cụm ta thu được bốn cụm trong đó các
phần tử “tương tự” thì được xếp vào một cụm, các phần tử “không tương tự”
thì chúng thuộc về các cụm khác nhau.
Trong PCDL khái niệm, hai hoặc nhiều đối tượng cùng được xếp vào
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 mô tả cho trước. Như vậy, PCDL không sử dụng độ đo
“tương tự” như đã trình bày ở trên.


15
Trong học máy, PCDL được xem là bài toán học không có giám sát, vì
nó phải giải quyết vấn đề tìm một cấu trúc trong tập hợp dữ liệu chưa biết
trước các thông tin về lớp hay các thông tin về tập huấn luyện. Trong nhiều
trường hợp, nếu phân lớp được xem là vấn đề học có giám sát thì PCDL là
một bước trong phân lớp dữ liệu, PCDL 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.
Một vấn đề thường gặp trong PCDL là hầu hết các dữ liệu cần cho
phân cụm đều có chứa dữ liệu "nhiễu" do quá trình thu thập thiếu chính
xác hoặc 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 bước vào giai
đoạn phân tích PCDL. "Nhiễu" ở đây có thể là các đối tượng dữ liệu không
chính xác hoặc các đối tượng 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 phổ biến là việc thay thế giá trị
của các thuộc tính của đối tượng "nhiễu" bằng giá trị thuộc tính tương ứng
của đối tượng dữ liệu gần nhất.
Ngoài ra, dò tìm phần tử ngoại lai là một trong những hướng nghiên cứu
quan trọng trong PCDL, chức năng của nó là xác định 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 khác trong CSDL - tức là các
đối tượng dữ liệu không tuân theo các hành vi hoặc mô hình dữ liệu - nhằm
tránh sự ảnh hưởng của chúng tới quá trình và kết quả của PCDL. Khám phá
các phần tử ngoại lai đã được phát triển và ứng dụng trong viễn thông,
dò tìm gian lận thương mại…
Tóm lại, PCDL là một vấn đề khó vì người ta phải đi giải quyết các vấn
đề con cơ bản như sau:
- Biểu diễn dữ liệu.
- 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.


16
- Xây dựng mô hình cho cấu trúc cụm dữ liệu.
- Xây dựng 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.
Theo các nghiên cứu thì đế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 cụm
dữ liệu. Hơn nữa, các phương pháp phân cụm cần có cách thức biểu diễn
cấu trúc các cụm dữ liệu khác nhau, với mỗi cách thức biểu diễn khác nhau
sẽ có một thuật toán phân cụm phù hợp. PCDL đ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 như đã đề cập ở trên một

cách trọn vẹn và phù hợp với nhiều dạng dữ liệu khác nhau. Đặc biệt đối với
dữ liệu hỗn hợp, đang ngày càng tăng trưởng không ngừng trong các hệ quản
trị dữ liệu, đây cũng là một trong những thách thức lớn trong lĩnh vực KPDL
trong những thập kỷ tiếp theo và đặc biệt là trong lĩnh vực KPDL không gian
[1], [3].
2.1.2 Ứng dụng của phân cụm dữ liệu
PCDL là một trong những công cụ chính của KPDL được ứng dụng trong
nhiều lĩnh vực như thương mại và khoa học. Các kỹ thuật PCDL đã được
áp dụng cho một số ứng dụng điển hình [1], [3] trong các lĩnh vực sau:
Thương mại: PCDL có thể giúp các thương nhân khám phá ra các nhóm
khách hàng quan trọng có các đặc trưng tương đồng nhau và đặc tả họ từ
các mẫu mua bán trong CSDL khách hàng.
Sinh học: PCDL được sử dụng để xác định các loại sinh vật, phân loại
các Gen với chức năng tương đồng và thu được các cấu trúc trong các mẫu.
Lập quy hoạch đô thị: Nhận dạng các nhóm nhà theo kiểu và vị trí địa
lý,…nhằm cung cấp thông tin cho quy hoạch đô thị.


17
Nghiên cứu trái đất: Phân cụm để theo dõi các tâm động đất nhằm
cung cấp thông tin cho nhận dạng các vùng nguy hiểm.
Địa lý: Phân lớp các động vật, thực vật và đưa ra đặc trưng của chúng.
Khai phá Web: PCDL có thể khám phá các nhóm tài liệu quan trọng, có
nhiều ý nghĩa trong môi trường Web. Các lớp tài liệu này trợ giúp cho
việc khám phá tri thức từ dữ liệu Web, khám phá ra các mẫu truy cập của
khách hàng đặc biệt hay khám phá ra cộng đồng Web,…
Phân tích dữ liệu không gian: Do sự đồ sộ của dữ liệu không gian như dữ
liệu thu được từ các hình ảnh chụp từ vệ tinh, các thiết bị y học hoặc hệ thống
thông tin địa lý (GIS), …làm cho người dùng rất khó để kiểm tra các dữ liệu
không gian một cách chi tiết. PCDL có thể trợ giúp người dùng tự động

phân tích và xử lý các dữ liêu không gian như nhận dạng và chiết xuất các đặc
tính hoặc các mẫu dữ liệu quan tâm có thể tồn tại trong CSDL không gian.
2.2 Một số thuật toán phân cụm
Ý tưởng chính của kỹ thuật này là 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 ít nhất một phần tử dữ liệu.
Các thuật toán phân hoạch 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 đề PCDL, vì nó phải tìm kiếm tất cả các cách phân
hoạch có thể được. Chính vì vậy, trên thực tế người ta 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ác 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 người ta bắt đầu
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
theo heuristic và liên tục tinh chỉnh nó cho đến khi thu được một phân hoạch
mong muốn, thoả mãn các điều kiện 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 đó


18
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. Như vậy, ý tưởng chính của 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 tham lam để tìm kiếm nghiệm.
Lớp các thuật toán phân cụm phân hoạch bao gồm các thuật toán đề
xuất đầu tiên trong lĩnh vực KPDL cũng là các thuật toán được áp dụng nhiều
trong thực tế như k-means, PAM, CLARA, CLARANS. Sau đây là một số
thuật toán kinh điển được kế thừa sử dụng rộng rãi.
2.2.1. Thuật toán k-means
Thuật toán phân cụm k-means do MacQueen đề 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

{C
1
, C
2
,…, C
k
} từ một tập dữ liệu ban đầu gồm n đối tượng trong không
gian d chiều X
i
= (x
i1
, x
i2
, …, x
id
) (
1,in
), sao cho hàm tiêu chuẩn:
2
1
()
i
k
i
xC
i
E D x m
đạt giá trị tối thiểu. Trong đó: 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 [1], [2], [3].
Trọng tâm của một cụm là một vector, trong đó giá trị của mỗi phần tử
của nó là trung bình cộng các thành phần tương ứng của các đối tượng vector
dữ liệu trong cụm đang xét. Tham số đầu vào của thuật toán là số cụm k, tập
CSDL gồm n phần tử và 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 D giữa các đối tượng dữ liệu thường
được sử dụng dụng là khoảng cách Euclide, bởi vì đây là mô hình khoảng
cách dễ để lấy đạo hàm và xác định các cực trị tối thiểu. Hàm tiêu chuẩn và độ
đo khoảng cách có thể được xác định cụ thể hơn tuỳ vào ứng dụng hoặc
các quan điểm của người dùng. Thuật toán k-means bao gồm các bước cơ
bản như sau:
INPUT: Một CSDL gồm n đối tượng và số các cụm k.


19
OUTPUT: Các cụm C
i
(i=1, ,k) sao cho hàm tiêu chuẩn E đạt giá trị tối
thiểu.


20
Bƣớc 1: Khởi tạo
Chọn k đối tượng m
j
(j=1 k) là trọng tâm ban đầu của k cụm từ tập
dữ liệu
(việc lựa chọn này có thể là 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 tượng X
i
(1

i

n), tính toán khoảng cách từ nó tới mỗi
trọng tâm m
j
với j=1, ,k, sau đó tìm trọng tâm gần nhất đối với mỗi đối tượng.

Bƣớc 3: Cập nhật lại trọng tâm
Đối với mỗi j=1, ,k, cập nhật trọng tâm cụm m
j
bằng cách xác định
trung bình cộng của các vector đối tượng dữ liệu.
Bƣớc 4: Điều kiện dừng
Lặp các bước 2 và 3 cho đến khi các trọng tâm của cụm không thay
đổi.

Độ phức tạp của thuật toán này là O(t.k.n). Trong đó n là số mẫu trong
CSDL, k là số cụm, t là số lần lặp. Thông thường t, k << n, nên thuật toán này
có hiệu quả tương đối với các CSDL lớn.
Thuật toán này có ưu điểm là rõ ràng, dễ dàng cài đặt. Nhưng nhược
điểm của thuật toán này là chất lượng PCDL 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 khởi tạo 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 cụm
tự nhiên thì kết quả phân cụm của k-means là rất thấp, nghĩa là các cụm dữ
liệu được khám phá rất lệch so với các cụm trong thực tế. Trên thực tế người

ta 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 sau đó chọn giải pháp tốt nhất.


21
Thuật toán này cũng không phù hợp với việc khai phá các dữ liệu gồm
các cụm có hình dạng không lồi. 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ình sau diễn tả mô phỏng về một số
hình dạng cụm dữ liệu
khám phá được bởi k-means:
Hình 2.2. Minh hoạ thuật toán k-means [2]
Đến nay, đã có rất nhiều thuật toán kế thừa tư tưởng của thuật toán k-
means áp dụng trong KPDL để giải quyết tập dữ liệu có kích thước rất lớn
đang được áp dụng rất hiệu quả và phổ biến như thuật toán k-medoid, PAM,
CLARA, CLARANS, k- prototypes, …
2.2.2. Thuật toán PAM
Thuật toán PAM (Paritition Around Mediods) [1],[2] là thuật toán mở
rộng của thuật toán K-means nhằm có khả năng xử lý hiệu quả đối với dữ
liệu nhiễu hoặ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 mỗi cụm. Vì vậy, các đối tượng medoid ít bị
ảnh hưởng của các đối tượng ở rất xa trung tâm, trong khi đó các trọng tâm


22
của thuật toán K – means lại rất bị tác động bởi các điểm 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
gần với medoid trong cụm nhất.

Để xác định các medoid, PAM bắt đầu bằng cách lựa chon 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 O
m
và một đối tượng O
p
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. 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.
Để quyết định hoán chuyển hai đối tượng O
m
và O
p
hay không, thuật
toán PAM sử dụng giá trị tổng chi phí hoán chuyển C
jmp
làm căn cứ:
- O
m
: Là đối tượng medoid hiện thời cần được thay thế
- O
p
: Là đối tượng medoid mới thay thế cho O
m
;
- O
j
: Là đối tượng dữ liệu (không phải là medoid) có thể được di

chuyển sang cụm khác.
- O
m,2
: Là đối tượng medoid hiện thời khác với O
m
mà gần đối
tượng O
j
nhất.
Bốn trường hợp như mô tả trong thí dụ trên, PAM tính giá trị hoán đổi
C
jmp
cho tất cả các đối tượng O
j
. C
jmp
ở đây nhằm để làm căn cứ cho
việc hoán chuyển giữa O
m
và O
p
. Trong mỗi trường hợp C
jmp
được tính với
4 cách khác nhau như sau [1],[2]:
Trường hợp 1: O
j
đang thuộc vào cụm có tâm là O
m
(từ nay gọi là

cụm O
m
). Nếu O
m
được thay thế bởi O
p
và O
j
gần nhất với O
m,2
thì O
j



23
được gán lại vào O
m,2 .
Giá trị C
jmp
được xác định:
C
jmp
= d(O
j
, O
m,2
) –
d(O
j

, O
m
). Giá trị C
jmp
là không âm.

Trường hợp 2: O
j
đang thuộc vào O
m
. Nếu O
m
được thay thế bởi O
p

và O
j
gần nhất với O
p
thì O
j
được gán lại vào O
p
. giá trị C
jmp
được xác
định: C
jmp
=(O
j

,O
p
)- d(O
j
, O
m
). C
jmp
ở đây có thể là âm hoặc dương.
Trường hợp 3: O
j
đang thuộc vào O
m,2
. Nếu O
m
được thay thế bởi
O
p
và O
j
vẫn gần nhất với O
m,2
thì không thay đổi gì cả. Tức là O
j
vẫn
thuộc O
m,2
.
Do đó: C
jmp

= 0.

Trường hợp 4: O
j
đang thuộc vào O
m,2
. Nếu O
m
được thay thế bởi
O
p
và O
j
gần nhất với O
p
thì O
j
được gán lại vào O
p
. Giá trị hoán chuyển
C
jmp
được xác định: C
jmp
= (O
j
,O
p
)- d(O
j

, O
m,2
). C
jmp
ở đây luôn âm.

Hình 2.3: Các trường hợp đối với điểm O
j [1]


- Kết hợp cả bốn trường hợp trên, tổng giá trị hoán chuyển O
m
bằng
O
p
được xác định như sau:
mp jmp
j
TC C
.

Các bước thực hiện thuật toán PAM:
Input : Tập dữ liệu có n phần tử, số cụm k.
Output : k cụm dữ liệu sao cho chất lượng phân hoạch là tốt nhất.
Trường hợp 1
Trường hợp 2
Trường hợp 3
Trường hợp 4



24
BEGIN
Bước 1: Chọn k đối tượng medoid bất kỳ;
Bước 2: Tính TC
mp
cho tất cả các cặp đối tượng O
m
, O
p
. Trong đó,
O
m
là đối tượng medoid và O
p
là đối tượng không phải medoid;
Bước 3: Chọn cặp đối tượng O
m
và O
p
. Tính Min
Om
, Min
Op
, 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;
Bước 4: Với mỗi đối tượng không phải medoid, xác định đối tượng
medoid
gần với nó nhất đồng thời gán nhãn cụm cho chúng.

END.
2.2.3 Thuật toán CLARA
Thuật toán CLARA (Clustering Large Application) được đưa ra nhằm
khắc phục nhược điểm của thuật toán PAM trong trường hợp giá trị k và n là
lớn. CLARA tiến hành trích mẫu cho tập dữ liệu có n phần tử, nó áp dụng
thuật toán PAM cho mẫu này và tìm ra các đối tượng trung tâm medoid cho
mẫu được trích ra từ dữ liệu này. Nếu mẫu dữ liệu được trích theo một cách
ngẫu nhiên, thì các medoid của nó xấp xỉ với các medoid của toàn bộ tập dữ
liệu ban đầu. Để tiến tới một xấp xỉ tốt hơn, CLARA đưa ra nhiều cách lấy
mẫu và thực hiện phân cụm cho mỗi trường hợp, sau đó tiến hành chọn kết
quả phân cụm tốt nhất khi thực hiên phân cụm trên mẫu này. Để cho chính
xác, chất lượng của các cụm được đánh giá thông qua khoảng cách trung
bình của toàn bộ các đối tượng dữ liệu trong tập đối tượng dữ liệu ban đầu.
Kết quả thực nghiệm chỉ ra rằng, 5 mẫu dữ liệu có kích thước 40 +2k cho kết
quả tốt. Các bước thực hiện của thuật toán CLARA [1], [2], [10], [11]:
INPUT: CSDL gồm n đối tượng, số cụm k.
OUTPUT: k cụm dữ liệu


25


1. For i = 1 to 5 do
Begin
2. Lấy một mẫu có 40 + 2k đối tượng dữ liệu ngẫu nhiên từ
tập dữ liệu và áp dụng thuật toán PAM cho mẫu dữ liệu này nhằm
để tìm các đối tượng medoid đại diện cho các cụm.
3. Đối với mỗi đối tượng O
j
trong tập dữ liệu ban đầu, xác định
đối tượng medoid tương tự nhất trong số k đối tượng medoid.
4. Tính độ phi tương tự trung bình cho phân hoạch các đối tượng
dành ở bước trước, nếu giá trị này bé hơn giá trị tối thiểu hiện thời thì
sử dụng giá trị này thay cho giá trị tối thiếu ở trạng thái trước, như vậy
tập k đối tượng medoid xác định ở bước này là tốt nhất cho đến thời
điểm hiện tại.
End;
Phương pháp medoid không hiệu quả với trường hợp tập dữ liệu lớn,
như vậy, phương pháp dựa trên mẫu được gọi là CLARA. Ở đây, một phần
nhỏ dữ liệu hiện thời được chọn như một đại diện của dữ liệu thay vì sử dụng
toàn bộ dữ liệu và sau đó medoid được chọn từ mẫu sử dụng PAM. Nếu mẫu
được chọn theo cách ngẫu nhiên thì nó có thể cần phải đại diện tập dữ liệu
gốc. Các đối tượng đại diện (medoids) được chọn là tương tự mà đã được
chọn từ tập dữ liệu. Nó đưa ra nhiều mẫu của tập dữ liệu, áp dụng PAM trên
mỗi mẫu, và trả lại cụm tốt nhất ở đầu ra, như vậy, CLARA có thể xử lý với
tập dữ liệu lớn hơn PAM.
2.3. Thuật toán CLARANS
2.3.1. Giới thiệu thuật toán CLARANS
Thuật toán k-means và k-medoids thường thực hiện với CSDL vừa và
nhỏ, chỉ khoảng vài trăm đến vài nghìn đối tượng. Do yêu cầu của việc phân

×