Phân cụm các đối tượng trong một lớp đối tượng trên mô hình CSDL hướng

Một phần của tài liệu Phân cụm các đối tượng phức tạp trong một lớp đối tượng (Trang 70 - 75)

hướng đối tượng

Bài toán phân cụm các đối tượng trong một lớp đối tượng trên mô hình CSDL hướng đối tượng thuộc loại bài toán phân cụm với dữ liệu hỗn hợp, vì dữ liệu không thuộc một loại thuần túy là số hay phi số mà có cả dữ liệu kiểu số và phi số. Hiện

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

nay có hai hướng tiếp cận đối với bài toán phân cụm dạng này: xây dựng công thức khoảng cách hợp nhất áp dụng cho dữ liệu hỗn hợp, hoặc phân cụm song song.

Trong luận văn này, chúng tôi chọn cách xây dựng công thức khoảng cách hợp nhất với cách tính độ tương tự/ khoảng cách giữa các đối tượng được trình bày

ở trên, và chọn thuật toán AGNES để tiến hành phân cụm cho dữ liệu trong CSDL hướng đối tượng.

Lý do chọn thuật toán AGNES vì:

- Hướng tiếp cận phân cụm song song: Tập dữ liệu hỗn hợp ban đầu được chia làm hai tập con: một tập là dữ liệu xác định trên thuộc tính số và một tập là dữ

liệu xác định trên thuộc tính phi số. Sau đó áp dụng những thuật toán tốt nhất có thể

cho mỗi tập dữ liệu. Tuy nhiên trong CSDL hướng đối tượng, kiểu của các thuộc tính có thể là kiểu nguyên tố, kiểu tập, kiểu bộ. Đối với kiểu nguyên tố chúng ta vẫn có thể áp dụng được hướng tiếp cận song song; nhưng đối với kiểu tập, kiểu bộ, các phần tử của kiểu tập, bộ có thể là một đối tượng (gồm cả kiểu số và phi số), vì vậy không thể gán vào tập kiểu số hay phi sốđược. Chúng tôi đang tiếp tục nghiên cứu

để cải tiến thuật toán nhằm áp dụng hiệu quả trong việc PCDL đối với các kiểu dữ

liệu này.

- Hướng tiếp cận xây dựng công thức khoảng cách hợp nhất cho dữ liệu hỗn hợp, sau đó tiến hành phân cụm theo một thuật toán nào đó, các thuật toán có thể

dùng trong hướng tiếp cận này là: k-prototypes, AGNES, HIMIC, và usmSQUEEZER. Theo Chung-Chian Hsu [11], thuật toán AGNES được đánh giá là tốt hơn một số thuật toán khác như k-prototype.

™ Thuật toán AGNES để phân cụm đối tượng trong CSDL HĐT:

Để thực hiện PCDL theo thuật toán AGNES, chúng tôi xây dựng một công thức tính khoảng cách hợp nhất cho cặp đối tượng x và y như sau:

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

Trong đó: da(x, y) là độ đo khoảng cách xác định trên các thuộc tính kiểu nguyên tố giữa hai đối tượng x và y.

ds(x, y) là độđo khoảng cách xác định trên các thuộc tính kiểu tập giữa hai đối tượng x và y.

dt(x, y) là độđo khoảng cách xác định trên các thuộc tính kiểu bộ

giữa hai đối tượng x và y.

Với cách tính độ tương tự cho các kiểu nguyên tố, kiểu tập và kiểu bộ được trình bày trong mục 3.3.

Hàm f ở đây chúng tôi chọn là hàm tính trung bình, kết quả phân cụm theo chủ quan là khá tốt, kết quả thử nghiệm sẽđược trình bày trong chương 4.

Hàm tính ma trận khoảng cách giữa các đối tượng:

Input:

D = {t1, t2, .., tn};// tập dữ liệu với n đối tượng

DH = {dh1, dh2, .., dhh}; // tập các phân cấp khoảng cách của các thuộc tính W = { w1, w2, .., wm};// tập trọng số của các thuộc tính

Output: A[n, n]; // ma trận khoảng cách giữa các cặp đối tượng

Process: For ti, tj∈D { A[i,j] = 0; // khởi tạo giá trị là 0 For p = 1,m A[i, j] = (da(ti, tj)+ ds(ti, tj)+ dt(ti, tj))/3; }

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

Thuật toán AGNES: Đầu vào là tập đối tượng và ma trận khoảng cách được tính theo hàm ở trên.

Một số thuật ngữ:

DS = {t1, t2, .., tn}: tập dữ liệu có n đối tượng.

d[n, n]: ma trận khoảng cách giữa các cặp đối tượng, ma trận này được tính theo hàm ở trên.

NewClusters(Cl, Ch): tạo cụm mới bằng cách hòa nhập hai cụm Cl, Ch thành một.

<k, C>: cụm thứ k gồm các thành phần trong C.

Input: DS; d[n, n];

Output: DE; // cây chứa các cụm

AGNES_algorithm: k = n; // số cụm C1 = {t1}; C2 = {t2}; …; Cn ={tn}; // khởi tạo mỗi đối tượng là một cụm C = {C1, C2, .., Cn}; // tập các cụm DE ={<k, C>}; Repeat { k = k -1;

// Gom hai cụm có khoảng cách gần nhất thành một cụm;

For Ci, Cj∈ C { ( , ) min ( , ') , min C C ' d p p d j i p C C p j i = ∈ ∈ } d(Cl, Ch) = min (d(Ci, Cj), ∀ Ci, Cj∈ C); <k, C> = NewClusters(Cl, Ch);

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

//Tính toán lại khoảng cách giữa cluster mới và các cluster cũ; d(Ci , NewClusters(Cl, Ch)) = min (d(Ci, Cl), d(Ci, Ch)); d(NewClusters(Cl, Ch), Cj) = min (d(Cl, Cj), d(Ch, Cj)); }

Until k =1;

Hình 3.16: Thuật toán AGNES phân cụm CSDL HĐT Kết chương

CSDL hướng đối tượng ra đời nhằm khắc phục các yếu điểm và hạn chế của CSDL quan hệ. Với một khối lượng lớn dữ liệu được lưu trữ trong các CSDL, rõ ràng việc áp dụng các phương pháp phân tích dữ liệu truyền thống sẽ không hiệu quả và tốn kém. Do đó, cần thiết phải áp dụng các kỹ thuật khai phá dữ liệu để có thể khai thác các CSDL hiệu quả hơn. Một kỹ thuật khai phá dữ liệu được nhiều người chọn dùng là phân cụm dữ liệu. Kỹ thuật phân cụm được thực hiện dựa trên

độđo tương tự hoặc phi tương tự (khoảng cách) giữa các đối tượng. Vì vậy, chương 3 này, ngoài trình bày về mô hình CSDL hướng đối tượng, chúng tôi còn tập trung vào việc xây dựng độ đo tương tự/ khoảng cách giữa các kiểu đối tượng. Trên cơ sở

các kiểu đối tượng, chúng tôi xây dựng độđo tương tự giữa các cặp đối tượng. Phần cuối chương, chúng tôi trình bày các cách tiếp cận trong phân cụm đối với CSDL hướng đối tượng.

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

CHƯƠNG 4: CÀI ĐẶT TH NGHIM

Một phần của tài liệu Phân cụm các đối tượng phức tạp trong một lớp đối tượng (Trang 70 - 75)

Tải bản đầy đủ (PDF)

(93 trang)