.2 Các tham số mơ hình học máy được điều chỉnh

Một phần của tài liệu Nghiên cứu xây dựng hệ thống VSandbox trong phân tích và phát hiện mã độc IoT Botnet. (Trang 94 - 96)

Thuật tốn Tham số Mơ tả

KNN

n_neighbors Số lượng điểm gần nhất được sử dụng để phân lớp weights Hàm đánh trọng số các điểm được sử dụng trong

dự đốn nhãn

n_jobs Số lượng tác vụ sẽ chạy xử lý song song Decision Tree randoom_state Khởi tạo quá trình lấy mẫu ngẫu nhiên

Thuật tốn Tham số Mơ tả

criterion Độ đo lựa chọn thuộc tính phân loại splitter Tiêu chuẩn phân chia tại mỗi nút Random

Forest

n_estimators Số lượng cây trong tập hợp cây quyết định (forest) random_state Khởi tạo quá trình lấy mẫu ngẫu nhiên

n_jobs Số lượng tác vụ sẽ chạy xử lý song song

SVM

random_state Khởi tạo quá trình lấy mẫu ngẫu nhiên probability Lựa chọn ước tính xác suất

C Tham số chính quy hĩa (regularization)

gama Tham số của hàm Radial Basic Function (RBF) Các tham số được nghiên cứu sinh tinh chỉnh trong quá trình thử nghiệm được minh họa trong mã nguồn như trong Hình 3.6.

SEED = 42 ALGO = [‘KNN’, ‘DT’, ‘RF’, ‘SVM’] CLF NAME = { ‘KNN’: ‘K-Nearest Neighbors’, ‘DT’: ‘Decision Tree’, ‘RF’: ‘Random Forest’, ‘SVM’: ‘SVM’, } CLASSIFIERS = { ‘KNN’: KneighborsClassifier(n_jobs=-1), ‘DT’: DecisionTreeClassifier(random_state=SEED), ‘RF’: RandomForestClassifier(random_state=SEED, n_jobs=-1), ‘SVM’: SVC(random_state=SEED, probability=True), } HYPER_GRID = {

‘KNN’: {“n_neighbors”: [10, 100, 1000], “weights”: [“uniform”, “distance”]}, ‘DT’: {“criterion”: [“gini”, “entropy”], “splitter”: [“best”, “random”]},

‘RF’: {“n_estimators”: [10, 100, 1000]},

‘SVM’: {“C”: np.logspace(-1, 1, 3), “gamma”: np.logspace (-1, 1, 3)}, }

Hình 3.6 Các kịch bản thử nghiệm điều chỉnh tham số các mơ hình học máy

Do số lượng mẫu mã độc IoT Botnet cho thiết bị IoT hạn chế tài nguyên thu thập được cịn ít nên để tránh hiện tượng Overfitting và kiểm tra khả năng phát hiện các biến thể mới của mã độc IoT Botnet thì cần một phương án chia tập dữ liệu thử nghiệm thành

các tập nhỏ hơn để huấn luyện và đánh giá hiệu quả hơn (validation). Nghiên cứu sinh đã sử dụng 3 kịch bản phân chia tập dữ liệu thử nghiệm như sau để huấn luyện và đánh giá đặc trưng đề xuất. Với kịch bản đầu tiên, tập huấn luyện bao gồm mã độc Bashlite, mã độc IoT Botnet khác và tệp lành tính; tập kiểm thử bao gồm chủ yếu mã độc Mirai và tệp lành tính. Mục tiêu của kịch bản đầu tiên là kiểm tra khả năng phát hiện họ mã độc IoT Botnet mới (Mirai) của phương pháp đề xuất khi mà tập huấn luyện chỉ chứa chủ yếu họ mã độc IoT Botnet đã xuất hiện trước đĩ theo thời gian. Tương tự, mục tiêu của kịch bản thứ 2 nhằm kiểm tra, đánh giá khả năng phát hiện các biến thể khác nhau của mã độc IoT Botnet khi mà tập huấn luyện chỉ tập trung vào 2 họ mã độc IoT Botnet chính là Bashlite và Mirai. Mục tiêu của kịch bản thứ 3 nhằm kiểm tra, đánh giá khả năng phát hiện các mẫu mã độc IoT Botnet đã xuất hiện trước đĩ (Bashlite) dựa trên việc huấn luyện với họ mã độc xuất hiện sau (Mirai) và một số các biến thể các họ mã độc khác. Bên cạnh đĩ, kịch bản thứ 3 cũng phục vụ việc kiểm tra, đánh giá khả năng Overfiting của phương pháp đề xuất.

Một phần của tài liệu Nghiên cứu xây dựng hệ thống VSandbox trong phân tích và phát hiện mã độc IoT Botnet. (Trang 94 - 96)