Một số thuật toán phát hiện dị biệt trong khai phá dữ liệu

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 42 - 48)

2.2.1.1. Thuật toán điểm lân cận gần nhất (Nearest Nighbour)

Phƣơng pháp này dựa trên khoảng cách Dk(O) của điểm lân cận gần nhất thứ k tính từ gốc/ điểm O. Ví dụ những điểm có các giá trị Dk(O) lớn hơn thƣờng có các điểm lân cận thƣa thớt và chúng có khả năng là điểm dị biệt hơn những điểm nằm trong các cụm dày đặc. Trong phƣơng pháp này, chúng ta chọn k = 1 và xác định 1 “ngƣỡng xem xét” để quyết định liệu điểm đó có phải là 1 dị biệt hay không. Ngƣỡng này chỉ dựa trên các dữ liệu luyện tập và nó đƣợc giới hạn trong 2%. Đối với toàn bộ các điểm dữ liệu trong bảng dữ liệu(giả sử chúng đều là dữ liệu bình thƣờng), ngƣỡng đó đƣợc tính dựa trên khoảng cách giữa chúng tới những điểm lân cận gần nhất, sau đó đƣợc sắp xếp lại. Những điểm dữ liệu kiểm tra nào có khoảng cách tới các điểm lân cận gần nhất lớn hơn ngƣỡng đã định sẽ đƣợc xếp vào các dữ liệu dị biệt

2.2.1.2. Thuật toán dựa trên khoảng cách Mahalanobis

Nhƣ đã biết dữ liệu để đào tạo trong mô hình tƣơng ứng với các hành vi bình thƣờng từ đó có thể tính ra đƣợc Trung vị và Độ lệch chuẩn của dữ liệu bình thƣờng. Khoảng cách Mahalanobis giữa điểm dữ liệu p và Trung vị µ đƣợc tính nhƣ sau:

    1 ) .( . ) (ppdM T

Trong đó tổng Σ là ma trận hiệp phƣơng sai của các dữ liệu bình thƣờng. Tƣơng tự nhƣ phƣơng pháp trƣớc, ngƣỡng sẽ đƣợc tính dựa trên những điểm có khoảng cách gần nhất tính từ giá trị của các dữ liệu bình thƣờng và nó bằng 2% trong tổng số các điểm. Mọi điểm dữ liệu kiểm tra có khoảng cách tới trung vị của các dữ liệu đào tạo bình thƣờng lớn hơn ngƣỡng đã định sẽ đƣợc xếp vào dạng phần tử dị biệt.

2.2.1.3. Thuật toán LOF (Local Outlier Fartor)

Ý tƣởng chủ đạo của phƣơng pháp này là gắn cho mỗi mẫu dữ liệu một mức độ dị biệt nào đó, đƣợc gọi là nhân tố dị biệt địa phƣơng ( Local Outlier Factor). Nhƣ vậy đối với từng mẫu, mật độ phần tử lân cận đóng một vai trò đặc biệt. Một mẫu không phải đƣợc phân loại là “dị biệt” hay “không dị biệt” mà đƣợc đánh giá là mức độ “dị biệt” nhƣ thế nào, tùy theo giá trị LOF của mẫu đó.

Ký hiệu k-dis(x) là khoảng cách đến phần tử lân cận thứ k của mẫu x

Ký hiệu Nk-dis(x) là số lƣợng phân tử lân cận của x có khoảng cách tới x bé hơn k- dis(x).

Khoảng cách tiếp cận trung bình của một mẫu x đối với một mẫu y, ký hiệu là R - dis(x,y) đƣợc tính nhƣ sau:

R - dis(x,y) = max(k - dis(x),d(x,y))

Hình 2.3: Khoảng cách Reach-dist

Chẳng hạn có 7 phần tử nhƣ Hình 2.5, R - dis(p1,O) và R - dis(p2,O) đƣợc tính trong trƣờng hợp k = 3.

Ta có thể tính đƣợc giá trị LOF của một phần tử p nhƣ sau:

LOFMinPts(p)= ) ( | ) ( ) ( ) ( p N p lrd o lrd MinPts p N O MinPts MinPts Min Pts  

Với: Hàm lrd( ) chỉ mật độ tiếp cận địa phƣơng của một mẫu, và đƣợc tính dựa trên tính nghịch đảo của R - dis(p,o) và MnPts ( số lƣợng mẫu tối thiểu) các phần tử lân cận của mẫu p.

Thuật toán tính LOF cho các mẫu dữ liệu đƣợc thực hiện qua nhiều bƣớc: - Tính k - dis(p) cho mẫu p

- Tính R - dis(p,o) cho mẫu o - Tính hàm lrd( )

- Tính LOF(p)

Ƣu điểm của thuật toán LOF so với thuật toán dựa trên khoảng cách đƣợc thể hiện qua ví dụ sau:

Hình 2.4: Phương pháp LOF

Nếu trong cách tiếp cận khoảng cách thì mẫu p2 không bị coi là tách biệt do khoảng cách từ p2 đến C2 gần hơn so với từ C1 đến C2. Trong khi đó với cách tiếp cận LOF, cả p1, p2 đều là phần tử dị biệt

Hạn chế lớn nhất của thuật toán LOF nằm trong việc tính toán khoảng cách có thể tính đƣợc (reachability distance) đƣợc định nghĩa reachdistk(p,o) =max{kdistance(o), distance(p,o)}. Việc tính toán khoảng cách reachability của p bao gồm việc tính toán khoảng cách của tất cả các đối tƣợng trong lân cận của p, sau đó so sánh từng khoảng cách này với kdistance của lân cận đó, việc này sẽ rất tốn kém khi MinPts lớn. Hơn thế nữa, LOF phải tính toán cho tất cả các đối tƣợng trƣớc

khi một vài điểm dị biệt đƣợc phát hiện. Đây không phải là điều chúng ta mong muốn khi các phần tử dị biệt chỉ là một phần rất nhỏ trong toàn bộ tập dữ liệu.

2.2.1.4. Thuật toán LSC - Mine (Local Sparsity Ratio)

Thuật toán LSC-Mine cơ bản dựa vào các định nghĩa của thuật toán LOF nhƣng nó tránh đƣợc việc tính toán các khoảng cách reachability và các mật độ reachability địa phƣơng - những thứ rất tốn kém khi sử dụng thuật toán LOF. Thay vào đó là tỷ số phân bố thƣa thớt địa phƣơng ( local sparsity ratio) nhận đƣợc từ việc tính toán các khoảng cách lân cận. Thêm vào đó, LSC-Mine loại bỏ bớt các đối tƣợng dữ liệu, không có khả năng trở thành điểm dị biệt nhờ nhân tố cắt xén (pruning factor) cũng đƣợc tính toán từ khoảng cách của các lân cận. Các đối tƣợng dữ liệu còn lại nằm trong tập các ứng cử viên có thể trở thành điểm dị biệt.

Tỷ số phân bố thƣa thớt địa phƣơng của một đối tƣợng p ký hiệu lsrk(p) đƣợc định nghĩa là tỷ số của số các số kdistance trong lân cận của p trên tổng số của tất cả các khoảng cách thực trong lân cận đó.

Lsrk(p)=  ( ) ( ) | ) ( | p N O k k k p distofN p N

Trong đó distofNk(P) bao gồm các khoảng cách thực của các đối tƣợng trong lân cận kdistance của p, tỷ số lsr đo sự tập trung của các đối tƣợng xung quanh đối tƣợng p. Các đối tƣợng với mức lsr thấp có khả năng cao trở thành các phần tử dị biệt. Điểm chú ý cuối cùng đó là các điểm dị biệt phụ thuộc vào hệ số “local sparsity” hơn là tỷ số. Nhân tố cắt xét đƣợc bắt nguồn từ việc cho rằng lrs của một đối tƣợng p trong mộttập dữ liệu không nên nhỏ hơn một tỷ số đồng dạng đƣợc tính toán từ tất cả dữ liệu nếu đối tƣợng đó không phải là dị biệt.

Nhân tố cắt xén (Pf) là tỷ số giữa tổng của các khoảng cách tuyệt đối trên toàn bộ tổng của các khoảng cách lân cận thực. Công thức toán học là

Pf=  ( ) ( ) | ) ( | p N O k k k p distofN p N

Một khi Pf đƣợc xác định, bất kỳ đối tƣợng nào với lsr nhỏ hơn Pf sẽ đƣợc loại bỏ vì nó không thể thuộc danh sách các ứng cử viên trở thành điểm dị biệt. Với việc sử dụng Pf ta có thể loại bỏ hơn một nửa đối tƣợng của dữ liệu, đây chính là bƣớc đột phá lớn của thuật toán LSC so với LOF.

Hệ số phân bố thƣa thớt địa phƣơng của p ký hiệu là LSCk(p) là tỷ số trung bình của lsr của p trên kdistance các lân cận của nó

LSCk(p)= | ) ( | ) ( ) ( ) ( p N p lsr o lsr k p N O k k k  

Một hệ số LSC cao đánh dấu lân cận xung quanh một đối tƣợng là không đông đúc và do đó có tiềm năng cao trở thành một điểm dị biệt, ngƣợc lại một hệ số LSC thấp đánh dấu một lân cận đông đúc và vì vậy có tiềm năng tƣơng đối thấp để trở thành điểm dị biệt. Hình sau sẽ miêu tả tuần tự các bƣớc trong thuật toán LSC-Mine để xác định điểm dị biệt. Thuật toán LSC-Mine sẽ tính toán kdistance của từng đối tƣợng

(1), (2) lân cận kdistance của chúng, (3) tỷ số lsr của nó, nhân tố cắt xén Pf (4), tập dữ liệu ứng cử không bị cắt xén (5), LSC của các đối tƣợng trong tập dữ liệu không bị cắt xén (6), và cuối cùng xếp loại các đối tƣợng có LSC cao nhất nhƣ là các điểm có khả năng cao nhất thành điểm dị biệt

Hình 2.5: Thuật toán LSC-Mine

2.2.1.5. Thuật toán phân cụm

- Thuật toán phân cụm bằng phƣơng pháp K-means: Thuật toán K-means phân hoạch một tập n đối tƣợng vào trong k cụm sao cho các đối tƣợng trong một cụm khác nhau có độ tƣơng tự thấp. Mỗi cụm đƣợc đại diện bởi trọng tâm (cluster mean) của nó. Phƣơng pháp k-means phân hoạch các đối tƣợng vào các cụm dựa trên khoảng cách của đối tƣợng đó đến trọng tâm của các 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 cụm đang xét là nhỏ nhất. Sau đó các cluster means đƣợc cập nhật. Quá trình đƣợc lặp đi lặp lại cho đến khi hàm mục tiêu đông qui.

- Thuật toán phân cụm bằng phƣơng pháp k-medoids: Thuật toán k- medoids phân hoạch dựa trên nguyên lý cực tiểu các sự khác nhau giữa mỗi đối tƣợng và đối tƣợng đại diện tƣơng ứng, tức là chúng ta có thể sử dụng một đối tƣợng thực sự để đại diện cho cluster đó. Mỗi đối tƣợng còn lại sẽ đƣợc phân vào các cụm mà đối tƣợng đại diện có sự tƣơng tự gần nhất với đối tƣợ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 42 - 48)

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

(74 trang)