Xác định và loại bỏ các Liên kết Tomek

Một phần của tài liệu (LUẬN án TIẾN sĩ) kỹ thuật học máy phối hợp và tiền xử lý dữ liệu trong việc nâng cao chất lượng phân lớp của các hệ thống phát hiện xâm nhập mạng (Trang 35 - 40)

Input

D - Tập huấn luyện chưa loại bỏ các Liên kết Tomek

Output

Tập huấn luyện đã loại bỏ các Liên kết Tomek

Begin

1: Initialize: T = {}

2: For each x  D do

3: If x và láng giềng gần nhất y khác lớp then

4: T = T  {x, y}

5: End if

6: End for

7: Loại bỏ khỏi tập huấn luyện D tất cả các bản ghi cĩ trong T

End

b) Quy tắc dọn dẹp láng giềng

Đối với bài tốn hai lớp, quy tắc dọn dẹp láng giềng (Neighborhood Cleaning Rule: NCR) cĩ thể được mơ tả như sau: đối với mỗi bản ghi Ei trong tập huấn luyện, ba láng giềng gần nhất của nĩ được tìm thấy. Nếu Ei thuộc nhĩm đa số và phân lớp được đưa ra bởi ba láng giềng gần nhất của nĩ mâu thuẫn với lớp Ei ban đầu, thì Ei sẽ bị xĩa. Nếu Ei thuộc nhĩm thiểu số và ba láng giềng gần nhất phân lớp sai Ei, thì những láng giềng gần nhất thuộc về nhĩm đa số bị loại bỏ [8].

c) Láng giềng gần nhất chỉnh sửa

Động lực đằng sau thuật tốn láng giềng gần nhất chỉnh sửa (Edited Nearest Neighbors: ENN) tương tự như Liên kết Tomek. ENN cĩ xu hướng loại bỏ nhiều bản ghi hơn các Liên kết Tomek, do đĩ, nĩ sẽ cung cấp khả năng làm sạch dữ liệu chuyên sâu hơn. Khác với NCR là một phương pháp giảm mẫu, ENN được sử dụng để loại bỏ các bản ghi khỏi cả hai lớp. Do đĩ, bất kỳ bản ghi nào bị phân lớp sai bởi ba láng giềng gần nhất của nĩ sẽ bị xĩa khỏi tập huấn luyện [16].

2.1.3 Kỹ thuật học máy

2.1.3.1 Kỹ thuật học máy phối hợp

Xây dựng một mơ hình tốt từ một tập dữ liệu nhất định là một trong những nhiệm vụ chính trong học máy (ML). Phân lớp mạnh là mong muốn, nhưng rất khĩ tìm. Huấn luyện nhiều bộ phân lớp cùng một lúc để giải quyết cùng một vấn đề, và sau đĩ phối hợp đầu ra của chúng để cải thiện độ chính xác, được gọi là phương pháp phối hợp.

Phối hợp đồng nhất (Homogeneous Ensemble) cĩ thành phần là các bộ phân lớp cơ sở dùng cùng một kỹ thuật máy học nhưng được huấn luyện trên các tập con dữ liệu khác nhau [17]. Các phương pháp phổ biến như Bagging và Boosting tạo ra sự đa dạng bằng cách lấy mẫu hoặc gán trọng số cho các bản ghi huấn luyện để xây dựng tập hợp. Ngược lại, phối hợp khơng đồng nhất (Heterogeneous Ensemble) cĩ thành phần là các bộ phân lớp cơ sở dùng các kỹ thuật máy học đơn khác nhau nhưng được huấn luyện trên cùng một tập dữ liệu giống nhau [17]. Một phương pháp phối hợp khơng đồng nhất phổ biến là Xếp chồng (Stacking).

a) Bootstrap

Là một phương pháp rất nổi tiếng trong thống kê được giới thiệu bởi Bradley Efron vào năm 1979. Phương pháp này chủ yếu dùng để ước lượng lỗi chuẩn (standard errors), độ lệch (bias) và tính tốn khoảng tin cậy (confidence interval) cho các tham số. Phương pháp này được thực hiện như sau: Từ một tập hợp ban đầu lấy ra một mẫu N = (x1, x2, …, xn) gồm

n thành phần, tính tốn các tham số mong muốn. Trong các bước tiếp theo lặp lại b lần việc

tạo ra mẫu Nb cũng gồm n phần tử từ N bằng cách lấy lại mẫu với sự thay thế các thành phần trong mẫu ban đầu sau đĩ tính tốn các tham số mong muốn. Kỹ thuật Bootstrap được minh họa như ở Hình 2.4 [18].

Hình 2.4. Kỹ thuật Bootstrap

b) Bagging

Bagging (Bootstrap Aggregation) là một phương pháp tổng hợp kết quả cĩ được từ các Bootstrap [19], Hình 2.5 mơ tả chi tiết kỹ thuật Bagging, tư tưởng chính của phương pháp này như sau: Cho một tập huấn luyện D={(xi, yi): i=1, 2, …, N} và giả sử ta muốn cĩ một dự đốn nào đĩ đối với biến x.

Hình 2.5. Kỹ thuật Bagging

Một mẫu gồm m tập dữ liệu, mỗi tập dữ liệu gồm n phần tử được lựa chọn ngẫu nhiên từ D với sự thay thế (giống như bootstrap). Do đĩ T=(T1, T2, …, Tm) trơng giống như là một tập các tập huấn luyện được nhân bản;

Huấn luyện một máy hoặc một mơ hình đối với mỗi tập Ti (i=1, 2, …, m) và lần lượt thu thập các kết quả dự báo cĩ được Pi trên mỗi tập Ti;

Kết quả tổng hợp cuối cùng được tính tốn bằng cách trung bình hĩa hoặc thơng qua số phiếu bầu nhiều nhất (voting).

c) Boosting

Khác với kỹ thuật Bagging, xây dựng bộ phân lớp phối hợp với các bản ghi huấn Dữ liệu đầy đủ các bản ghi

Mẫu ban đầu với N bản ghi

Nb mẫu boostrap

Các mẫu bootstrap

Các bợ phân lớp cơ sở Các dự báo

Dự báo tởng hợp cuới cùng

Dữ liệu huấn luyện

Bỏ phiếu D ữ li ệ u m ớ i

luyện cĩ trọng số bằng nhau. Kỹ thuật Boosting xây dựng bộ phân lớp phối hợp với các bản ghi huấn luyện cĩ trọng số khác nhau [19]. Sau mỗi bước lặp, các bản ghi huấn luyện dự đốn sai sẽ được đánh trọng số tăng lên, trong khi các bản ghi huấn luyện dự đốn đúng sẽ được đánh trọng số giảm đi. Các bản ghi cĩ trọng số cao hơn sẽ cĩ cơ hội được xuất hiện nhiều hơn trong việc lấy mẫu ở bước lặp tiếp theo. Điều này giúp cho Boosting tập trung vào cải thiện độ chính xác cho các bản ghi được dự đốn sai sau mỗi bước lặp. Hình 2.6 [20] minh họa chi tiết kỹ thuật này.

Hình 2.6. Kỹ thuật Boosting

AdaBoost hoặc Adaptive Boosting là mơ hình phối hợp Boosting. Kỹ thuật này tự điều chỉnh các tham số của nĩ theo dữ liệu dựa trên hiệu suất thực tế trong lần lặp hiện tại. Cĩ nghĩa là, cả trọng số để tính lại dữ liệu và trọng số cho tổng hợp cuối cùng đều được tính tốn lại qua mỗi bước lặp.

d) Xếp chồng

Xếp chồng (Stacking) là một cách để phối hợp nhiều mơ hình, giới thiệu khái niệm bộ phân lớp meta. Nĩ ít được sử dụng rộng rãi hơn so với Bagging và Boosting. Khơng giống như Bagging và Boosting, Stacking cĩ thể được sử dụng để phối hợp các mơ hình khác nhau [19]. Quá trình thực hiện như sau:

(1) Chia tập huấn luyện thành hai bộ tách rời. (2) Huấn luyện các bộ phân lớp cơ sở ở phần đầu. (3) Kiểm tra bộ phân lớp cơ sở ở phần thứ hai.

(4) Sử dụng kết quả dự đốn ở (3) như là đầu vào, và kết quả phân lớp đúng như là kết quả đầu ra để huấn luyện một bộ phân lớp Meta (Meta-Classifier).

Trong Stacking, cơ chế phối hợp được mơ tả như sau: đầu ra của các bộ phân lớp mức 0 (hay bộ phân lớp cơ sở) sẽ được sử dụng làm dữ liệu huấn luyện cho một bộ phân lớp khác (bộ phân lớp mức 1 hay bộ phân lớp Meta) để cho ra kết quả dự báo đúng nhất. Về cơ bản, ta cho phép bộ phân lớp mức 1 tự tìm ra cơ chế phối hợp tốt nhất các bộ phân lớp mức 0. Hình 2.7 mơ tả chi tiết kỹ thuật này, kết quả dự đốn ở các bộ phân lớp cơ sở Pi (i=1, 2, …, m) như là đầu vào của bộ phân lớp Meta và kết quả phân lớp đúng như là kết quả đầu ra để huấn luyện bộ phân lớp Meta.

Tập dữ liệu

Mơ hình Mơ hình Mơ hình

Dự đoán sai Dự đoán sai

Dự đoán cuới cùng Huấn luyện Huấn luyện Huấn luyện Kiểm tra Kiểm tra

Hình 2.7. Kỹ thuật Stacking với bợ phân lớp Meta

e) Rừng ngẫu nhiên

Rừng ngẫu nhiên là phương phân lớp được phát triển bởi Leo Breiman tại đại học California, Berkeley [21]. Tĩm tắt của thuật tốn rừng ngẫu nhiên cho phân lớp trong được diễn giải như sau:

- Lấy ra M mẫu bootstrap từ tập huấn luyện.

- Đối với mỗi mẫu bootstrap xây dựng một cây phân lớp khơng được tỉa (unpruned tree) i (i=1, 2, …, M) như sau: Tại mỗi nút thay vì chọn một phân chia tốt nhất trong tất cả

p thuộc tính phân chia, ta chọn ngẫu nhiên một tập con K ≤ p thuộc tính phân chia, sau đĩ

chọn một phân chia tốt nhất trong tập con K các thuộc tính này.

- Đưa ra các dự đốn bằng cách tổng hợp các dự đốn của M cây.

Quá trình học của rừng ngẫu nhiên bao gồm việc sử dụng ngẫu nhiên giá trị đầu vào, hoặc kết hợp các giá trị đĩ tại mỗi node trong quá trình dựng từng cây quyết định. Kết quả của rừng ngẫu nhiên, qua thực nghiệm cho thấy cĩ một số ưu điểm như sau:

(1) Độ chính xác cao;

(2) Thuật tốn giải quyết tốt các bài tốn cĩ nhiều dữ liệu nhiễu;

(3) Thuật tốn chạy nhanh hơn so với Stacking nhưng chậm hơn so với Bagging và Boosting;

(4) Cĩ những sự ước lượng nội tại như độ chính xác của mơ hình phỏng đốn hoặc độ mạnh và liên quan giữa các thuộc tính;

(5) Dễ dàng thực hiện song song.

Về hạn chế, thời gian thực thi của thuật tốn khá lâu và phải sử dụng nhiều tài nguyên của hệ thống.

Qua những tìm hiểu trên về thuật tốn rừng ngẫu nhiên ta cĩ nhận xét rằng rừng ngẫu nhiên là một phương pháp phân lớp tốt do: (1) Trong rừng ngẫu nhiên, phương sai (variance) được giảm thiểu do kết quả của rừng ngẫu nhiên được tổng hợp thơng qua nhiều cây; (2) Việc chọn ngẫu nhiên tại mỗi bước trong rừng ngẫu nhiên sẽ làm giảm mối tương quan (correlation) giữa các cây trong việc tổng hợp các kết quả.

Tập dữ liệu huấn luyện

Bợ phân lớp Meta

D ữ li ệ u m ớ i

Các bợ phân lớp cơ sở Các dự báo

f) Decorate

Boosting và Bagging cung cấp sự đa dạng bằng cách xây dựng tập hợp các bộ phân lớp, mà ở đĩ mỗi bộ phân lớp được huấn luyện với một tập dữ liệu huấn luyện con khác nhau được trích ngẫu nhiên từ tập dữ liệu huấn luyện. Nếu tập huấn luyện nhỏ, điều này giới hạn sự đa dạng của tập hợp mà phương pháp này cĩ thể đạt được. Decorate, viết tắt của cụm từ Diverse Ensemble Creation by Oppositional Relabeling of Artificial Training Examples, là phương pháp đảm bảo tính đa dạng nhờ một lượng lớn các bản ghi nhân tạo bổ sung. Vì vậy, về mặt lý thuyết nĩ sẽ cho chất lượng phân lớp cao hơn khi tập huấn luyện nhỏ.

Trong Decorate, một tập hợp được tạo lặp lại, trước tiên hãy huấn luyện một bộ phân lớp và sau đĩ thêm nĩ vào tập hợp hiện tại. Ta khởi tạo tập hợp để chứa bộ phân lớp được huấn luyện với dữ liệu huấn luyện đã cho. Các bộ phân lớp trong mỗi lần lặp liên tiếp được huấn luyện với tập dữ liệu huấn luyện ban đầu kết hợp với một số dữ liệu nhân tạo. Trong mỗi lần lặp lại, các bản ghi huấn luyện nhân tạo được tạo ra từ việc phân phối dữ liệu; trong đĩ số lượng bản ghi được tạo được xác định là một phần, Rsize, của kích thước tập huấn luyện. Các nhãn cho các bản ghi huấn luyện nhân tạo này được chọn để khác biệt tối đa so với các dự đốn của tập hợp hiện tại.

Nhằm tăng cường tính đa dạng, nhưng vẫn duy trì độ chính xác h́n luyện, bộ phân lớp mới sẽ bị từ chối thêm vào tập hợp hiện cĩ nếu nĩ làm giảm chất lượng phân lớp của tập hợp. Quá trình này được lặp lại cho đến khi đạt được kích thước tập hợp mong muốn hoặc vượt quá số lần lặp tối đa. Decorate được thực hiện cụ thể như ở Thuật tốn 2.9:

Một phần của tài liệu (LUẬN án TIẾN sĩ) kỹ thuật học máy phối hợp và tiền xử lý dữ liệu trong việc nâng cao chất lượng phân lớp của các hệ thống phát hiện xâm nhập mạng (Trang 35 - 40)

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

(175 trang)