Chương 1: Giới thiệu Trình bày những nội dung tổng quan nhất về luận án gồm: tính cấp thiết, đối tượng và phạm vi nghiên cứu; mục tiêu và nhiệm vụ; phương pháp nghiên cứu, những điểm đóng góp mới cũng như ý nghĩa khoa học và thực tiễn của luận án. - Chương 2: Các nghiên cứu liên quan Trình bày các nghiên cứu, vấn đề lý thuyết liên quan đến bài toán, so sánh một số phương pháp tiếp cận phát hiện xâm nhập mạng, cũng như nêu ra các hạn chế, tồn tại. - Chương 3: Giải pháp lựa chọn thuộc tính Trình bày các giải pháp lựa chọn thuộc tính đề xuất, kết quả thực hiện và một số nhận xét, kết luận khi sử dụng giải pháp để tăng cường chất lượng phân lớp của các IDS. - Chương 4: Giải pháp lấy mẫu lại tập dữ liệu Trình bày các giải pháp lấy mẫu lại tập dữ liệu huấn luyện, kết quả thực hiện và một số nhận xét, kết luận khi sử dụng giải pháp để tăng cường chất lượng phân lớp của các IDS.
- Chương 5: Kỹ thuật phối hợp cho mô hình IDS Trình bày giải pháp sử dụng kỹ thuật phối hợp để xây dựng các IDS, kết quả thực hiện và một số nhận xét, kết luận khi sử dụng giải pháp cũng đã được trình bày. - Chương 6: Kết luận và hướng phát triển Trình bày một số kết luận; Các hạn chế, tồn tại và hướng phát triển của luận án. - Danh mục các công trình đã công bố của luận án Liệt kê các công trình đã công bố có liên quan đến đề tài luận án. CÁC NGHIÊN CỨU LIÊN QUAN Chương 2 trình bày các công trình nghiên cứu liên quan, các khái niệm cơ bản, nghiên cứu có liên quan trực tiếp đến các công trình cũng như đóng góp chính của luận án, gồm: (1) Việc lựa chọn thuộc tính sử dụng cho các IDS; (2) Lấy mẫu lại tập dữ liệu được sử dụng để huấn luyện các IDS; (3) Các kỹ thuật học máy để xây dựng các IDS, đặc biệt là kỹ thuật học máy phối hợp.
Qua đó so sánh, làm rõ những tồn tại, thách thức cần được tiếp tục nghiên cứu, hoàn thiện và đó cũng là các mục tiêu nghiên cứu của luận án này.1 Lựa chọn thuộc tính 2.1 Phương pháp lựa chọn thuộc tính Khi dữ liệu tăng theo cấp số nhân, chất lượng dữ liệu để xử lý bằng khai phá dữ liệu, nhận dạng mẫu, xử lý hình ảnh và các thuật toán học máy, … giảm dần. Dữ liệu kích thước lớn hơn dẫn đến sự phổ biến của dữ liệu nhiễu, không liên quan và dư thừa. Điều đó làm tăng tỷ lệ lỗi, giảm độ chính xác dự báo của các thuật toán học máy. Vấn đề chính là làm thế nào để cải thiện được hiệu quả phân lớp dựa trên những tri thức học được từ dữ liệu.
Một trong những phương pháp cải thiện hiệu quả phân lớp như vậy là lựa chọn thuộc tính. Nếu ta chọn được các thuộc tính có liên quan đến nhãn lớp và loại bỏ các thuộc tính nhiễu, dư thừa, thì ta sẽ có được tập dữ liệu tốt hơn cho việc phân lớp. Điều đó giúp nâng cao hiệu quả phân lớp mà cụ thể là độ chính xác phân lớp, đồng thời giảm thời gian huấn luyện và kiểm tra [4], [5], [6]. Có thể định nghĩa lựa chọn thuộc tính là một quá trình tìm ra một tập con các thuộc tính từ M tập thuộc tính của tập dữ liệu ban đầu, như vậy phải xác định tiêu chuẩn lựa chọn thuộc tính.
Theo cách này, kích cỡ của không gian thuộc tính được rút ngắn tối đa theo một tiêu chuẩn định lượng nhất định. Khi kích cỡ của một lĩnh vực được mở rộng, số phần tử của tập dữ liệu sẽ tăng lên, vì vậy việc tìm kiếm một tập đại diện tốt nhất thường gặp khó khăn và có nhiều vấn đề liên quan đến tập được chọn. Nhìn chung, một thuật toán lựa chọn gồm 4 bước cơ bản: sinh tập con, lượng giá tập con, điều kiện dừng và xác nhận kết quả. Quá trình sinh tập con là một thủ tục tìm kiếm, về cơ bản nó sinh ra những tập con dùng cho việc lượng giá.
Gọi N là số các thuộc tính của tập dữ liệu gốc ban đầu, thì tổng số các tập con có thể được sinh ra sẽ là 2N, 2N tập này sẽ liệt kê toàn bộ các tập con của không gian. Mỗi tập con được sinh ra bằng thuật toán cần được lượng giá trị bằng một tiêu chuẩn lượng giá trị nhất định và được so sánh với tập con tốt nhất đã tìm được trước nó. Lựa chọn các thuộc tính có thể tiến hành theo hai cách: cách thứ nhất là xếp loại các thuộc tính theo một tiêu chuẩn nào đó và lấy ra k thuộc tính đầu tiên, do đó cách này là dựa vào ngưỡng để chọn thuộc tính. Cách thứ hai là chọn ra tập con nhỏ nhất mà không làm giảm đi quá trình học, do đó với cách này tự động xác định số lượng thuộc tính.
Lựa chọn thuộc 9 tính có thể dựa vào các mô hình, các chiến lược tìm kiếm, thước đo chất lượng thuộc tính và ước lượng. a) Chiến lược tìm kiếm Lựa chọn thuộc tính có thể được xem như là một vấn đề tìm kiếm, trong đó mỗi bước trong không gian tìm kiếm xác định ra một tập con thuộc tính liên quan. Giả sử ta có một tập dữ liệu với 3 thuộc tính (A1, A2, A3). Một mảng nhị phân mà mỗi thành phần của mảng được thiết lập là 1 nếu thuộc tính có chỉ số tương ứng trong mảng nhị phân được chọn.
Nếu mảng có giá trị (1, 1, 1) có nghĩa là cả 3 thuộc tính được chọn và (1, 0, 0) có nghĩa là chỉ thuộc tính A1 được chọn. Do đó, sẽ có tất cả 2N tập con có thể có, trong đó N là số lượng thuộc tính của tập dữ liệu. Một tập con tối ưu thường nằm đâu đó giữa điểm đầu và điểm cuối. Câu hỏi đặt ra ở đây là: Ta nên bắt đầu tìm kiếm từ đâu.
Vấn đề sẽ rất đơn giản nếu không gian tìm kiếm nhỏ. Tuy nhiên, trên thực tế không gian tìm kiếm thường rất lớn (2N), bắt đầu từ câu hỏi “Đâu là điểm tìm kiếm phù hợp” sẽ xuất hiện các câu hỏi khác: Chiến lược tìm kiếm phù hợp là gì? Trên thực tế chiến lược tìm kiếm lại bị ảnh hưởng bởi hướng tìm kiếm. Giả sử ban đầu ta chưa có một khái niệm cụ thể nào về tập thuộc tính tối ưu trong không gian tìm kiếm, thì sẽ không có sự khác biệt trong việc xác định điểm xuất phát nên bắt đầu từ đâu (một tập rỗng hay một tập đầy đủ các thuộc tính). Do đó, đối với phần lớn các vấn đề trong tìm kiếm thì thời gian trung bình để tìm ra tập con tối ưu giữa các hướng tìm kiếm khác nhau không có sự khác biệt.
Tuy nhiên, hướng tìm kiếm lại có mối liên hệ chặt chẽ trong việc tạo ra tập con thuộc tính. Một phương pháp tìm kiếm là tìm ra tập con tối ưu bắt đầu từ một tập rỗng các thuộc tính (như Forward Feature Construction: FFC), phương pháp còn lại là tìm ra tập con tối ưu bằng cách lần lượt loại bỏ các thuộc tính ít quan trọng từ một tập đầy đủ các thuộc tính ban đầu (như Backward Feature Elimination: BFE). b) Tiêu chuẩn lựa chọn Tất cả các chiến lược tìm kiếm đều có nhu cầu đánh giá một thuộc tính hoặc một tập con thuộc tính để xác định thuộc tính/tập con đó là tốt hay không tốt. Việc đánh giá này thường là phức tạp và có nhiều chiều đánh giá.
Ví dụ, đánh giá có thể được đo lường theo những khía cạnh: các thuộc tính được lựa chọn có làm tăng độ chính xác của bộ phân lớp hay không và các thuộc tính được lựa chọn có giúp làm đơn giản các kết quả học, do đó có thể dễ dàng để hiểu hay không, … Sau đây là một số đo lường thường được sử dụng. (1) Đo lường thông tin Một khái niệm cơ bản của lý thuyết thông tin là số lượng của thông tin trong thông báo, gọi là nội dung thông tin, nó có thể xác định và đo được bằng đại lượng toán học. Thuật ngữ “nội dung” ở đây không liên quan gì đến nội dung của thông báo được truyền đi, mà là xác suất nhận được thông báo đã cho từ một tập hợp các thông báo có thể. Giá trị cao nhất đối với nội dung thông tin được gán cho thông báo có ít khả năng nhất, tức là có độ không xác định lớn nhất.
Bởi vì độ không xác định của một phép thử càng lớn thì sự xác định kết quả của nó sẽ cho một thông tin càng lớn. Nếu thông báo được mong đợi với 100% chắc chắn thì nội dung của nó bằng 0, và khi đó độ không xác định của nó cũng bằng 0. 10 (2) Đo lường khoảng cách Kiểu đo lường này cũng được biết đến như là đo lường khác biệt hoặc đo lường phân biệt. Đo lường này được thực hiện thông qua việc đo khoảng cách giữa các hàm xác suất điều kiện lớp.
Ví dụ đối với trường hợp có 2 lớp c1 và c2, D(X) là khoảng cách giữa P(X|c1) và P(X|c2), luật đánh giá thuộc tính xây dựng dựa trên khoảng cách D(X) nói rằng, trong hai thuộc tính X và Y, thuộc tính X được chọn nếu D(X) > D(Y). Mục đích của việc lựa chọn này là ta cố gắng tìm ra các thuộc tính sao cho khoảng cách giữa 2 lớp là xa nhất có thể. (3) Đo lường phụ thuộc Đo lường này cũng được biết đến như là đo lường mối quan hệ, đo lường mối liên hệ. Đo lường này được thiết kế để lượng hóa mối quan hệ giữa hai biến bằng việc nếu biết được giá trị một biến ta có thể dự đoán được giá trị của biến còn lại.
Trong đánh giá thuộc tính, thay bằng việc kiểm tra một thuộc tính thay đổi thông tin thu thập được hoặc thay đổi kỳ vọng xác suất lớp như thế nào, thì ta sẽ xem xét một thuộc tính liên hệ với một lớp như thế nào (mạnh hay yếu). Nói một cách khác, ta chọn thuộc tính có mối liên hệ chặt chẽ với lớp C hơn. Nếu X và C là độc lập thống kê thì giữa X và Y sẽ không có mối liên hệ và việc loại bỏ thuộc tính X sẽ không làm ảnh hưởng đến việc phân lớp các thuộc tính còn lại. Nếu mỗi giá trị của thuộc tính X có mối liên hệ với một giá trị của lớp C, ta kỳ vọng rằng R(X) sẽ có giá trị cực đại và thuộc tính X được chọn thuộc về lớp C.