Input
D - Tập dữ liệu
C - Bộ phân lớp sử dụng kỹ thuật học máy
- Mức tăng tỷ lệ lỗi tối thiểu
Output
Tập con các thuộc tính được lựa chọn
Begin
1: Initialize:
2: S = Tập tất cả các thuộc tính của tập dữ liệu D
3: R = #Tập các thuợc tính cần loại bỏ
4: FindNoise (S, D, C)
5: Return S \ R End
FindNoise (S, D, C) #Thủ tục tìm các thuợc tính nhiễu hoặc dư thừa
6: N = Số các thuộc tính S
7: Huấn luyện bộ phân lớp C với các thuộc tính S trên tập dữ liệu D 8: e = Tỷ lệ lỗi của bộ phân lớp C khi kiểm tra, đánh giá
10: S1 = S \ {si}
11: Huấn luyện bộ phân lớp C với các thuộc tính S1 trên tập dữ liệu D 12: If Tỷ lệ lỗi của bộ phân lớp C < e+ then
13: R = R {si}
14: FindNoise (S1, D, C)
15: End if
16: End for
17: Return #Kết thúc thủ tục FindNoise
End FindNoise
Mệnh đề 1: Thuật tốn 3.1 cĩ độ phức tạp theo thời gian là 𝑂(𝑁!), N là số thuộc tính
của tập dữ liệu. Chứng minh:
Gọi 𝑇(𝑁) là thời gian thực hiện của thuật tốn.
Theo các lệnh chính từ (9) đến (16) ta cĩ do sự đệ quy của thuật tốn: 𝑇(𝑁) = 𝑁 × 𝑇(𝑁 − 1) Từ đây suy ra 𝑇(𝑁) = 𝑁 × (𝑁 − 1) × 𝑇(𝑁 − 2) Hay 𝑇(𝑁) = 𝑁 × (𝑁 − 1) × (𝑁 − 2) ×. . .× 𝑇(1) = 𝑁! × 𝑇(1) Vậy 𝑇(𝑁) = 𝑂(𝑁!)
3.1.3 Thuật tốn chọn thuợc tính thuận FFC
Thuật tốn chọn thuộc tính thuận (Forward Feature Construction: FFC) [136] cũng được đề xuất trên cơ sở giả định là các thuộc tính của tập dữ liệu độc lập với nhau, được trình bày ở Thuật tốn 3.2. Đây là quá trình ngược lại với thuật tốn loại bỏ thuộc tính ngược. Ta bắt đầu với 1 thuộc tính duy nhất, sau đĩ tăng dần 1 thuộc tính tại một thời điểm, thuộc tính tạo ra hiệu suất tăng cao nhất sẽ được chọn để bổ sung vào tập thuộc tính kết quả. Cả hai thuật tốn, loại bỏ thuộc tính ngược và chọn thuộc tính thuận, đều mất thời gian và tính tốn tốn kém. Chúng thực tế chỉ cĩ thể áp dụng cho các tập dữ liệu với số lượng thuộc tính đầu vào tương đối thấp [136].