thuật toán bea (bond energy algorithm)
TRANSCRIPT
Cơ Sở Dữ Liệu Nâng Cao
Giảng viên hướng dẫn : TS Đặng Thị Thu Hiền
Sinh viên : Lương Bá Hợp MSSV 1105068
Lớp : Hệ Thống Thông Tin K52
Thuật Toán BEA
(Bond Energy Algorithm)
1
Tìm hiểu chung
2
Giới thiệu
Thuật toán năng lượng nối BEA (Bond Energy Algorithm )
Tác giả Hofer & Severance , 1975 và Navatheet al , 1984.
Ý nghĩa :
- Xác định các nhóm thuộc tính
- Độ phức tạp O(𝑛2)
- Không làm thay đổi kết quả tụ nhóm
3
Giới thiệu
Thuật toán thực hiện các hoán vị hàng , cộtsinh ra 1 ma trận ái lực CA (Cluster AfinityMaxtrix) .
Hoán vị được thực hiện sao cho số đo ái lựcchung AM ( Global Affinity Measure) là lớnnhất .
4
Giới thiệu
AM = 𝑖=1𝑛 𝑗=1
𝑛 [aff( 𝐴𝑖 , 𝐴𝑗−1 ) + aff( 𝐴𝑖 ,
𝐴𝑗+1 ) + aff( 𝐴𝑖−1 , 𝐴𝑗 ) + aff( 𝐴𝑖+1 , 𝐴𝑗 )]
Với aff( 𝐴0 , 𝐴𝑗 )=aff( 𝐴𝑛+1 , 𝐴𝑗 )=aff( 𝐴𝑖 ,
𝐴𝑛+1) = 0 cho mọi i,j
5
Giới thiệu
Hàm cực đại hoá chỉ xét những lân cận gầnnhất , vì thế các giá trị lớn được nhóm lại vớinhau .
Ma trận ái lực thuộc tính AA có đối xứng nênsố đo ái lực có thể rút gọn
AM = 𝑖=1𝑛 𝑗=1
𝑛 aff( 𝐴𝑖 , 𝐴𝑗 )[aff( 𝐴𝑖 ,
𝐴𝑗−1 ) + aff( 𝐴𝑖 , 𝐴𝑗+1 )]
6
Thuật toán
Quá trình sinh ma trận ái lực gồm 3 bước :
Bước 1 - Khởi gán : Đặt và cố định 1 trong cáccột của AA vào trong CA . Cột 1 được chọn
Bước 2 - Thực hiện lặp : Lấy lần lượt 1 trong n-1 cột còn lại (I là số cột đã được đặt vào CA ) vàthử đặt vào i+1 vị trí còn lại trong ma trận CA .
Chọn đặt sao cho AM là lớn nhất . Lặp đến hếtcác cột .
7
Giới thiệu
Quá trình sinh ma trận ái lực gồm 3 bước :
Bước 3 - Sắp thứ tự hàng : Khi thứ tự cột đãxác định , các hàng cũng cần đặt lại để các vị trítương đối cảu chúng phù hợp với các vị trítương đối của cột
8
Mô phỏng
9
DEMO
Chương trình được viết bằng ngôn ngữ Java , Phần mềm viết chương trình NetBean
Chương trình có dữ liệu đầu vào là 1 file text lưu kích cỡ ma trận , và các phần tử trong ma trận . Đầu ra là ma trận ái lực CA
10
Demo
11
Demo
12