Đánh giá Thuật toán phân cụm ứng dụng trong bài toán

Một phần của tài liệu nghiên cứu giải pháp phát hiện xâm nhập mạng máy tính bất thường dựa trên khai phá dữ liệu (Trang 56 - 60)

3.3.1. Thuật toán gom cụm K-means: Mỗi cụm đƣợc biểu diễn bằng giá trị trung bình của các đối tƣợng trọng cụm. Một đối tƣợng đƣợc phân vào một cụm nếu khoảng cách từ đối tƣợng đó đến nhóm đang xét là nhỏ nhất. Sau đó tâm của nhóm sẽ đƣợc cập nhập. Quá trình này chỉ dừng khi hàm mục tiêu đồng quy.

- Thuật toán K-means:

Input:

+ k: số các nhóm.

+ D: Một tập dữ liệu chứa n đối tƣợng

Output: Một tập k nhóm.

1- Chọn ngẫu nhiên k đối tƣợng tù D làm trọng tâm ban đầu của k nhóm;

2- Repeat

3- Gán mỗi đối tƣợng cho nhóm mà nó gần nhất, dựa trên việc so sánh các khoảng cách của đối tƣợng đó đến các nhóm

4- Cập nhật các giá trị trung bình của các nhóm 5- Until không có sự thay đổi trong các nhóm - Cài đặt thuật toán K-means:

Begin

For i=1 to k

{chọn ngẫu nhiên ri D làm trung tâm Ci }

While có sự thay đổi trong các cụm Ci {

For mỗi x D {

Tính d(x,ri). i=1 …k đƣa x vào nhóm Cj nếu d(x,rj) <= d(x,ri); i#j, i=1…k } For i = 1 to k { Tính lại trọng tâm ri } }

- Đánh giá thuật toán K-means:

Ƣu điểm:

+Tƣơng đối nhanh, độ phức tạp O(tkn) trong đó n số đối tƣợng trong không gian dữ liệu, k sốcum cần phân hoạch, t số lần lặp

Khuyết điểm:

+Không đảm bảo đạt đƣợc độ tối ƣu toàn cục và kết quả đầu ra phụ thuộc nhiều vào việc chọn k điểm khởi đầu.

+Cần phải xác định trƣớc số cụm nhƣng lại khó xác định số cụm thực sự mà không gian dữ liệu có do phải thử với nhiều giá trị k khác nhau

+Khó phân biệt các cum có hình dạng phức tạp +Không thể xử lý nhiều mẫu cá biệt

+Chỉ có thể áp dụng khi tính đƣợc trọng tâm

3.3.2. Thuật toán K-medoids: Mỗi cum đƣợc biểu diễn bằng một trong các đối tƣợng nằm gần tâm của cụm. Trong trƣờng hợp dữ liệu nhiễu và biệt lập thì K- means không chính xác. Lúc này chúng ta sử dụng một đối tƣợng thực để đại diện cho một nhóm. Mỗi đối tƣợng còn lại sẽ đƣợc phân vào các nhóm mà đối tƣợng đại diện gần với nó nhất. trong trƣờng hợp lý tƣởng mỗi đối tƣợng đại diện sẽ nằm ở trung tâm của nhóm đây là ý tƣởng cơ bản của phƣơng pháp K-Medoids

- Thuật toán K-medoids cài đặt nhƣ sau:

Input: Tập dữ liệu D; số nhóm k.

Output: k nhóm.

Method:

1- Chọn ngẫu nhiên k đối tƣợng Oi(i=1 … k) làm trung tâm (medoids) ban đầu của cụm.

2- Repeat (adsbygoogle = window.adsbygoogle || []).push({});

3- Gán từng đối tƣợng còn lại vào cụm có trung tâm gần điểm đang xét nhất.

4- Với mỗi đối tƣợng trung tâm

+Lần lƣợt xét các đối tƣợng không là trung tâm (non-medoids) x. +Tính độ lợi S khi hoán đổi Oi bởi x, trong đó S=Ex-EOi

+Nếu S<0 thì thay thế Oi bởi x.

- Lƣu đồ thuật toán K-Medoids

Hình 3.1: Lƣu đồ thuật toán K-Medoids - Đánh giá thuật toán K-medoids:

Ƣu điểm: K-medoids làm việc đƣợc với nhiều dữ liệu nhiễu và biệt lập

Khuyết điểm: Khi cơ sở dữ liệu quá lớn sự hiệu quả của K-medoids giảm xuống vì thuật toán có độ phức tạp là O(k(n-k)2t) trong đó:

n: số điểm trong không gian dữ liệu k: Số cụm phân hoạch

t: Số lần lặp, t khá nhỏ so với n.

Nhƣ vậy, với dữ liệu đầu vào cảu bài toán là một CSDL mạng ghi lại dấu vết kết nối của một hệ thống mạng bao gồm một “Localhost” với các phần còn lại của mạng. Với CSDL lớn và đa dạng, yêu cầu đầu ra của bài toán là các nhóm bao gồm

các cụm dữ liệu “bình thƣờng” và “bất thƣờng”. Qua nghiên cứu và khảo sát dữ liệu thực tế, để sử dụng một thuật toán có độ tối ƣu nhất định cho việc giải quyết bài toán khai phá CSDL mạng này, nhận thấy với các ƣu điểm nổi bật của thuật toán phân cụm K-Medoids (sử dụng đối tƣợng đại diện làm trong tâm để phân cụm) có nhiều tƣơng đồng đáp ứng đƣợc yêu cầu của bài toán ứng dụng. Chính vì vậy Luận văn đã sử dụng thuật toán phân cụm K-Medoids trong khai phá dữ liệu để xây dựng ứng dụng phát hiện các cụm dữ liệu bất thƣờng trong CSDL mạng. Từ đó đƣa ra các cảnh báo có xâm nhập mạng bất thƣờng.

Một phần của tài liệu nghiên cứu giải pháp phát hiện xâm nhập mạng máy tính bất thường dựa trên khai phá dữ liệu (Trang 56 - 60)