1. Trang chủ
  2. » Công Nghệ Thông Tin

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

85 339 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 85
Dung lượng 3,36 MB

Nội dung

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ố

Trang 1

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

Trang 2

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

Trang 3

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

Trang 4

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

Trang 5

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

Trang 6

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

Trang 7

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

Trang 8

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

Trang 9

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

Trang 10

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

Trang 11

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]

Trang 12

CHƯƠNG II: PHÂN CỤM DỮ LIỆU VÀ PHÂN CỤM DỮ LIỆU

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

Trang 13

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.

Trang 14

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

Trang 15

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

Trang 16

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

Trang 17

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 {C1, C2,…, Ck} từ một tập dữ liệu ban đầu gồm n đối tượng trong không gian d chiều Xi = (xi1, xi2, …, xid ) (i= 1,n), sao cho hàm tiêu chuẩn:

2 1

đượ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.

Trang 18

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

thiểu

Trang 19

Bước 1: Khởi tạo

Chọn k đối tượng mj (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 Xi (1 ≤ i ≤ n), tính toán khoảng cách từ nó tới mỗi trọng tâm mj 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 mj 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

Trang 20

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 means áp dụng trong KPDL để giải quyết tập dữ liệu có kích thước rất lớn

k-đ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ị

Trang 21

ảnh hưởng của các đối tượng ở rất 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ị 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 Om và một đối tượng Op không phải là medoid, miễn là sự

hoán chuyển này nhằm cải tiến chất lượng của phân cụm, quá trình này kết thúc khi chất lượng phân cụm không thay đổi 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

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à

Trang 22

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 đượ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 Oj [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: TCmp = ∑j Cjmp

c bư ớ c t h ự c h i ệ n t h u ậ t to á n P A M:

Trang 23

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.

BEGIN

Bước 1: Chọn k đối tượng medoid bất kỳ;

Bước 2: Tính TCmp cho tất cả các cặp đối tượng Om, Op Trong đó,

Om là đối tượng medoid và Op là đối tượng không phải medoid;

Bước 3: Chọn cặp đối tượng Om và Op Tính Min Om, MinOp , TCmp, nếu

TCmp là âm thay thế Om bởi Op và quay lại bước 2 Nếu TCmp 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]:

Trang 24

INPUT: CSDL gồm n đối tượng, số cụm k.

OUTPUT: k cụm dữ liệu

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

Trang 25

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 cụm dữ liệu không gian ngày càng lớn, năm 1994 Raymond T.Ng và Jiawei Han đã đưa ra một thuật toán phân cụm theo kiểu k-medoids nhằm để cải tiến chất lượng cũng như mở rộng áp dụng cho tập dữ liệu lớn hiệu quả hơn các thuật toán trước đó Thuật toán này có tên là CLARANS (Clustering Large Applications based on RANdomized Search) [1], [8], [10], [11]

CLARANS phân cụm dựa trên việc tìm kiếm ngẫu nhiên các tập gồm k

đối tượng để làm tâm của k cụm Tại mỗi bước tìm kiếm sẽ xác định được độ

tốt của nó và giữ lại kết quả tìm kiếm tốt nhất.

CLARANS được coi là thuật toán có thể khắc phục được các nhược điểm của phương pháp CLARA Không giống với CLARA, CLARANS không bó buộc một tập mẫu cố định mà nó lấy ngẫu nhiên trong quá trình thực hiện Ta

có thể coi quá trình phân cụm trong CLARANS giống như việc tìm kiếm trong đồ thị với mỗi đỉnh được coi là một tập kết quả tiềm năng

Ý tưởng cơ bản của CLARANS là không xem xét tất cả các khả năng có thể thay thế các đối tượng tâm medoids bởi một đối tượng khác, nó ngay lập tức thay thế các đối tượng medoid này nếu việc thay thế có tác động tốt đến chất lượng phân cụm chứ không cần xác định cách thay thế tối ưu nhất Một phân hoạch cụm phát hiện được sau khi thay thế đối tượng trung tâm được gọi là một láng giềng của phân hoạch cụm trước đó Số các láng giềng

được hạn chế bởi tham số do người dùng đưa vào là Maxneighbor, quá trình lựa chọn các láng giềng này là hoàn toàn ngẫu nhiên Tham số Numlocal

cho phép người dùng xác định số vòng lặp tối ưu cục bộ được tìm kiếm

Không phải tất các láng giềng được duyệt mà chỉ có Maxneighbor số láng

giềng được duyệt

2.3.2 Mô tả thuật toán CLARANS

Trang 26

Các tác giả đã thực hiện việc tìm kiếm và đánh giá độ tốt của phép tìm kiếm bằng cách xây dựng một đồ thị tìm kiếm như sau Với n đối tượng cần chia làm k cụm thì đồ thị được đặt tên là Gn,k Mỗi đỉnh của Gn,k là một tập gồm k đối tượng { Om 1, , Om k }, ngụ ý rằng mỗi đối tượng Omi là tâm của một cụm Tập đỉnh của đồ thị là { {O , ,O }|O , ,O CSDL}

k 1

để đánh giá độ tốt của mỗi phương án

Thuật toán CLARANS cần có hai tham số đầu vào là numlocal (số cục

bộ địa phương cần tìm) và maxneighbor (số đỉnh kề cần xét) Quá trình thực

hiện của thuật toán như sau: Đầu tiên chọn ngẫu nhiên một đỉnh làm đỉnh hiện thời, lấy ngẫu nhiên một đỉnh kề với đỉnh hiện thời, so sánh trọng số của đỉnh hiện thời và đỉnh vừa chọn, nếu đỉnh vừa chọn có trọng số nhỏ hơn thì đặt

đỉnh đó làm đỉnh hiện thời, lặp lại quá trình đó maxneighbor lần, tìm được một

đỉnh có trọng số thấp nhất, trọng số này gọi là cực tiểu địa phương So sánh

cực tiểu địa phương với một số mincost, nếu nhỏ hơn thì gán mincost bằng cực tiểu địa phương đó và lưu lại đỉnh hiện thời vào bestnode Lặp lại quá trình trên đủ numlocal lần Kết quả được chứa trong bestnode

Thuật toán CLARANS được mô tả cụ thể như sau:

Bước 1: Đặt i = 1, mincost = +

Trang 27

Bước 2: Chọn một đỉnh ngẫu nhiên của Gn,k gọi là đỉnh hiện thời current.

Bước 3: Đặt j = 1.

Bước 4: Chọn ngẫu nhiên 1 đỉnh S kề với current Tính trọng số của S Bước 5: Nếu S có trọng số nhỏ hơn current thì đặt S là đỉnh hiện thời và

trở lại bước 3

Bước 6: Ngược lại, j = j + 1 Nếu j maxneighbor thì quay về bước 4.

Bước 7: Ngược lại, khi j > maxneighbor thì so sánh trọng số của current

với mincost, nếu nhỏ hơn mincost thì đặt mincost bằng trọng số của current và đặt bestnode = current.

Bước 8: i = i + 1, nếu i > numlocal thì đưa ra bestnode và dừng, ngược lại

thì quay về bước 2

Như vậy, quá trình hoạt động của CLARANS tương tự với quá trình hoạt động của thuật toán CLARA Tuy nhiên, ở giai đoạn lựa chọn các trung tâm medoid cụm dữ liệu, CLARANS lựa chọn một giải pháp tốt hơn bằng cách lấy ngẫu nhiên một đối tượng của k đối tượng trung tâm medoid của cụm

và cố gắng thay thế nó với một đối tượng được chọn ngẫu nhiên trong (n-k) đối tượng còn lại, nếu không có giải pháp nào tốt hơn sau một số cố gắng lựa chọn ngẫu nhiên xác định, thuật toán dừng và cho kết quả phân cụm tối ưu cục

bộ

CLARANS có ưu điểm là không gian tìm kiếm không bị giới hạn như đối với CLARA và trong cùng một lượng thời gian thì chất lượng của các cụm phân được là lớn hơn so với CLARA Thuật toán CLARANS được đánh giá là hiệu quả trên CSDL lớn, vấn đề xác định tham số numlocal và maxneighbor không phức tạp Có thể chọn các giá trị khác nhau sao cho phù hợp với CSDL cần nghiên cứu

Trang 28

Tuy nhiên, CLARANS cũng bộc lộ một số hạn chế Thứ nhất, CLARANS cần đưa cả CSDL vào bộ nhớ trong Thứ hai thời gian thực thi có nhiều trường hợp rất xấu, trường hợp tốt nhất là O(kn2) và trường hợp xấu nhất là O(nk)

2.4 Các độ đo khoảng cách trong bài toán phân cụm

Các thuật toán phân cụm hầu hết sử dụng hai cấu trúc dữ liệu điển hình sau:

Ma trận dữ liệu (two modes)

Biểu diễn n đối tượng và p biến (là các phép đo hoặc các thuộc tính) của đối tượng, có dạng ma trận n x p

n

ip if

i

p f

x x

x

x x

x

x x

1 1

11

Ma trận khoảng cách (độ không giống nhau) ( One modes): Lưu trữ một

tập tất cả các trạng thái gần nhau của từng cặp trong n đối tượng Được biểu thị bởi một bảng n x n.

)2,()1,(

0)2,3()1,3(

0)

1,2(0

n d n

d

d d

Trang 29

Với d(i,j) là khoảng cách (độ đo sự khác nhau) giữa các đối tượng i và j Nói chung, d(i,j) là số không âm và gần bằng 0 khi đối tượng i và j là tương tự nhau ở mức cao hoặc “gần” với đối tượng kia Khi d(i,j) = d(j,i) và d(i,i) = 0, chúng ta có ma trận đối xứng và có thể chuyển đổi về ma trận một chiều với

số phần tử là số đối tượng đưa vào tính khoảng cách

Ma trận dữ liệu thường được gọi là ma trận dạng 2, trái lại ma trận khoảng cách (độ không giống nhau) được gọi là ma trận dạng 1, khi đó các dòng và các cột biểu diễn các thực thể khác nhau trước, các thực thể giống nhau biểu diễn sau Nhiều thuật toán gom cụm hoạt động trên ma trận khoảng cách Nếu dữ liệu được trình bầy dưới dạng một ma trận dữ liệu, đầu tiên nó

có thể được chuyển thành ma trận khoảng cách trước khi áp dụng các thuật toán gom cụm

Không có định nghĩa duy nhất về sự giống nhau và không giống nhau giữa các đối tượng dữ liệu mà định nghĩa này tuỳ thuộc vào loại dữ liệu khảo

sát, loại tương tự cần quan tâm “Sự giống nhau / không giống nhau được

đánh giá như thế nào?” Thông thường được biểu diễn qua một độ đo gọi là

khoảng cách d(i,j) Lý tưởng, mọi độ đo khoảng cách phải thoả mãn các điều kiện sau:

2.5 Các kiểu dữ liệu và khoảng cách

2.5.1 Các biến trị khoảng (interval- valued variables)

Trang 30

Định nghĩa: Biến trị khoảng là các phép đo liên tục của các thang đo

tuyến tính, thô Ví dụ: trọng lượng, chiều cao, chiều ngang, chiều dọc, tuổi, nhiệt độ thời tiết [1], [7]

Các đơn vị đo có thể ảnh hưởng đến phân tích cụm Vì vậy để tránh sự phụ thuộc vào đơn vị đo, cần chuẩn hoá dữ liệu

Các bước chuẩn hoá dữ liệu

Tính sai số tuyệt đối trung bình:

|)

|

|

|

| (|

if

s

m x

|

|

| (|

)

,

jp ip

q j i

q j

i x x x x x x

|

|

|

| )

2 2

2 1

Trang 31

2.5.2 Các biến nhị phân (binary variables)

Định nghĩa: Biến nhị phân là biến chỉ có hai trạng thái là 0 hoặc 1 Các

biến nhị phân được mô tả là đối xứng và bất đối xứng Việc xử lý các biến nhị phân giống như các biến tỉ lệ khoảng có thể dẫn đến không đưa ra được kết quả phân cụm Vì vậy phải có phương pháp tính toán khác [1], [7]

Giả sử ta có bảng dữ liệu nhị phân sau:

Bảng 2.1: Bảng dữ liệu nhị phân

Object jObject i 1 1a 0b Suma+b

Biến nhị phân đối xứng và bất đối xứng

Một biến nhị phân là đối xứng nếu đồng thời các trạng thái của nó có tầm quan trọng như nhau và mang cùng một trọng số Do đó, không có sự ưu

tiên khi kết quả đưa ra phải được mã hoá là 0 hoặc 1 Ví dụ thuộc tính giới tính có 2 trạng thái là male và female Tính tương tự giữa các biến nhị phân đối xứng được gọi là tính tương tự bất biến, trong đó kết quả không thay đổi khi 1 hoặc tất cả các biến nhị phân được mã hoá khác nhau Với các tính giống nhau bất biến, một hệ số được biết đến nhiều nhất để xác định sự khác nhau giữa đối tượng i và j là hệ số đối sánh đơn giản, được định nghĩa như sau:

d c b a

c b j

i d

+ + +

+

=

) , (

Trang 32

Một biến nhị phân là không đối xứng nếu các kết quả của các trạng thái không có tầm quan trọng như nhau Chẳng hạn kết quả âm tính và dương tính

khi khám bệnh Theo thói quen, chúng ta sẽ mã hoá kết quả quan trọng nhất, thường là kết quả ít xẩy ra bằng 1 (HIV dương tính) và bằng 0 cho kết quả khác (HIV âm tính) Trong hai biến nhị phân được đưa ra, việc chấp nhận biến giá trị 1(khẳng định) được xem như “monary” (như là có một trạng thái) Tính tương tự giữa các biến này được gọi là tương tự không bất biến Với sự tương

tự không bất biến, hệ số được biết đến nhiều nhất là hệ số Jaccard, trong đó số phép so sánh phủ định coi như không quan trọng và do đó được bỏ qua khi tính toán

c b a

c b j i d

+ +

+

=

) , (

Ví dụ: Bảng hồ sơ bệnh nhân

Bảng 2.2: Bảng hồ sơ bệnh nhânName Gender Fever Cough Test-1 Test-2 Test-3 Test-4

Gender là thuộc tính nhị phân đối xứng

• Các thuộc tính còn lại là nhị phân bất đối xứng

Ta gán các trị Y và P bằng 1 và trị N được gán bằng 0 Tính khoảng cách giữa các bệnh nhân dựa vào các bất đối xứng dùng hệ số Jacard ta có:

Trang 33

75 0 2 1 1

2 1 ) ,

(

67 0 1 1 1

1 1 ) , (

33 0 1 0 2

1 0 ) ,

(

= + +

+

=

= + +

+

=

= + +

+

=

marry jim

d

jim jack

d

marry jack

d

Như vậy, theo tính toán trên Jim và Marry có khả năng mắc bệnh

giống nhau nhiều nhất vì d(jim, marry)=0.75 là lớn nhất

2.5.3 Các biến tên (nominal variables)

Định nghĩa: Biến tên là mở rộng của biến nhị phân với nhiều hơn hai

trạng thái Ví dụ: thuộc tính màu sắc: đỏ, vàng, xanh, lục

Có hai phương pháp để tính toán sự tương tự giữa hai đối tượng:

Phương pháp 1: Đối sánh đơn giản với m là số lần đối sánh, p là tổng số các biến

p

m p j i

d(, )= −

Phương pháp 2: Dùng một số lượng lớn các biến nhị phân

Tạo biến nhị phân mới cho từng tên trạng thái

Các biến thứ tự có thể là liên tục hay rời rạc

Thứ tự của các trị là quan trọng, ví dụ hạng

Có thể xử lý như tỉ lệ khoảng như sau:

Thay thế xif bởi hạng của chúng

Ánh xạ phạm vi của từng biến vào đoạn [0,1] bằng cách thay thế đối tượng i trong biến thứ f bởi r if ∈ 1 , ,M f}

Trang 34

Tính sự khác nhau dùng các phương pháp cho biến tỉ lệ theo khoảng

M

r z

2.5.4 Các biến thang đo tỉ lệ

Định nghĩa: Là các biến có độ đo dương trên thang phi tuyến, xấp xỉ

thang đo mũ Ví dụ: AeBt hay Ae-Bt [1], [7]

Các phương pháp tính độ tương tự:

Xử lý chúng như các biến thang đo khoảng

Áp dụng các biến đổi logarithmic

Xử lý chúng như dữ liệu thứ tự liên tục

Xử lý chúng theo hạng như thang đo khoảng

p f

f ij

f

ij d j

i

d

1 ) ( 1

) ( ) (

),

Nếu f là biến nhị phân hay định danh:

Trang 35

) (f =

Nếu f là dựa trên khoảng cách: dùng khoảng cách được chuẩn hoá

Nếu f là thứ tự thang đo tỉ số tính các hạng rif và xử lý zif như thang đo

M

r z

2.6 Khoảng cách giữa các đối tượng địa lý

Phân cụm dữ liệu không gian đòi hỏi phải tính khoảng cách giữa các đối tượng địa lý Đặc biệt cần xem xét các định nghĩa khoảng cách giữa 2 khu vực địa lý biểu diễn bằng 2 đa giác trên bản đồ Câu hỏi là làm thế nào để tính toán khoảng cách giữa hai đối tượng đa giác mà ở đây là các đơn vị hành chính sao cho hiệu quả đối với mục đích phân cụm

Trước hết có hai cách tiếp cận để tính khoảng cách giữa hai đa giác: sử dụng một điểm đại diện (ví dụ trọng tâm) thay cho cả đa giác và sử dụng đường gấp khúc biểu diễn biên đa giác [1], [7], [11]

Sử dụng một điểm đại diện rõ ràng đơn giản hơn nhưng dễ thấy rằng nó

có nhiều nhược điểm, có thể sinh ra phân cụm tồi Khoảng cách giữa hai trọng tâm luôn lớn hơn khoảng cách tách biệt thực tế Sự khác biệt chính là khoảng cách giữa hai trọng tâm tùy thuộc phần lớn vào các kích thước và hình dạng của đa giác, cung cấp một xấp xỉ "không đều" Các đối tượng đa giác có thể

có kích thước diện tích và hình dạng thay đổi lớn Ví dụ, một đơn vị hành chính cấp thành thị, thành phố có diện tích nhỏ hơn diện tích các đơn vị hành chính ở nông thôn và miền núi Nếu hai điểm đại diện được dùng để tính khoảng cách sẽ cho kết quả chất lượng kém

Trang 36

Một số cách tiếp cận sử dụng đường biên giới đa giác, tức là khai thác được đầy đủ hơn các thông tin về hình dạng, diện tích, … Dưới đây trình bày

Như vậy, khoảng cách giữa hai đa giác A, B là khoảng cách tối thiểu giữa các cặp điểm bất kỳ thuộc A,B Tức là = min {d(P,Q) | P, Q là điểm thuộc A,

B tương ứng}

Hình 2.4: Khoảng cách tách giữa 2 đa giácKhoảng cách này là chính xác giống như các khoảng cách tối thiểu giữa bất kỳ hai điểm trên ranh giới A,B Điều này được gọi là khoảng cách tách giữa hai đa giác

P d(A,B) Q

Trang 37

Cần hai bước chính để tính toán sự khác biệt khoảng cách giữa hai đa giác lồi A,B Đầu tiên, chúng ta cần xác định xem A và B có giao nhau không Điều này có thể thực hiện trong O(log n + log m) ở đây n, m là số đỉnh A và của B Nếu hai đa giác giao nhau, thì khoảng cách tách là không Nếu không, tính toán tách khoảng cách giữa hai đường ranh giới Điều này một lần nữa lại

có thể thực hiện trong O(log n + log m)

Có tồn tại các thuật toán khác nhau tính toán khoảng cách tách và có cùng độ phức tạp O(log n + log m) Thay vì cố gắng tất cả các đỉnh và cạnh trên biên giới của hai đa giác, thuật toán này đầu tiên xác định hai chuỗi đỉnh

và các đoạn thẳng liên tiếp (mỗi đa giác là một chuỗi) sao cho "đối mặt" nhau theo nghĩa là một đỉnh trong chuỗi này có thể "nhìn thấy" ít nhất một đỉnh trong chuỗi khác Nếu P là một đỉnh của A và Q một đỉnh trong B, chúng ta nói P và Q "nhìn thấy" nhau nếu đoạn đường nối P và Q không giao nhau bên trong của một trong hai polygon

Như vậy, theo định nghĩa, khoảng cách tách biệt của hai đa giác phải là khoảng cách tối thiểu giữa các cặp điểm bất kỳ (không nhất thiết phải đỉnh) trên hai chuỗi Theo một chiến lược tìm kiếm nhị phân, thuật toán tìm được khoảng cách

2.6.2 Tính xấp xỉ bởi khoảng cách tối thiểu giữa các đỉnh.

Một cách tính gần đúng khoảng cách tách biệt chính xác giữa hai đa giác

là tìm khoảng cách tối thiểu giữa các đỉnh của đa giác, tức là, min {d(P; Q) | P,

Q là đỉnh của A, B }, gọi là xấp xỉ-MV

Trang 38

Hình 2.5: Khoảng cách xấp xỉ-MVNếu B gần C hơn A, theo khoảng cách tách biệt chính xác Trong khi đó, khoảng cách trọng tâm giữa A và B khá gần khoảng cách tách, nhưng khoảng cách trọng tâm giữa B và C là cao hơn gấp nhiều lần so với khoảng cách thực

Trang 39

Hình 2.6: Khoảng cách tách biệt chính xác và khoảng cách trọng tâm

giữa 2 đa giácTheo khoảng cách trọng tâm, B là gần đến A hơn C, do đó đảo ngược thứ

tự xếp theo khoảng cách tách biệt Nói chung, nếu tập các đối tượng có kích thước và hình dạng biến đổi nhiều, khoảng cách trọng tâm sinh ra phân cụm kém chất lượng

Rõ ràng, xấp xỉ-MV có độ phức tạp thời gian O(m*n) Mặc dù theo độ phức tạp, nó kém hơn so với thuật toán mô tả ở trên Trong thực tế, nó thường nhanh hơn so với các thuật toán chính xác, trừ khi giá trị của n và m là khá cao, ví dụ như lớn hơn 20 Đối với nhiều ứng dụng khai thác dữ liệu không gian, hầu hết các đối tượng không gian được biểu diễn bởi ít hơn 20 đỉnh là

Tính toán khoảng cách tách giữa IA và IB

Cho một đa giác A, hình chữ nhật song song trục tọa độ IA là hình chữ nhật nhỏ nhất chứa A và có cạnh song song với hai trục x và y Cần phân biệt với khái niệm hình chữ nhật bao nhỏ nhất MBR (minimal bounding rectangle) Đối với một đa giác bất kỳ nhất định, MBR của A được định nghĩa

là hình chữ nhật có diện tích nhỏ nhất chứa A Như vậy, MBR là hình chữ

Trang 40

nhật không cần có các cạnh của nó song song với trục x và trục y Chính vì điều này, tính toán một MBR là tương đối tốn kém Ngược lại, hình chữ nhật song song trục tọa độ, có thể có một diện tích lớn hơn so với một MBR nhưng

có thể dễ dàng thu được bằng cách tìm min / max các tọa độ đỉnh của polygon

Vì vậy, Bước 1 xấp xỉ-IR là tầm thường, không mất thời gian tính toán

Giống như tính toán khoảng cách tách biệt chính xác giữa hai đa giác, tính chính xác khoảng cách giữa hai hình chữ nhật song song trục tọa độ cũng yêu cầu hai bước Bước đầu tiên kiểm tra có giao nhau không, mất thời gian hằng số cho hình chữ nhật song song trục tọa độ, nhưng thời gian logarit cho đỉnh đa giác Tương tự như vậy, trong bước tiếp theo, tính khoảng cách tách thực tế (khi không giao nhau), cần thời gian hằng số cho hình chữ nhật song song trục tọa độ nhưng thời gian lôgarít cho đa giác Vì vậy, bước 2 của xấp xỉ-IR có thể được thực hiện một cách hiệu quả Và xấp xỉ-IR có thể được sử dụng để giảm thời gian cần thiết để tính toán chính xác khoảng cách tách biệt

Về hiệu quả, cũng giống như đánh giá trong phần trước về xấp xỉ ảnh hưởng đến chất lượng của phân cụm, ở đây chúng ta có câu hỏi tương tự Một mặt, xấp xỉ-IR khác với xấp xỉ-MV trước đây, luôn luôn đánh giá thấp khoảng cách tách biệt thực tế giữa các đa giác Đó là bởi vì hình chữ nhật song song trục tọa độ chứa đa giác Mặt khác, giống như MV-xấp xỉ, xấp xỉ-IR đánh giá thấp tất cả các đa giác khá thống nhất, do đó sinh ra phân cụm tương

MV-tự chất lượng như sử dụng khoảng cách tách biệt chính xác

Ngày đăng: 16/04/2017, 17:23

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Hoàng Văn Dũng (2007), Khai phá dữ liệu Web bằng kỹ thuật phân cụm, Luận văn thạc sỹ khoa học, Trường Đại học sư phạm Hà Nội, Hà Nội Sách, tạp chí
Tiêu đề: Khai phá dữ liệu Web bằng kỹ thuật phân cụm
Tác giả: Hoàng Văn Dũng
Năm: 2007
2. Trương Mạnh Hà (2009), Nghiên cứu một số kỹ thuật lấy tin tự động trên Internet, Luận văn thạc sĩ Công nghệ thông tin, Trường Đại học Thái Nguyên Sách, tạp chí
Tiêu đề: Nghiên cứu một số kỹ thuật lấy tin tự động trên Internet
Tác giả: Trương Mạnh Hà
Năm: 2009
4. Nguyễn Vương Thịnh (2011), Bài giảng môn học Khai phá dữ liệu, Đại học Hàng hải Việt Nam, Hải Phòng Sách, tạp chí
Tiêu đề: Bài giảng môn học Khai phá dữ liệu
Tác giả: Nguyễn Vương Thịnh
Năm: 2011
5. Trương Minh Văn (2012), Khai phá dữ liệu có canh tác dữ liệu và ứng dụng trong khai phá dữ liệu y khoa , Luận văn thạc sĩ Công nghệ thông tin, Trường Đại học Lạc Hồng, Biên Hòa.Tiếng Anh Sách, tạp chí
Tiêu đề: Khai phá dữ liệu có canh tác dữ liệu và ứng dụng trong khai phá dữ liệu y khoa
Tác giả: Trương Minh Văn
Năm: 2012
6. Diansheng Guo, Jeremy Mennis (2009), “Spatial data mining and geographic knowledge discovery”, Computers, Environment and Urban Systems 33, pp. 403 - 408 Sách, tạp chí
Tiêu đề: Spatial data mining and geographic knowledge discovery”, "Computers, Environment and Urban Systems
Tác giả: Diansheng Guo, Jeremy Mennis
Năm: 2009
7. Deepti Joshi (2011), Polygonal Spatial Clustering, Ph.D. Dissertation, University of Nebraska Sách, tạp chí
Tiêu đề: Polygonal Spatial Clustering
Tác giả: Deepti Joshi
Năm: 2011
8. Ch.N.Santhosh Kumar, V. Sitha Ramulu, K.Sudheer Reddy, Suresh Kotha, Ch. Mohan Kumar (2012), Spatial Data Mining using Cluster Analysis, International Journal of Computer Science&amp; Information Technology (IJCSIT) Vol. 4 (4) Sách, tạp chí
Tiêu đề: Spatial Data Mining using Cluster Analysis
Tác giả: Ch.N.Santhosh Kumar, V. Sitha Ramulu, K.Sudheer Reddy, Suresh Kotha, Ch. Mohan Kumar
Năm: 2012
9. Imam Mukhlash, Benhard Sitohang, (2007), Spatial Data Preprocessing for Mining Spatial Association Rule with Conventional Association Mining Algorithms, Proceeding of the International Conference on Electrical Engineering and Informatics Institut Teknologi Bandung, Indonesia Sách, tạp chí
Tiêu đề: Spatial Data Preprocessing for Mining Spatial Association Rule with Conventional Association Mining Algorithms
Tác giả: Imam Mukhlash, Benhard Sitohang
Năm: 2007
10. Raymond T. Ng, Jiawei Han (1994), Efficient and Effective Clustering Methods for Spatial Data Mining, Proceeding VLDB’94 Proceeding of 20 th International Conference on Very Large Data Bases, Morgan Kaufmann Publishers Inc. San Francisco, CA, USA, pp.144-155 Sách, tạp chí
Tiêu đề: Efficient and Effective Clustering Methods for Spatial Data Mining
Tác giả: Raymond T. Ng, Jiawei Han
Năm: 1994
11. Raymond T. Ng, Jiawei Han (2002), “CLARANS: A Method for Clustering Objects for Spatial Data Mining”, IEEE Computer Society, IEEE Transactions on Knowledge and Data Engineering, vol. 14 (5) Sách, tạp chí
Tiêu đề: CLARANS: A Method for Clustering Objects for Spatial Data Mining”, IEEE Computer Society, "IEEE Transactions on Knowledge and Data Engineering
Tác giả: Raymond T. Ng, Jiawei Han
Năm: 2002

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w