Input
D - Tập dữ liệu
C - Bộ phân lớp sử dụng kỹ thuật học máy
Output
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 tớt nhất được lựa chọn
4: bq = 0 #Hiệu quả phân lớp tớt nhất 5: FindBest (S, D, C)
6: Return R End
FindBest (S, D, C) #Thủ tục tìm các thuợc tính tớt nhất
7: best =
8: For each si {S} do
9: R1 = R {si}
10: Huấn luyện bộ phân lớp C với các thuộc tính R1 trên tập dữ liệu D 11: If Hiệu quả phân lớp của C > bq then
12: bq = Hiệu quả phân lớp của C
13: best = si 14: End if 15: End for 16: if best then 17: R = R best 18: FindBest (S \ R, D, C) 19: End if
20: Return #Kết thúc thủ tục FindBest
End FindBest
Mệnh đề 2: Thuật tốn 3.2 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ừ (8) đến (19) 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.4 Thuật tốn lựa chọn thuợc tính đề xuất
Như đã trình bày ở trên, đối với tập dữ liệu cĩ N thuộc tính, nếu BFE hoặc FFC được sử dụng để chọn tập hợp các thuộc tính tối ưu, thì độ phức tạp về thời gian của thuật tốn sẽ là 𝑂(𝑁!) (Theo Mệnh đề 1 và Mệnh đề 2). Điều này khơng phù hợp với các tập dữ liệu cĩ nhiều thuộc tính. Hơn thế nữa, BFE và FFC chỉ phát huy hiệu quả khi các thuộc tính của tập dữ liệu là độc lập với các thuộc tính khác. Tuy nhiên, với một số thuộc tính khơng độc lập và chúng chỉ thực sự phát huy hiệu quả khi kết hợp cùng nhau, thì về mặt này BFE và FFC cịn hạn chế. Để giải quyết các hạn chế đã nêu của BFE và FFC, chúng tơi đề xuất 3 nội dung:
(1) Kết hợp BFE và FFC với việc xếp hạng các thuộc tính để giảm thời gian và chi phí tốn, điều này đặc biệt phù hợp với các tập dữ liệu lớn;
(2) Cĩ xem xét sự tương quan giữa các thuộc tính khi bổ sung hoặc loại bỏ một thuộc tính. Điều này nhằm giải quyết các hạn chế của BFE và FFC với các tập dữ liệu cĩ các thuộc tính khơng độc lập với các thuộc tính khác;
(3) Thứ tự chọn bổ sung hoặc loại bỏ một thuộc tính căn cứ vào xếp hạng của thuộc tính trong tập hợp. Việc xếp hạng của các thuộc tính căn cứ vào mức độ liên quan của thuộc tính với nhãn lớp. Các nghiên cứu khác nhau [34] đã đề xuất các cách hiểu và phép đo khác nhau về tầm quan trọng và mức độ liên quan của một thuộc tính. Trong luận án chúng tơi đề nghị sử dụng các chỉ số đo: độ lợi thơng tin, tỷ suất lợi ích và hệ số tương quan của thuộc tính với nhãn lớp để xếp hạng các thuộc tính.
Để tìm tập các thuộc tính tối ưu phù hợp nhất với mỗi kiểu tấn cơng cũng như phương pháp học máy. Trước tiên, tùy kiểu tấn cơng, các thuộc tính sẽ được tính tốn và xếp hạng dựa vào độ lợi thơng tin (Information Gain: IG), tỷ suất lợi ích (Gain Ratio: GR) và hệ số tương quan thuộc tính (Correlation Attribute: CA) theo Định nghĩa 2, Định nghĩa 3 và Định nghĩa 4. Sau đĩ, các thuật tốn lựa chọn thuộc tính đề xuất được sử dụng để lựa chọn các thuộc tính tối ưu phù hợp nhất ứng với từng kiểu tấn cơng cũng như phương pháp học máy.
Luận án đề xuất hai thuật tốn. Thuật toán thứ nhất ký hiệu là mFFC, là thuật tốn sử dụng mơ hình gĩi (wrapper) cải tiến từ thuật tốn lựa chọn thuộc tính thuận (Forward Feature Construction: FFC) kết hợp với việc xếp hạng của các thuộc tính, đồng thời cĩ xem xét sự tương quan giữa các thuộc tính. Thuật tốn xuất phát từ tập các thuộc tính rỗng, sau đĩ các thuộc tính sẽ lần lượt được chọn để bổ sung nếu việc bổ sung thuộc tính đĩ giúp cải thiện chất lượng phân lớp của hệ thống. Ngồi ra, các thuộc tính tương quan với thuộc tính được chọn để bổ sung trong tập các thuộc tính đã chọn cũng được xem xét loại bỏ nếu việc loại bỏ đĩ cũng giúp cải thiện chất lượng phân lớp của hệ thống. Các thuộc tính cĩ độ quan trọng cao hơn sẽ được chọn để bổ sung trước. Độ quan trọng của thuộc tính được sử dụng ở đây gồm: IG, GR và CA.
Thuật toán thứ hai ký hiệu là mBFE, là thuật tốn sử dụng mơ hình gĩi cải tiến từ
thuật tốn loại bỏ thuộc tính ngược (Backward Feature Elimination: BFE) kết hợp với việc xếp hạng của các thuộc tính, đồng thời cĩ xem xét sự tương quan giữa các thuộc tính. Thuật tốn xuất phát từ tập đầy đủ các thuộc tính của tập dữ liệu, sau đĩ các thuộc tính sẽ lần lượt được chọn để loại bỏ nếu việc loại bỏ thuộc tính đĩ giúp cải thiện chất lượng phân lớp của hệ
thống. Ngồi ra, trước khi loại bỏ thuộc tính được chọn, các thuộc tính tương quan với thuộc tính được chọn trong tập các thuộc tính được chọn trước đĩ cũng được tính tốn và đánh giá để chọn thuộc tính cần loại bỏ tốt nhất. Các thuộc tính cĩ độ quan trọng thấp hơn sẽ được chọn để loại bỏ trước. Độ quan trọng của thuộc tính được sử dụng cũng là IG, GR và CA.
Mã giả của thuật tốn thứ nhất mFFC thể hiện ở Thuật tốn 3.3. Theo đĩ, trước tiên độ quan trọng của các thuộc tính trong tập dữ liệu UNSW-NB15 được tính và sắp xếp theo thứ tự giảm dần về độ quan trọng, độ quan trọng của các thuộc tính được sử dụng gồm: IG, GR và CA. Khởi đầu Sopt chỉ cĩ 1 thuộc tính, chỉ số đánh giá F-Measure đạt được khi huấn luyện và kiểm tra trên tập dữ liệu UNSW-NB15 với chỉ 1 thuộc tính, là giá trị khởi đầu cho hành trình tìm kiếm F-Measure tốt hơn ở các vịng lặp tiếp theo. Tại mỗi vịng lặp ở bước kế tiếp, các thuộc tính si S lần lượt được thêm vào Sopt để hình thành S1, các thuộc tính quan
trọng hơn (cĩ chỉ số đo thơng tin lớn hơn) được thêm vào trước. Tiếp theo, dữ liệu với các thuộc tính S1 được sử dụng để huấn luyện và kiểm tra các bộ phân lớp sử dụng các kỹ thuật học máy khác nhau. Kết quả kiểm tra các bộ phân lớp được thực hiện trên tập dữ liệu kiểm tra độc lập nằm trong tập dữ liệu UNSW-NB15. Chất lượng phân lớp của các bộ phân lớp được thể hiện qua chỉ số đánh giá F-Measure. Nếu F-Measure của bộ phân lớp được huấn
luyện với các thuộc tính S1 tốt hơn Sopt, là tập các thuộc tính cho F-Measure tốt nhất được lưu trữ trước đĩ, thì thuộc tính được bổ sung sẽ được ghi nhận. Sau đĩ, các thuộc tính tương quan với si trong Sopt được xem xét để loại bỏ nếu việc loại bỏ đĩ giúp nâng cao chỉ số F-Measure. Tập thuộc tính đạt được cuối cùng sẽ được gán cho Sopt. Ngược lại, thuộc tính được bổ sung sẽ bị loại bỏ, vì việc bổ sung thuộc tính này khơng cải thiện chất lượng phân lớp. Quá trình này sẽ được lặp lại cho đến khi tất cả các thuộc tính đều đã lần lượt được bổ sung để tìm ra tập các thuộc tính cho chỉ số đánh giá F-Measure tốt nhất là Sopt.
Mệnh đề 3: Thuật tốn 3.3 cĩ độ phức tạp theo thời gian là 𝑂 (𝑁×(𝑁−1)2 ), 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 từ (5) đến (20) ta cĩ: 𝑇(𝑁) = 𝑇(1) + 2 ∗ 𝑇(1) + ⋯ + (𝑁 − 1) ∗ 𝑇(1) Từ đây suy ra 𝑇(𝑁) = 𝑁 × (𝑁 − 1) 2 × 𝑇(1) Vậy 𝑇(𝑁) = 𝑂 (𝑁 × (𝑁 − 1) 2 )
Mã giả của thuật tốn thứ hai thể hiện ở Thuật tốn 3.4. Theo đĩ, trước tiên độ quan trọng của các thuộc tính trong tập dữ liệu UNSW-NB15 được tính và sắp xếp theo thứ tự giảm dần về độ quan trọng, độ quan trọng của thuộc tính được sử dụng gồm: IG, GR và CA. Khởi
đầu Sopt gồm đầy đủ các thuộc tính của tập dữ liệu, chỉ số đánh giá F-Measure đạt được khi huấn luyện và kiểm tra trên tập dữ liệu UNSW-NB15 với tất cả thuộc tính, là giá trị khởi đầu cho hành trình tìm kiếm F-Measure tốt hơn ở các vịng lặp tiếp theo. Tại mỗi vịng lặp ở bước kế tiếp, các thuộc tính si lần lượt được xem xét loại bỏ khỏi Sopt để hình thành S1, các thuộc tính ít quan trọng hơn (cĩ chỉ số đo thơng tin nhỏ hơn) sẽ được xem xét loại bỏ trước. Tiếp theo, dữ liệu với các thuộc tính S1 được sử dụng để huấn luyện và kiểm tra các bộ phân lớp sử dụng các kỹ thuật học máy khác nhau. Kết quả kiểm tra các bộ phân lớp cũng được thực hiện trên tập dữ liệu kiểm tra độc lập nằm trong tập dữ liệu UNSW-NB15. Chất lượng phân lớp của các bộ phân lớp được thể hiện qua chỉ số đánh giá F-Measure. Nếu F-Measure của bộ phân lớp được huấn luyện với các thuộc tính S1 tốt hơn Sopt, là tập các thuộc tính cho F-
Measure tốt nhất được lưu trữ trước đĩ, thì thuộc tính đĩ sẽ được xem xét loại bỏ. Sau đĩ, các
thuộc tính tương quan với si và cĩ độ quan trọng nhỏ hơn si trong Sopt sẽ được xem xét để loại bỏ thay cho si nếu việc loại bỏ đĩ giúp nâng cao chất lượng phân lớp (thể hiện qua chỉ số F-
Measure). Tập thuộc tính đạt được cuối cùng sẽ được gán cho Sopt. Ngược lại, thuộc tính bị
loại bỏ được phục hồi, vì việc loại bỏ thuộc tính này khơng cải thiện chất lượng phân lớp. Quá trình này sẽ được lặp lại cho đến khi tất cả các thuộc tính đều đã lần lượt được loại bỏ để tìm ra tập các thuộc tính cho chỉ số đánh giá F-Measure tốt nhất là Sopt.
Mệnh đề 4: Thuật tốn 3.4 cĩ độ phức tạp theo thời gian là 𝑂 (𝑁×(𝑁−1)
2 ), 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 từ (5) đến (17) ta cĩ: 𝑇(𝑁) = (𝑁 − 1) ∗ 𝑇(1) + (𝑁 − 2) ∗ 𝑇(1) + ⋯ + 𝑇(1) Từ đây suy ra 𝑇(𝑁) = 𝑁 × (𝑁 − 1) 2 × 𝑇(1) Vậy 𝑇(𝑁) = 𝑂 (𝑁 × (𝑁 − 1) 2 )