1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo nghiên cứu khoa học: " ÁP DỤNG KỸ THUẬT PHÂN NHÓM VÀO PHÂN MẢNH NGANG LỚP TRONG CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG" pot

12 450 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

Tiêu đề Áp dụng kỹ thuật phân nhóm vào phân mảnh ngang lớp trong cơ sở dữ liệu hướng đối tượng
Tác giả Nguyễn Thị Hương Giang
Người hướng dẫn PGS. Nguyễn Văn A
Trường học Trường Đại học Sư phạm, Đại học Huế
Chuyên ngành Cơ sở dữ liệu
Thể loại Bài báo
Năm xuất bản 2009
Thành phố Huế
Định dạng
Số trang 12
Dung lượng 206,58 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

TẠP CHÍ KHOA HỌC, Đại học Huế, Số 50, 2009 ÁP DỤNG KỸ THUẬT PHÂN NHÓM VÀO PHÂN MẢNH NGANG LỚP TRONG CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG Nguyễn Thị Hương Giang Trường Đại học Sư phạm, Đại

Trang 1

TẠP CHÍ KHOA HỌC, Đại học Huế, Số 50, 2009

ÁP DỤNG KỸ THUẬT PHÂN NHÓM VÀO PHÂN MẢNH NGANG LỚP

TRONG CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG

Nguyễn Thị Hương Giang Trường Đại học Sư phạm, Đại học Huế

TÓM TẮT

Bài báo trình bày việc áp dụng kỹ thuật phân nhóm vào phân mảnh ngang lớp trong cơ

sở dữ liệu hướng đối tượng khiến các phân mảnh hiện thời thích nghi với tập các ứng dụng người sử dụng mới; đồng thời đề xuất phương pháp phân nhóm gia tăng dựa trên phân cấp nhân có thể phân lớp lại tập các đối tượng khi thuộc tính các đối tượng tăng lên

I Giới thiệu

Phân mảnh dữ liệu là một trong những hướng nghiên cứu mới trong cơ sở dữ liệu (CSDL), là kỹ thuật thiết kế cơ sở dữ liệu ở mức logic nhằm giảm bớt những truy xuất không cần thiết đến dữ liệu, cho phép thực hiện song song các câu truy vấn bằng cách chia nó ra thành một tập các câu truy vấn con tác động lên các mảnh nhằm nâng cao việc thực hiện các ứng dụng Trong mô hình quan hệ, có các kiểu phân mảnh: phân mảnh ngang, phân mảnh dọc và phân mảnh hỗn hợp Phân mảnh ngang là phân hoạch một quan hệ thành một tập các quan hệ con, mỗi quan hệ con này chứa một tập con các

bộ (các hàng) của quan hệ ban đầu Phân mảnh dọc là phân hoạch một quan hệ thành một tập các quan hệ con, trong đó mỗi quan hệ con được định nghĩa trên một tập con các thuộc tính của quan hệ ban đầu Phân mảnh hỗn hợp phân hoạch một quan hệ thành các tập con các bộ con, trong đó các bộ con được xác định bởi phân mảnh dọc, còn các tập con được xác định bởi phân mảnh ngang

Trong những năm gần đây, do các ứng dụng ngày càng phức tạp, các mô hình CSDL trước đó cũng như mô hình quan hệ đã bộc lộ nhiều nhược điểm trong việc mô hình hóa và xử lý dữ liệu Có nhiều mô hình CSDL ra đời và được phát triển nhằm khắc phục những hạn chế đó, một trong số chúng là mô hình CSDL hướng đối tượng Có nhiều điểm tương đồng giữa phân mảnh ngang trong CSDL quan hệ và CSDL hướng đối tượng Tuy nhiên, do mô hình CSDL hướng đối tượng có các đặc trưng riêng như: tính kế thừa, tính bao gói, phân cấp lớp,… nên chúng ta không thể áp dụng việc phân mảnh ngang từ mô hình quan hệ sang mô hình đối tượng Do đó, phân mảnh dữ liệu trong CSDL hướng đối tượng vẫn đang được nhiều nhà nghiên cứu quan tâm Vấn đề chúng tôi đưa ra trong bài báo này là áp dụng kỹ thuật phân nhóm vào phân mảnh ngang lớp trong CSDL hướng đối tượng

Trang 2

Một hệ CSDL hướng đối tượng phân tán muốn tối ưu hóa việc thực hiện các ứng dụng cần phải có phân mảnh lớp và lược đồ phân phối các mảnh này tại các nơi phân tán để cực tiểu việc truyền dữ liệu Một tiếp cận phân mảnh ngang sử dụng các phương thức gộp nhóm khai thác dữ liệu cho việc phân chia các thể hiện đối tượng thành các mảnh đã được trình bày trong [1], [2], [3], [4] Nhưng các ứng dụng CSDL thực liên quan tới yếu tố thời gian, do đó, nó đòi hỏi sự phân mảnh để giải quyết tình trạng tại một thời điểm, có một số ứng dụng truy cập vào hệ thống và một số khác lại ra khỏi hệ thống Trong trường hợp này, để có được phân mảnh phù hợp với tập các ứng dụng người sử dụng mới, chúng ta có thể áp dụng lược đồ phân mảnh ban đầu (ứng với CSDL ban đầu), nhưng cách làm này không hiệu quả Vì vậy, cần có phương pháp phân mảnh mở rộng giải quyết trường hợp khi các ứng dụng người sử dụng mới đến hệ thống thì các phân mảnh hiện thời phải thích nghi theo Mặt khác, nói chung, các phương pháp phân nhóm hiện thời bắt đầu với tập các đối tượng biết trước, cùng với tập các thuộc tính biết trước Nhưng có nhiều ứng dụng có tập thuộc tính mô tả các đối tượng được

mở rộng ra, được suy ra Do đó, chúng tôi đề xuất phương pháp phân nhóm gia tăng dựa

trên phân cấp nhân (Hieararchical Core Based Incremental Clustering - HCBIC), có thể

phân lớp lại tập các đối tượng khi thuộc tính các đối tượng tăng lên

II Mô hình vector toán học của CSDL hướng đối tượng

Phân mảnh CSDL đối tượng có nghĩa là phân mảnh từng lớp của nó, giả sử gọi

lớp đó là C Một lớp C là một bộ được sắp xếp C=(K, A, M, I), với A là tập các thuộc tính đối tượng, M là tập các phương thức, K là định danh lớp và I là tập các thể hiện của

lớp C Trong phạm vi bài báo, chúng tôi chỉ giải quyết sự phân mảnh nguyên thủy [4]

Các lớp được tổ chức trong một phân cấp kế thừa, trong đó, lớp con là sự chuyên biệt hóa của lớp cha của nó Bài toán chỉ giải quyết trường hợp thừa kế đơn, nhưng khi chuyển sang thừa kế bội cũng sẽ không ảnh hưởng tới thuật toán phân mảnh, miễn là các xung đột thừa kế được giải quyết bên trong mô hình dữ liệu Liên kết giữa

một đối tượng và một lớp được cụ thể hóa bởi một phép toán cụ thể Một đối tượng O là một thể hiện của một lớp C nếu C là lớp được chuyên biệt hóa có liên kết (kết hợp) với

O trong phân cấp kế thừa Một đối tượng O là một thành viên của một lớp C nếu O là thể hiện của C hoặc là thể hiện của một trong các lớp con của C Một CSDL hướng đối tượng là một tập các lớp từ một phân cấp kế thừa, với tất cả các thể hiện của nó Root là

lớp đặc biệt, là tổ tiên (lớp cha) của tất cả các lớp trong CSDL Do đó, trong mô hình của chúng ta, đồ thị kế thừa là một cây Các quan hệ khác giữa các lớp trong một CSDL

là các mối quan hệ kết hợp và kết tập Một điểm vào CSDL là một thể hiện siêu lớp

(meta-class) trên biến cho trước trong hệ thống Một điểm vào cho phép sự tìm kiếm từ

nó tới tất cả các lớp và các thể hiện lớp của cây con của nó (bao gồm cả nó) Thường có nhiều điểm vào trong một CSDL hướng đối tượng

Cho trước một cây thừa kế phức H, một biểu thức đường dẫn P là C 1 A 1 …A n , n≥1 với C là một điểm vào trong H, A1 là một thuộc tính của lớp C 1, Ai là một thuộc tính

Trang 3

của lớp C i trong H, C i là miền thuộc tính Ai-1 của lớp C i-1 (1≤i≤n) Mục đích của phân

mảnh và điều phối phân mảnh của hệ CSDL hướng đối tượng là tối ưu sự thực thi các

truy vấn của người sử dụng Một truy vấn hướng đối tượng là một bộ với cấu trúc như

sau:

q = (lớp mục tiêu, mệnh đề tính chất), trong đó “lớp mục tiêu” xác định lớp mà

truy vấn trả về các thể hiện đối tượng của nó trên nó, “mệnh đề tính chất” là biểu thức

logic trên các thuộc tính lớp trong hình thức nối chuNn Biểu thức logic được xây dựng

sử dụng các vị từ đơn giản: attribute Θ value với Θ ∈{ <, >, ≥, ≤, ≠}

Gọi Q = {q1, …, qt} là tập các truy vấn mà phân mảnh thực hiện PredQ(C) =

{p1, , pn} là tập các vị từ đơn giản PredQ (C) = { p ∈ PredQ / p là điều kiện của một

thuộc tính của lớp C} Cho trước 2 lớp C và C”, với C” là lớp con của C, PredQ(C”) ⊇

PredQ(C) Do đó, tập các vị từ cho lớp C” gồm tất cả các vị từ được xác định trực tiếp

trên các thuộc tính của C” và các vị từ được định nghĩa trên các thuộc tính của lớp cha

C của nó và các thuộc tính được thừa kế từ C Với mỗi một đối tượng Oi trong tập

Inst(C ) - tập tất cả các thể hiện của lớp C, i = 1 m, m=|Inst(C)|, ta kết hợp một vector

điều kiện ai = (ai1,…,ais), với PredQ(C) = {p1,…,ps}:

ij

0, ( )

1, ( )

p O false a

p O true

=

=

=

 Các đối tượng sẽ được gộp nhóm với nhau trong các phân mảnh sao cho các đối

tượng trong cùng một phân mảnh có độ tương tự cao, trong khi độ tương tự so với các

đối tượng trong các nhóm khác thấp Độ tương tự giữa các đối tượng được đo bằng các

hàm khoảng cách, áp dụng cho các vector điều kiện mô tả các đối tượng Chúng ta sử

dụng khoảng cách Euclide để đo độ tương tự giữa các đối tượng:

1

( , ) s

l

d a a a a

=

= ∑ − với ai, aj là các vector điều kiện của Oi, Oj ∈Inst(C)

2.1 Phân mảnh gia tăng sử dụng thuật toán CBIC (Core-Based Incremental

Clustering)

Trước tiên, khi đi từ CSDL trung tâm tới CSDL phân tán, ta áp dụng phương

pháp phân mảnh khởi tạo Trong [1], [2], [3], [4], cho trước một tập các truy vấn

Qinit = {q1,…,qn}, mệnh đề phân mảnh ban đầu của tập đối tượng Inst(C) của lớp C đòi

hỏi trước tiên các đối tượng trong Inst(C) phải được mô hình hóa nhưđã mô tảở trên

Sau đó, áp dụng phương pháp phân nhóm k-means trên không gian vector mô t Inst(C),

và kết quả sẽ là các nhóm biểu diễn các phân mảnh cho lớp C

Phân mảnh hiện thời của CSDL hướng đối tượng phân tán được phát triển để tối

ưu hóa sự thực thi của tập truy vấn ban đầu, Q init Khi các truy vấn mới vào hệ thống

Qnew = Qinit ∪ {qp+1, …, qt}, phân mảnh đang tồn tại phải thích nghi theo Chúng ta áp

Trang 4

dụng phương pháp gộp nhóm dựa trên k-means và Core Based Incremental Clustering (CBIC) – phương pháp gộp nhóm gia tăng dựa trên nhân ([5], [6])

Mở rộng của tập truy vấn Q init thành Q new có nghĩa là với một số các lớp trong CSDL, tập các vị từ có kết hợp với các lớp sẽ tăng lên Do đó, các lớp này phải được phân mảnh lại để phù hợp với tập hợp truy vấn mới Cho C là một lớp như vậy Với mỗi PredQ-init(C) = {p1,…,pn} xác định PredQ-new(C) ∪ {pn+1,…,ps} Do đó, vector điều kiện

của mỗi một đối tượng Oi ∈ Inst(C) được mở rộng như sau:

Phương pháp CBIC bắt đầu bằng việc phân chia Inst(C) thành các nhóm bằng cách áp dụng phương pháp k-means trong bước phân mảnh ban đầu Cho {K1,

K2,…,Kp} là các phân mảnh ban đầu của Inst(C), Ki ∩ Kj = ∅, i ≠j,

1

Ins ( )

p l l

=

=

Phương pháp CBIC phân chia các đối tượng trong Inst(C): {K1’, K2’,….Kp’} sau khi mở

rộng tập truy vấn Nó bắt đầu từ ý tưởng khi bổ sung một số thành phần (các đặc tính, thuộc tính) vào các vector điều kiện và các thành phần này không mang lại nhiều thông tin trong hệ thống, thì việc sắp xếp thành các nhóm cũ tương tự với phương pháp mới Thuật toán xác định sau đó các đối tượng bên trong mỗi một phân mảnh Ki có khả năng

kết hợp lại với nhau trong cùng một nhóm Chúng là những đối tượng, sau khi mở rộng thuộc tính, vẫn còn gần hơn với trọng tâm (trung bình nhóm) của nhóm Ki Các đối

tượng này tạo ra cái được gọi là nhân (core) của lớp Ki, gọi là Corei Trọng tâm của Ki được tính là giá trị trung bình của tất cả các vector điều kiện được mở rộng của các đối

tượng trong Ki

Các nhân của tất cả các phân mảnh Ki, i = 1 p, sẽ là nhóm khởi tạo mới cho các bước lặp phân chia tiếp theo bắt đầu Tiếp đó, thuật toán CBIC tiếp tục theo cùng cách như thuật toán k-means thực hiện Thuật toán CBIC, cho kết quả hiệu quả hơn là

thực hiện k-means từ tập đối tượng có thuộc tính mở rộng

Ví d ụ minh h ọ a CSDL h ướ ng đố i t ượ ng và t ậ p truy v ấ n

Xét cấu trúc phân lớp trong một CSDL của một trường đại học:

Các truy vấn sau thực hiện trên các lớp của CSDL cho ở trên:

q1: cho biết tất cả các sinh viên tốt nghiệp đã ghi tên vào khoa Component

a i điều kiện ban đầu của đối tượng O i

'

i i i n in

=

Trang 5

Oriented Programming và khoa Intelligent Systems, q1 = (Grad, Grad.Dept in (“Component Oriented Programming”, “Intelligent Systems”) ).

q2: cho biết tất cả các sinh viên chưa tốt nghiệp đã ghi tên vào khoa Computer Science và có điểm trung bình từ 7 đến 10, q2 = (UnderGrad, UnderGrad.Dept like

“CS%” and UnderGrad.Grade between 7 and 10)

q3: cho biết tất cả các sinh viên chưa tốt nghiệp ghi tên vào khoa Computer Science và khoa Mathematics có tuổi lớn hơn 24, q3 = (UnderGrad, (UnderGrad.Dept like “Math%” or UnderGrad.Dept like “CS%”) and UnderGrad.Age >=24)

q4: cho biết tất cả những nghiên cứu sinh đã viết ít nhất 2 bài báo, q4 = (Researcher, Researcher, count(Researcher Doc) >=2

q5: cho biết tất cả các giảng viên làm việc trong khoa Component Oriented Programming hoặc khoa Intelligent Systems và có lương cao hơn 40.000, q5 : (Prof, Prof Dept in (“Component Oriented Programming“, “Intelligent Systems“) và Prof Salary

>=40.000

q6: cho biết tất cả các giảng viên có bài đăng trên ấn phNm IEEE hoặc ACM, q6

= (Prof, Prof.Doc.Pulisher in (“IEEE”, “ACM”)

q7: cho biết tất cả các sinh viên thi trượt, q7 = (Student, Student.Grade <=5)

q8: cho biết tất cả những nhân viên có lương cao hơn 35.000, q8 = (Employee, Employee.Salary > 35.000)

q9: cho biết tất cả các sinh viên đã tốt nghiệp có đăng ít nhất 1 bài báo, q9 = (Grad, Grad.count(Grad.Doc)>=1)

q10: cho biết tất cả các đội ngũ nhân viên có lương cao hơn 12.000, q10 = (Staff, Staff.Salary > 12.000)

q11: cho biết tất cả các nghiên cứu sinh viết số bài báo ít hơn số bài báo trung bình của các nghiên cứu sinh, q11 = (Researcher, Researcher.Count(Paper) < Avg( Researcher.Count(Paper) )

q12: cho biết tất cả các sinh viên đã tốt nghiệp lập gia đình, q12 = (Grad, Grad.MaritalStatuss=”married”)

q13 : cho biết tất cả các sinh viên chưa tốt nghiệp ghi tên vào khoa Mathematics

và khoa Computer Science, q13 = (Undergraduate, Undergraduate.Dept like “Math-CS%”)

q14: cho biết tất cả những người có tuổi lớn hơn 30, q14 = (Person, Person, Person.Age > 30)

q15 : cho biết tất cả các trợ giảng có tuổi lớn hơn 28, q15 = (Prof, Prof.Position =

“assistant professor” and Prof.age > 28)

Trang 6

q16 : cho biết tất cả các sinh viên có quốc tịch Hungary hoặc Đức, q16 = (Student, Student.Nationality in (“ hungarian”, “ german”)

Các truy vấn từ q1 đến q12 là những truy vấn ban đầu – có được từ phân mảnh ngang và lược đồ phân phối khởi tạo: Q init= {q1, …., q12} Các truy vấn từ q13đến q16 là các truy vấn mới vào hệ thống, và phân mảnh đang tồn tại phải thích ứng để phù hợp và

để tối ưu hóa tập ứng dụng mới: Q new = Q init ∪ {q13, …, q16}

III Phương pháp phân nhóm gia tăng dựa trên phân cấp nhân (Hieararchical Core

Phân lớp là phương pháp phân biệt các nhóm bên trong một tập các đối tượng

thực hiện trên tập các đặc tính hoặc thuộc tính có liên quan của đối tượng Việc phân nhóm được thực hiện trên tập các đặc tính hoặc thuộc tính có liên quan của đối tượng Các đối tượng bên trong một nhóm được xem là gần nhau hơn các đối tượng trong nhóm khác nhờ vào khái niệm độ tương tự Độ tương tự giữa các đối tượng được đo

bằng hàm khoảng cách hoặc bán khoảng cách trên các giá trị thuộc tính mô tảđối tượng

Phương pháp phân nhóm phân cấp biểu diễn lớp chính của kỹ thuật phân nhóm

Có 2 kiểu phân nhóm phân cấp Cho trước một tập gồm n đối tượng và một số k, k≤n,

phương pháp dưới lên (bottom-up) bắt đầu với n singleton (tập hợp chỉ có 1 thành phần),

trộn chúng lại với nhau cho đến khi đạt được số lượng các nhóm k mong muốn Tại mỗi

bước, 2 nhóm tương tự nhau nhất được chọn để trộn Còn phương pháp trên xuống

(top-down) bắt đầu từ một nhóm chứa tất cả n đối tượng và chia nó cho đến khi đạt được số

lượng các nhóm k mong muốn

Nói chung, các phương pháp này bắt đầu với tập các đối tượng biết trước, đo trên một tập các thuộc tính biết trước Nhưng có nhiều ứng dụng có tập đối tượng là

động, hoặc tập thuộc tính mô tả các đối tượng liên quan được mở rộng ra Do đó, để có

được phân lớp đối tượng trong các điều kiện này, thuật toán phân nhóm có thể phải thực

hiện nhiều lần, bắt đầu từ tập các đối tượng ban đầu, và mỗi lần khi các đối tượng hoặc thuộc tính thay đổi lại thực hiện lại thuật toán Rõ ràng điều này là kém hiệu quả Vì vậy, chúng tôi trình bày trong bài báo này phương pháp phân nhóm gia tăng dựa trên phương pháp phân cấp nhân có thể phân lớp lại tập đối tượng khi tập thuộc tính tăng lên Đầu tiên, chúng ta dùng thuật toán HCA (Hieararchical Clustering Algorithm) [7] để phân chia thành các nhóm, sau đó, khi thuộc tính thay đổi (được mở rộng) thì chúng ta áp

dụng thuật toán HCBIC (Hieararchical Core Based Incremental Clustering) Điều này

sẽ hiệu quả hơn khi thực hiện lại thuật toán HCA trên tập đối tượng có thuộc tính được

mở rộng

3.1 Định nghĩa

Cho {O 1 , O 2 , …, O n} là tập các đối tượng được phân lớp Mỗi đối tượng được đo

với tập m các thuộc tính khởi tạo và mô tả bởi m vector đa chiều Oi = (Oi1, …, Oim),

Oik∈ ℜ, 1≤ i ≤ n, 1 ≤ k ≤ m Thông thường, thuộc tính liên quan tới các đối tượng đều

Trang 7

được chuNn hóa đểđảm bảo độđo của chúng là bằng nhau [3]

Cho {K1, K2, …, Kp} là tập các nhóm có được khi áp dụng thuật toán HCA Mỗi

một nhóm là một tập các đối tượng {O ,O , ,O }1 2

j

K = , 1 j p Tâm nhóm Kj biểu

diễn giá trị trung bình của nhóm và được xác định bởi:

1

1 , , 1

j

O O f

n n

=

Ta sử dụng hàm khoảng cách d cho các đối tượng phân biệt, cụ thể là dùng hàm khoảng cách Euclide:

d( Oi, Oj) = dE(Oi, Oj) = 2

1

m

l

=

Việc đo các thuộc tính được thực hiện sau khi mở rộng s (s ≥ 1) thuộc tính mới,

được ký hiệu là (m+1), (m+2),…, (m+s) Sau khi mở rộng, vector của đối tượng trở

thành O i ’ = (O i1 , …, O im , O im+1 , …O im+s ), 1 i n

Lấy điểm bắt đầu trong bước phân lớp trước bên trong nhóm và xét trong các

điều kiện đó đối tượng mở rộng j'

i

O còn đúng khi đặt nó trong nhóm Kj’ của nó hay không Để làm được điều đó, chúng ta biểu diễn các khoảng cách fj của j'

i

O tới các tâm

cũ của nó và fj’ tới tâm các nhóm mới rồi so sánh với các khoảng cách tới các tâm fr và

fr’ của một nhóm bất kỳ khác 1 r p, rj Nếu các đối tượng trong nhóm j thỏa mãn các điều kiện và độ tương tự đủ lớn để được giữ cùng với nhau, chúng ta giữ chúng trong một nhóm Các đối tượng còn lại trong nhóm j (những đối tượng này không thỏa mãn các điều kiện trên) sẽđược trích ra và được phân phối từng đối tượng một vào tập

hợp một phần tử của nó Tiến trình điều chỉnh nhóm này sẽ trả về kết quả là một số các

nhóm k’, k k’ n Để có lại được k nhóm đích, chúng ta tiếp tục trộn các nhóm theo cùng cách như thuật toán HCA Nhưng khi chúng ta không bắt đầu lại từ tập hợp một

phần tử, số các bước sẽ giảm đi đáng kể

Định lý:

Nếu ( j, ) ( j, ), , ,1 , ,

d O fd O fj rj rp rj (1)

và 1 , {m+1, m+2, , m+s}

j

n kl k il

j

O

n

=

(2)

đúng với đối tượng Oj'

i và nhóm '

j

K của nó thì đối tượng Oj'

i gần với tâm

'

j

f của nó hơn các tâm '

r

f của nhóm khác, 1≤ j r, ≤ p r, ≠ j

Trang 8

Chứng minh:

Sử dụng bất đẳng thức (1), ta có :

1

m s

+

= +

Nếu bất đẳng thức (2) đúng với mọi thuộc tính của Oj'

i thì bất đẳng thức trên trở

thành:

2

1

m s

+

= +

d fd f ≤0

Vì tất cả các khoảng cách là các số không âm nên:

d fd fr ≤ ≤r p rj

Điều kiện (1) trong định lý đòi hỏi đối tượng O iK j, ở bước cuối cùng của tiến trình phân nhóm đầu tiên (khởi tạo), là gần hơn với tâm nhóm của nó hơn tâm của nhóm

bất kỳ nào khác Tất cả các đối tượng O iK jthỏa mãn bất đẳng thức (1) và có các mở

rộng đối tượng thỏa mãn điều kiện (2), là có độ tương tựđủ lớn với các đối tượng khác cùng nhóm và không tương tự với các đối tượng trong các nhóm khác sau khi mở rộng

tập thuộc tính

3.2 Thuật toán HCBIC

Chúng ta dùng các tính chất và định nghĩa ở phần trên để xác định trong mỗi nhóm, những đối tượng nào vẫn được giữ lại với nhau mà không di chuyển sang các nhóm khác Các đối tượng này là kết quả của sự mở rộng tập thuộc tính, và chúng hình

Trang 9

thành nên cái gọi là nhân của nhóm

a, Đặt or { j'| j' ', j

StrongC e = O OK O thỏa bất đẳng thức (1) và j'

i

O thỏa các

bất đẳng thức (2)}

là tập các đối tượng trong '

j

K (trước khi mở rộng) gần với tâm nhóm của chúng

hơn với tâm của bất kỳ nhóm nào khác và sau khi mở rộng, mỗi một thuộc tính mới l

thỏa mãn bất đẳng thức (2), m+ ≤ ≤1 l m+s

b, ( j')

i

sat O là tập tất cả các thuộc tính mới l, m+ ≤ ≤1 l m+scủa đối tượng

'

j

i

O thỏa mãn bất đẳng thức (2)

eakC e = O OK O thỏa bất đẳng thức (1) và

'

| ( ) |

j

n

j k

i

j

sat O sat O

n

=

Tập thuộc tính của các đối tượng trong '

j

K thỏa mãn bất đẳng thức (1) trước khi

mở rộng; và sau khi mở rộng thì ít nhất là trung bình cộng thuộc tính mới của các đối

tượng trong '

j

K thỏa mãn bất đẳng thức (2)

c) Core j =StrongC eor jnếu StrongC e ≠ ∅or j , nếu không thì Core j =weakCore j

'

or j j \ Cor j

OC e =K e là tập các đối tượng ngoài nhân trong nhóm '

j

K

Với mỗi thuộc tính mới l, m+ ≤ ≤1 l m+s và mỗi nhóm '

j

K có ít nhất một đối

tượng thỏa bất đẳng thức (2) tương ứng với thuộc tính l Đó là đối tượng có giá trị thuộc

tính l lớn nhất trong số các đối tượng trong '

j

K chắc chắn thỏa quan hệ (giá trị lớn nhất trong một tập hợp lớn hơn hoặc bằng giá trị trung bình của tập hợp đó) Nhưng không

đảm bảo trong nhóm '

j

K có đối tượng thỏa quan hệ (2) cho tất cả các thuộc tính mới

m+1,…, m+s. Nếu có các đối tượng như vậy thỏa bất đẳng thức (1) (StrongC e ≠ ∅or j ) thì theo định lý trên, chúng gần với tâm nhóm '

j

f hơn với bất kỳ một tâm nhóm '

r

f nào khác, 1≤ ≤r p r, ≠ j Sau đó, Core j sẽ được lấy bằng với StrongC eor j, và sẽ là tâm

của nhóm j trong thuật toán gia tăng Nhưng nếu StrongC e = ∅or j thì ta sẽ chọn là tâm nhóm j cho đối tượng ổn định (không thay đổi) nhất trong số các đối tượng trong '

j

K Các đối tượng này ( weakCore j) có thể ít thay đổi nhất trong số các đối tượng trong

or j

StrongC e Tuy nhiên, điều này là không chắc chắn vì: các đối tượng trong tập “yếu

hơn” weakCore jcó thể lại thích hợp như các đối tượng trong StrongC eor j, đó là do ta

thấy điều kiện (2) trong định lý biểu diễn điều kiện đủ cho các đối tượng trong '

j

K

Trang 10

gần với '

j

f hơn với tâm nhóm '

r

f nào khác, nhưng không phải là điều kiện đủ Các nhân của nhóm sẽ là các nhóm mới trong tiến trình phân nhóm gia tăng Thuật toán phân nhóm gia tăng dựa trên phân cấp nhân và sẽ dừng khi đạt được

số các nhóm mong muốn

Input:

- X ={ , ,O1 O n}: tập m các đối tượng được phân nhóm trước đó

- Tập ' '

1

X'={O , ,O n}: tập m+s các đối tượng mở rộng được phân nhóm, '

i

O

cùng m thành phần đầu tiên như O i,

- Khoảng cách dE giữa các đối tượng trong không gian đa chiều,

- p: số lượng các nhóm mong muốn,

- K={ , ,K1 K p}: tập các đối tượng được phân lớp trước đó trong X

1

K'={ , ,K K p}cho các đối tượng trong X’

Thuật toán được mô tả như sau (theo ngôn ngữ “tựa” Pascal):

Begin

For tất cả các nhóm Kj ∈K do Tính Core j = (StrongCore j≠ ∅) ?

StrongCore j :=WeakCore j

Tính Ocore j = K j \ Core j

EndFor

C = ∅ //tập hợp nhóm hiện thời

For i=1 to p do

If Core i≠ ∅

C = C ∪ {Core j} EndIf

For tất cả O ∈ Ocore j do

C = C ∪ {O} //thêm một tập hợp một phần tử vào C EndFor

EndFor

While |C| > p do

(C u*,C v*) : arg in( ,= m C C d C C u v) ( ,E u v)

w

C =CC

w

\{ u , v ) { ne }

C=C C+ C+ ∪ C

EndWhile

K =C '

End

Ngày đăng: 23/07/2014, 00:22

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm