.12 Mơ hình học máy cho việc phát hiện tấn cơng DDoS

Một phần của tài liệu Nghiên cứu phương pháp phòng chống tấn công ddos (Trang 38 - 40)

Dưới đây là một danh sách các thuật tốn phổ biến, hay được sử dụng cho việc phát hiện tấn cơng DoS/DDOS

2.4.2.1. KNN

K-Nearest Neighbor (kNN) là một loại thuật tốn học cĩ giám sát sử dụng cho bài tốn classification và regression. Ý tưởng chính đằng sau kNN là giá trị hoặc lớp của điểm dữ liệu được xác định bởi các điểm dữ liệu xung quanh nĩ.

Việc tìm kiếm các điểm dữ liệu gần điểm dữ liệu cần phân loại nhất dựa trên Euclidean Norm (khoảng cách tiêu chuẩn của 2 điểm dữ liệu trong khơng gian vectơ). Sau khi tìm kiếm K điểm dữ liệu lân cận, KNN sử dụng kỹ thuật majority voting (bỏ phiếu đa số) để gắn nhãn điểm dữ liệu cần được phân loại. Ưu điểm của các thuật tốn KNN là độ phức tạp của việc huấn luyện bằng khơng. Hơn nữa, việc dự đốn kết quả của dữ liệu mới rất đơn giản và thuật tốn khơng cần giả sử về phân phối các lớp.

Ví dụ, nếu k đặt là 5, lớp của 5 điểm gần nhất được kiểm tra. Dự đốn được thực hiện theo lớp đa số (majority class). Tương tự, kNN regression lấy giá trị trung bình của 5 điểm gần nhất. Xem xét các điểm dữ liệu thuộc 4 lớp khác nhau trong ví dụ sau:

27

Hình 2.13 Thuật tốn kNN - Dữ liệu gốc [27]

Hình 2.14 Thuật tốn kNN - Giá trị dự đốn với k=1 [27]

Hình 2.15 Thuật tốn kNN - Giá trị dự đốn với k=5 [27]

Điều rất quan trọng là xác định một giá trị k tối ưu. Nếu k quá thấp, mơ hình quá cụ thể và khơng được khái quát hĩa tốt. kNN cũng cĩ xu hướng nhạy cảm với nhiễu (noise). Mơ hình đạt được độ chính xác cao trên tập dữ liệu được học nhưng sẽ là một dự đốn kém đối với các điểm dữ liệu mới chưa từng thấy trước đây.

28

Tình huống này gọi là overfit model. Mặt khác, nếu k quá lớn, mơ hình quá tổng quát, như thế sẽ khơng phải là một dự báo tốt trên cả tập huấn luyện và tập thử nghiệm. Tình huống này được gọi là underfit model.

kNN đơn giản và dễ cài đặt. Nĩ khơng đưa ra bất kỳ giả định nào để thực hiện trong các cơng việc phi tuyến tính. kNN trở nên rất chậm khi số lượng điểm dữ liệu tăng lên vì mơ hình cần lưu trữ tất cả các điểm dữ liệu. Do đĩ, thuật tốn này cũng khơng hiệu quả về bộ nhớ. Một nhược điểm khác của kNN là nĩ nhạy cảm với các yếu tố ngoại lai (outlier).

2.4.2.2. AdaBoost

AdaBoost là viết tắt của từ Adaptive Boosting. AdaBoost là một thuật tốn boosting dùng để xây dựng bộ phân lớp (classifier). Một classifier nhận vào một tập dữ liệu để học và cố gắng dự đốn hay phân lớp mẫu dữ liệu mới thuộc về phân lớp nào. Boosting là một thuật tốn học quần thể bằng cách xây dựng nhiều thuật tốn học cùng lúc, ví dụ như cây quyết định và kết hợp các thuật tốn này lại. Mục đích để cĩ một cụm hoặc một nhĩm các weak learner, sau đĩ kết hợp chúng lại để tạo ra 1 strong learner duy nhất.

AdaBoost là thuật tốn boosting được phát triển cho phân lớp nhị phân và là thuật tốn đầu tiên thực sự thành cơng. Kỹ thuật này được thực hiện thơng qua việc xây dựng một mơ hình từ dữ liệu huấn luyện, sau đĩ các mơ hình tiếp theo được tạo, cố gắng sửa các lỗi từ mơ hình đầu tiên. Các mơ hình được thêm vào cho đến khi tập huấn luyện được dự đốn hồn hảo hoặc số lượng mơ hình đạt ngưỡng cực đại. Weak learner phân loại với độ chính xác hầu như khơng cao, ví dụ phổ biến của weak learner là cây quyết định một cấp (decision stump). Ngược lại, strong leaner cho độ chính xác cao hơn.

Một phần của tài liệu Nghiên cứu phương pháp phòng chống tấn công ddos (Trang 38 - 40)