Xây dựng thuật toán filter tìm tập rút gọn của bảng quyết định không đầy

Một phần của tài liệu Luận văn Thạc sĩ Nghiên cứu thuật toán filterwrapper tìm tập rút gọn của bảng quyết định không đầy đủ và ứng dụng phát hiện tàu thuyền từ ảnh vệ tinh (Trang 32 - 34)

7. Bố cục của luận văn

2.3.1.Xây dựng thuật toán filter tìm tập rút gọn của bảng quyết định không đầy

1) D B B( ,  d )=D C C( ,  d )

2)  b B D B, ( − b ,B− b  d )D C(  d )

thì B là một tập rút gọn của C dựa trên khoảng cách.

Định nghĩa 2.2. Cho bảng quyết định không đầy đủ IDS=(U C,  d ) với BC

b −C B. Độ quan trọng của thuộc tính b đối với B được định nghĩa bởi ( ) ( ,  ) (  ,    )

B

SIG b =D B BdD Bb Bbd

Từ Mệnh đề 2.4 ta có SIGB( )b 0. Độ quan trọng SIGB( )b đặc trưng cho chất lượng phân lớp của thuộc tính b đối với thuộc tính quyết định d và được sử dụng làm

tiêu chuẩn lựa chọn thuộc tính cho thuật toán heuristic tìm tập rút gọn.

2.3.1. Xây dựng thuật toán filter tìm tập rút gọn của bảng quyết định không đầy đủ đủ

Tiếp theo, xây dựng thuật toán heuristic tìm tập rút gọn theo tiếp cận filter truyền thống. Ý tưởng của thuật toán là xuất phát từ tập rỗng B:= , lần lượt bổ sung vào tập B

các thuộc tính có độ quan trọng lớn nhất cho đến khi tìm được tập rút gọn.

Thuật toán IDS_F_DAR (Filter - Distance based Attribute Reduction in Incomplete

Decision Tables): Thuật toán filter tìm một tập rút gọn xấp xỉ sử dụng khoảng cách.

Đầu vào: Bảng quyết định không đầy đủ IDS=(U C,  d ).

Đầu ra: Một tập rút gọn B của IDS

1. Đặt B:= ; SB( )u =U với  u U;

2. Tính ma trận dung sai M B( ), M C( ), M( ) d , khoảng cách D B B( ,  d )

, D C C( ,  d );

// Bổ sung lần lượt các thuộc tính có độ quan trọng lớn nhất vào B

3. While D B B( ,  d )D C C( ,  d ) do 4. Begin

5. Với mỗi a −C B tính

SIGB( )a = D B B( ,  d )−D B(  a ,B   ad ); 6. Chọn am −C B sao cho B( )mB( )

a C B

SIG a Max SIG a

 −

= ;

7.

B:= B  am ;

8.

Tính ma trận dung sai M B( ), khoảng cách D B B( ,  d ); 9. End;

// Loại bỏ các thuộc tính dư thừa trong B nếu có

10. Với mỗi aB 11. Begin 12. Tính D B( − a ,B− a  d ); 13. If D B( − a ,B− a  d )=D C C( ,  d ) then B:= −B  a ; 14. End; 15. Return B;

Tiếp theo, đánh giá độ phức tạp của thuật toán IDS_F_DAR. Ký hiệu C U, tương ứng là số thuộc tính điều kiện và số đối tượng của DS. Độ phức tạp tính ma trận dung sai, khoảng cách trong câu lệnh 2 là ( 2)

*

O C U . Xét vòng lặp While từ câu lệnh 3 đến 9, để tính SIG aB( ) ta phải tính D B(  a B,    ad ) vì D B B( ,  d ) đã được tính ở bước trước. Độ phức tạp để tính D B(  a B,    ad ) khi biết D B B( ,  d ) là ( )2

O U . Do có hai vòng lặp lồng nhau theo C nên độ phức tạp của vòng lặp While là ( 2 2)

*

O C U

. Do đó, độ phức tạp của thuật toán IDS_F_DAR là ( 2 2)

*

O C U .

Ví dụ 2.1. Xét bảng quyết định cho ở Bảng 2.1

Bng 2.1. Bảng quyết định của Ví dụ 2.1

Ô tô Đơn giá Km đã đi Kích thước Tốc độ tối đa

d

1

u Cao Cao Đầy đủ Thấp Tốt

2

u Thấp * Đầy đủ Thấp Tốt

3

u * * Gọn nhẹ Cao Xấu

4

5

Một phần của tài liệu Luận văn Thạc sĩ Nghiên cứu thuật toán filterwrapper tìm tập rút gọn của bảng quyết định không đầy đủ và ứng dụng phát hiện tàu thuyền từ ảnh vệ tinh (Trang 32 - 34)