CHƯƠNG 1. TỔNG QUAN CHƯƠNG 2. CƠ SỞ LÝ THUYẾT CHƯƠNG 3. KẾT QUẢ THỰC NGHIỆM CHƯƠNG 4.
KẾT LUẬN VÀ KIẾN NGHỊ CHƯƠNG 2. URL là gì? Trước khi tìm hiểu về URL độc hại, trước tiên chúng ta phải hiểu rằng URL về cơ bản là một công cụ định vị tài nguyên thống nhất, nó là địa chỉ mà chúng ta có thể xác định tài nguyên bên trong đầu vào. URL là địa chỉ duy nhất có định dạng có cấu trúc được xác định rõ ràng để truy cập các trang web qua World Wide Web (WWW). Các thành phần của URL.
Nói chung, có ba thành phần cơ bản tạo nên một URL a) Protocol (Giao thức): về cơ bản, nó là một định danh xác định giao thức nào sẽ sử dụng, ví dụ: HTTP, HTTPS, v. Nó chứa địa chỉ IP hoặc tên miền nơi đặt tài nguyên thực tế. c) Path (Đường dẫn): Nó chỉ định đường dẫn thực tế nơi đặt tài nguyên Theo hình 2.vn là tên miền. Tên miền cấp cao nhất là một thành phần khác của tên miền cho biết bản chất của trang web, tức là mạng lưới (.net), giáo dục (.edu), tổ chức (.edu), thương mại (.com), cơ quan chính phủ (.
URL độc hại là gì? Các URL đã sửa đổi hoặc bị xâm phạm được sử dụng cho các cuộc tấn công mạng được gọi là URL độc hại. 13 Một URL hoặc trang web độc hại thường chứa các loại trojan, phần mềm độc hại, nội dung không mong muốn khác nhau dưới dạng lừa đảo, tự động tải xuống, thư rác. Mục tiêu chính của trang web độc hại là gian lận hoặc đánh cắp thông tin cá nhân hoặc tài chính của những người dùng. Theo Báo cáo mối đe dọa bảo mật Internet (ISTR) 2019 của Symantec [6], URL độc hại là một kỹ thuật được sử dụng nhiều trong tội phạm mạng.
Random Forest Random Forest (Rừng ngẫu nhiên) là một thuật toán học máy có giám sát (supervised learning) được sử dụng phổ biến trong các bài toán phân loại và hồi quy. Thuật toán này hoạt động bằng cách xây dựng một tập hợp lớn các cây quyết định (decision tree) và sử dụng kết quả dự đoán của tập hợp này để đưa ra dự đoán cuối cùng. Giải thuật học máy rừng ngẫu nhiên (Random Forests - RF[9]) thực hiện huấn luyện mô hình phân lớp (Hình 2.2) qua các bước chính như sau: Chuẩn bị tập dữ liệu ta có m là số lượng phần tử trong tập dữ liệu huấn luyện, n là số lượng biến (thuộc tính) trong mỗi phần tử dữ liệu Xây dựng rừng cây: T là cây quyết định trong rừng. Mô hình cây quyết định thứ T được xây dựng trên tập mẫu Bootstrap thứ T lấy ngầu nhiên m phần tử có hoàn lại từ tập dữ liệu huấn luyện để tạo thành một tập con.
T tập con độc lập được tạo ra cho T cây quyết định. Mỗi cây quyết định được xây dựng từ đầu trên tập con tương ứng. Tại mỗi nút trong cây, chọn ngẫu nhiên n’ biến (n’<< n) từ n biến ban đầu.Sử dụng n’ biến này để tính toán phân hoạch tốt nhất cho nút, cây được xây dựng đến độ sâu tối đa đã được cài đặt trước (không cắt nhánh). Phân loại dữ liệu mới ta có x là phần tử dữ liệu cần phân loại.
Cho x đi qua T cây quyết định trong rừng, mỗi cây quyết định sẽ dự đoán lớp cho x. Lớp được dự đoán nhiều nhất bởi các cây quyết định sẽ là lớp cuối cùng cho x. Giải thuật Rừng ngẫu nhiên Nguyên tắc hoạt động: a) Tạo tập hợp cây quyết định: Thuật toán ngẫu nhiên một tập con dữ liệu con (bootstrap sample) từ tập dữ liệu gốc với kích thước bằng kích thước tập dữ liệu gốc. Sử dụng tập con dữ liệu con này để xây dựng một cây quyết định.
Lặp lại bước trên nhiều lần (thường là vài trăm hoặc vài nghìn lần) để tạo ra một tập hợp lớn các cây quyết định. b) Dự đoán: Khi có một mẫu dữ liệu mới cần dự đoán, mỗi cây quyết định trong tập hợp sẽ dự đoán lớp cho mẫu dữ liệu này. Lớp được dự đoán bởi nhiều cây quyết định nhất sẽ được coi là lớp dự đoán cuối cùng cho mẫu dữ liệu mới. Ưu điểm: Độ chính xác cao: Random Forest thường có độ chính xác cao hơn so với các thuật toán học máy khác như SVM (Support Vector Machine) hay K-Nearest Neighbors (KNN).
Ít bị quá khớp (overfitting): Random Forest có khả năng chống quá khớp tốt do sử dụng nhiều cây quyết định khác nhau để dự đoán. 15 Có thể xử lý được dữ liệu có nhiễu: Random Forest có khả năng xử lý tốt dữ liệu có nhiễu do sử dụng tập con dữ liệu con để xây dựng cây quyết định. Dễ sử dụng: Random Forest tương đối dễ sử dụng và không đòi hỏi nhiều tham số cần điều chỉnh. Nhược điểm: Có thể tốn nhiều thời gian để đào tạo: Do cần phải xây dựng nhiều cây quyết định, Random Forest có thể tốn nhiều thời gian để đào tạo, đặc biệt là với các tập dữ liệu lớn.
Có thể khó giải thích kết quả: Do sử dụng nhiều cây quyết định, Random Forest có thể khó giải thích kết quả dự đoán cho một mẫu dữ liệu cụ thể. Light GBM (Gradient Boosting Machine) Light GBM (Light Gradient Boosting Machine) là một thuật toán học máy có giám sát (supervised learning) mạnh mẽ được sử dụng cho các bài toán phân loại và hồi quy. Thuật toán này là một cải tiến của Gradient Boosting Machine (GBM) truyền thống, khắc phục một số nhược điểm và mang lại hiệu suất cao hơn. Nó hoạt động dựa trên nguyên tắc học theo hướng dốc (gradient boosting), tương tự như GBM (Gradient Boosting Machine) truyền thống, nhưng được cải tiến với nhiều ưu điểm vượt trội.
Để hiểu về nguyên lý thuật toán LightGBM, trước hết chúng ta cùng tìm hiểu lý thuyết của thuật toán GTB [10]. Nguyên lý chung của GTB là kết hợp nhiều cây quyết định để thu được câu trả lời cuối cùng và bằng cách cộng kết quả của tất cả các cây quyết định. Quá trình này đã được cải thiện để đạt được mức tăng cường độ dốc cực cao trong thuật toán XGBoost. Sự khác biệt giữa XGBoost và GTB là ở cách phân chia cây và cách xác định giá trị của nút lá.
LightGBM được tối ưu hóa hơn nữa trên cơ sở cải tiến công thức GTB của XGBoost. Nguyên lý cơ bản được sử dụng trong thuật toán GTB là việc kết hợp các cây mô hình học tập cơ bản yếu (tức là có độ sai số cao) thành một cây mô hình học tập mạnh hơn theo kiểu tuần tự. Chúng ta có thể xem quá trình học của thuật toán GTB như minh họa trong Hình 2. Cây học sau được xây dựng nhằm mục đích ước lượng các giá trị của phần sai số của cây học ngay trước.
Mô hình cuối cùng sẽ có dạng [10]: 16 Hình 2. quá trình học của thuật toán GTB Trong đó x là mẫu và hàm ; h x i là cây ra quyết định thứ i [10]. Các tham số khác được tính như sau: Hình 2. Công thức tính tham số Hình 2.
Mô hình thuật toán GTB Cơ chế hoạt động Light GBM: a) Khởi tạo: Bắt đầu với một mô hình đơn giản, ví dụ như một cây quyết định (decision tree) có độ sâu nhỏ. b) Lặp: 17 Đánh giá lỗi: Tính toán lỗi dự đoán của mô hình hiện tại trên tập dữ liệu huấn luyện. Xây dựng cây tiếp theo: Xây dựng một cây quyết định mới nhằm giảm thiểu lỗi dự đoán được xác định ở bước trước. Cập nhật mô hình: Cập nhật mô hình hiện tại bằng cách kết hợp cây quyết định mới với trọng số phù hợp.
c) Lặp lại bước 2 cho đến khi đạt được số lượng cây tối ưu hoặc đáp ứng các tiêu chí dừng. Ưu điểm: Độ chính xác cao: Light GBM thường đạt được độ chính xác cao trong các bài toán phân loại và hồi quy. Hiệu quả tính toán: Light GBM có tốc độ tính toán nhanh hơn so với GBM truyền thống do sử dụng các cải tiến như histogram-based binning và GOSS. Ít bị quá khớp (overfitting): Light GBM sử dụng các kỹ thuật regularization để giảm thiểu overfitting, giúp mô hình tổng quát hóa tốt hơn.
Hỗ trợ cả dữ liệu thưa thớt (sparse data): Light GBM có khả năng xử lý hiệu quả các tập dữ liệu thưa thớt, thường gặp trong các ứng dụng thực tế. Nhược điểm: Light GBM có nhiều tham số cần điều chỉnh, đòi hỏi người dùng có kiến thức chuyên môn nhất định để đạt được hiệu quả tối ưu. Do là một mô hình ensemble learning (học tập tổng hợp), Light GBM có thể khó giải thích kết quả dự đoán cho một mẫu dữ liệu cụ thể. XGBoost (Extreme Gradient Boosting) XGBoost (eXtreme Gradient Boosting) là một thư viện mã nguồn mở, được phát triển bởi Tianqi Chen et al., là một trong những thuật toán Gradient Boosting Machine (GBM) hiệu quả và được sử dụng rộng rãi nhất hiện nay.
XGBoost kế thừa và cải tiến GBM truyền thống, mang lại hiệu suất vượt trội về tốc độ, độ chính xác và 18 khả năng xử lý các bài toán học máy phức tạp. XGBoost cũng hoạt động dựa trên nguyên tắc học theo hướng dốc (gradient boosting) giống như LightGBM. Cơ chế hoạt động: XGBoost lặp lại các bước sau a) Khởi tạo: Bắt đầu với một mô hình đơn giản, ví dụ như một cây quyết định (decision tree) có độ sâu nhỏ. b) Lặp: Đánh giá lỗi: Tính toán lỗi dự đoán của mô hình hiện tại trên tập dữ liệu huấn luyện.
Xây dựng cây tiếp theo: Xây dựng một cây quyết định mới nhằm giảm thiểu lỗi dự đoán được xác định ở bước trước. Cây quyết định mới được xây dựng dựa trên "gradient" (hướng dốc) của lỗi dự đoán, giúp tập trung vào những vùng dữ liệu khó học. Cập nhật mô hình: Cập nhật mô hình hiện tại bằng cách kết hợp cây quyết định mới với trọng số phù hợp. Trọng số được xác định bằng thuật toán "learning rate", giúp điều chỉnh mức độ ảnh hưởng của từng cây quyết định trong mô hình tổng hợp.
c) Lặp lại bước 2 cho đến khi đạt được số lượng cây tối ưu hoặc đáp ứng các tiêu chí dừng. Ưu điểm: Hiệu suất cao: XGBoost nổi tiếng với tốc độ học tập nhanh và khả năng xử lý các tập dữ liệu lớn hiệu quả. Độ chính xác cao: XGBoost thường đạt được độ chính xác cao trong các bài toán phân loại và hồi quy. Ít bị quá khớp: Các kỹ thuật Regularization giúp giảm thiểu overfitting, cải thiện khả năng tổng quát hóa của mô hình.
Hỗ trợ dữ liệu thưa thớt: XGBoost có khả năng xử lý hiệu quả các tập dữ liệu thưa thớt.