Đánh giá hiệu quả thuật toán

Một phần của tài liệu Nâng cao hiệu quả phát hiện mã độc sử dụng các kỹ thuật học máy (Trang 34 - 38)

Trong thực tế, chúng ta cần áp dụng nhiều thuật toán học máy để chọn ra mô hình phù hợp nhất cho bài toán của mình. Vấn đề đặt ra là làm thế nào để đạt được một đánh giá đáng tin cậy về hiệu quả của mô hình và chọn ra mô hình phù hợp. Ngoài các thuật toán học máy thì hiệu quả của mô hình còn phụ thuộc vào một số yếu tố khác như sự phân phố của lớp (class distribution), chi

phí của việc phân lớp sai (Cost of misclassification), kích thước của tập huấn luyện (Size of the training set), kích thước của tập kiểm thử (Size of the testing set). Trong phần này tôi sẽ trình bày một số phương pháp đánh giá hiệu quả của thuật toán như: ma trận nhầm lẫn (Confusion maxtrix), hold-out, kiểm tra chéo (Cross-validation), Stratified sampling

2.4.1. Ma trận nhầm lẫn (Confusion maxtrix):

Ma trận nhầm lẫn chỉ được sử dụng đối với các bài toán phân loại, không thể áp dụng với các bài toán hồi quy, ví dụ ma trận nhầm lẫn như sau:

Lớp 𝐶𝑖 Lớp được dự đoán bởi hệ thống Thuộc Không thuộc

Phân lớp thực sự (đúng) Thuộc 𝑇𝑃𝑖 𝐹𝑁𝑖

Không thuộc 𝐹𝑃𝑖 𝑇𝑁𝑖

Các thông tin trong ma trận nhầm lẫn ta có các thông tin như:

𝑇𝑃𝑖 (𝑇𝑟𝑢𝑒 𝑝𝑜𝑠𝑖𝑡𝑖𝑣𝑒): Số lượng mẫu thuộc lớp dương được phân chính

xác vào lớp dương

𝐹𝑃𝑖 (𝐹𝑎𝑙𝑠𝑒 𝑝𝑜𝑠𝑖𝑡𝑖𝑣𝑒): Số lượng mẫu không thuộc lớp dương bị phân loại

nhầm vào lớp dương

𝑇𝑁𝑖 (True negative): Số lượng các mẫu không thuộc lớp dương được phân loại đúng

𝐹𝑁𝑖 (𝐹𝑎𝑙𝑠𝑒 𝑛𝑒𝑔𝑎𝑡𝑖𝑣𝑒): Số lượng mẫu thuộc lớp dương được phân vào lớp

âm (phân loại sai).

Từ đây độ chính xác của mô hình được tính như sau:

o Precision đối với lớp 𝐶𝑖: bằng tổng số các mẫu thuộc lớp 𝐶𝑖 được phân loại chính xác chia cho tổng số các mẫu được phân loại vào lớp 𝐶𝑖

Precision(𝐶𝑖) = 𝑇𝑃𝑇𝑃𝑖

𝑖 +𝐹𝑃𝑖

o Recall đối với lớp 𝐶𝑖: bằng tổng sổ các mẫu thuộc lớp 𝐶𝑖 được phân loại chính xác tổng số các mẫu thuộc lớp 𝐶𝑖

Recall(𝐶𝑖) = 𝑇𝑃𝑖 𝑇𝑃𝑖 +𝐹𝑁𝑖

O F1: tiêu chí đánh giá 𝐹1là sự kết hợp của 2 tiêu chí đánh giá Precision và Recall: 𝐹1 =2.𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛.𝑅𝑒𝑐𝑎𝑙𝑙 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛+𝑅𝑒𝑐𝑎𝑙𝑙 = 1 1 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 + 1 𝑅𝑒𝑐𝑎𝑙𝑙

𝑭𝟏 là một trung bình điều hòa của các tiêu chí Precision và Recall. 𝑭𝟏 có xu hướng lấy giá trị gần với giá trị nào nhỏ hơn giữa 2 giá trị Precision và Recall. 𝑭𝟏 có giá trị lớn nếu cả 2 giá trị Precision và Recall đều lớn.

2.4.2. Phương pháp Hold-out

Toàn bộ tập mẫu D được chia thành 2 tập con không giao nhau, tập huấn luyện D_train để huấn luyện mô hình, tập kiểm thử D_test để đánh giá hiệu quả của mô hình đã học vì vậy D = D_train ᴗ D_test và thường |D_train| >> |D_test|. Các yêu cầu đặt ra đối với phương pháp Hold-out như sau:

 Bất kỳ mẫu nào thuộc vào tập kiểm thử D_test đều không được sử dụng vào quá trình huấn luyện mô hình.

 Bất kỳ mẫu nào được sử dụng trong quá trình huấn luyện hệ thống D_train đều không được sử dụng vào đánh giá mô hình.

 Các mẫu kiểm thử trong tập D_test cho phép đánh giá một cách khách quan về hiệu quả của mô hình.

Các tỷ lệ thường gặp khi phân chia dữ liệu để huấn luyện và kiểm thử mô hình là: ||D_train| = (2/3) và |D_test| = (1/3).

2.4.3. Lấy mẫu phân tầng (Stratified sample)

Đối với các tập mẫu có kích thước nhỏ hoặc không cân xứng, các tập mẫu trong tập huấn luyện và kiểm thử có thể không phải là đại diện. Ví dụ, có rất ít hoặc không có các mẫu đối với một số lớp do đó mục đích phân bố lớp trong tập huấn luyện và trong tập kiểm thử phải xấp xỉ như trong toàn bộ các mẫu trong tập D. Lấy mẫu phân tầng là một phương pháp để cân xứng về phân bố phân lớp và đảm bảo tỷ lệ phân bố giữa các lớp trong tập huấn luyện và kiểm thử phải xấp xỉ nhau. Phương pháp lấy mẫu phân tầng không áp dụng

được cho bài toán học máy dự đoán/hồi quy do đầu ra của mô hình là một giá trị số, không phải là nhãn của lớp.

2.4.4. Kiểm tra chéo (Cross-validation)

Để tránh việc trùng lặp giữa các tập kiểm thử do một số mẫu cùng xuất hiện trong các mẫu kiểm thử khác nhau ta sử dụng một số phương pháp như sau:

Kiểm tra chéo k-fold (k-fold cross-validation): toàn bộ các mẫu D được chia thành k tập con không giao nhau (gọi là “fold”) có kích thước xấp xỉ nhau. Mỗi lần trong số k lần lặp, một tập con được sử dụng làm tập kiểm thử và k-1 tập con còn lại được sử dụng làm tập huấn luyện. K giá trị lỗi (mỗi giá trị tương ứng với một fold) được tính trung bình cộng để thu được giá trị tổng thể. Các tùy chọn thông thường của k là 10 hoặc 5, mỗi tập con (fold) được lấy mẫu xấp xỉ phân bố lớp trước khi áp dụng quá trình đánh giá kiểm tra chéo và phương pháp này phù hợp khi các mẫu D vừa và nhỏ.

CHƯƠNG 3: PHƯƠNG PHÁP ÁP DỤNG HỌC MÁY VÀO PHÂN TÍCH MÃ ĐỘC

Chương này sẽ tập trung đề cập đến việc lựa chọn phương pháp trích xuất đặc trưng từ tiêu đề (header) và từ tải (payload) của gói tin mạng trên cơ sở áp dụng cùng một thuật toán học máy có giám sát Oneclass SVM vào việc phát hiện và phân loại mã độc.

Một phần của tài liệu Nâng cao hiệu quả phát hiện mã độc sử dụng các kỹ thuật học máy (Trang 34 - 38)

Tải bản đầy đủ (PDF)

(50 trang)