Huấn luyện dữ liệu thực nghiệm và vẽ bản đồ SOM.

Một phần của tài liệu Ứng dụng bản đồ tự tổ chức self organizing map (SOM) nhằm phát hiện tấn công web server qua hành vi luận văn thạc sĩ (Trang 70 - 74)

CHƢƠNG 5: THIẾT KẾ, CÀI ĐẶT THỰC NGHIỆM VÀ ĐÁNH GIÁ CHƢƠNG TRÌNH

5.9.4.Huấn luyện dữ liệu thực nghiệm và vẽ bản đồ SOM.

Theo [6], quá trình thử nghiệm huấn luyện bản đồ SOM với dữ liệu “bình thƣờng” và tấn cơng khác nhau để xem độ chính xác của việc phân lớp mẫu bình thƣờng và tấn cơng trên bản đồ SOM. Bản đồ đƣợc sử dụng để thử nghiệm với kích thƣớc lớn nhỏ hơn 20 nơron, cho tỷ lệ phân bố các mẫu bình thƣờng và tấn cơng khá chính xác (hơn 90%) trên bản đồ.

Trong đề tài này, tác giả sử dụng dữ liệu “bất thƣờng” (dữ liệu đƣợc thu thập trong trạng thái máy chủ Web đang bị tấn cơng xâm nhập) để huấn luyện nên cĩ thể sử dụng bản đồ với kích thƣớc lớn hơn 20 nơron. Số nơron càng lớn thì độ phân giải bản đồ sẽ càng mịn nhƣng quá trình huấn luyện sẽ lâu hơn.

Sau thời gian dài kiểm nghiệm, tác giả đề xuất bản đồ đƣợc sử dụng là 96 nơron với kích thƣớc 12 x 8 và hàm lân cận Gaussian để đảm bảo độ mịn và thời gian huấn luyện chấp nhận đƣợc.

Cấu hình máy dùng để huấn luyện:

 CPU core i5, RAM: 1G, ổ cứng 20G  HĐH: Linux CentOS 6.2

Khởi tạo các nơron ngẫu nhiên.

Sử dụng chƣơng trình randinit để khởi tạo ngẫu nhiên 96 nơron.

./randinit -din data-training.txt -cout data-training.cod -topol hexa -neigh gaussian -xdim 12 -ydim 8

Huấn luyện dữ liệu các vectơ .

Bản đồ đƣợc huấn luyện bởi thuật tốn “bản đồ tự tổ chức” sử dụng chƣơng trình vsom.

./vsom -cin data-training.cod -din data-training.txt -cout data-training1.cod -rlen 100000 -alpha 0.05 -radius 10

Tính lỗi lƣợng tử trung bình.

Sử dụng chƣơng trình qerror của thuật tốn “bản đồ tự tổ chức” để tính lỗi lƣợng tử trung bình.

./qerror -cin data-training1.cod -din data-training.txt

Vẽ bản đồ dữ liệu các vectơ huấn luyện và bản đồ nơron.

Dùng chƣơng trình Sammon để vẽ các bản đồ. Vẽ bản đồ dữ liệu các vectơ huấn luyện.

Hình 5.13: Bản đồ các vectơ huấn luyện

Vẽ bản đồ 96 nơron ngẫu nhiên.

./sammon -cin data-training.bando -cout data-training.ngaunhien -rlen 100000 -ps 1

Vẽ bản đồ nơron sau khi huấn luyện.

./sammon -cin data-training1.cod -cout data-training2.cod -rlen 100000 -ps 1

Hình 5.15: Bản đồ SOM sau khi huấn luyện

Với dữ liệu hơn 10000 vectơ và số nơron đƣợc chọn để đƣa vào huấn luyện là 96 nơron. Sau khi chuẩn hĩa dữ liệu, tiến hành huấn luyện bản đồ với mỗi lần huấn luyện ta tính lỗi lƣợng tử trung bình của bản đồ, thu đƣợc bản thống kê sau:

Số lần học Thời gian học (giây) Lỗi lƣợng tử trung bình

100 0 0.510101 500 0 0.758031 1000 0 0.610004 5000 1 0.181314 10000 1 0.147686 50000 5 0.042248 100000 9 0.024964 200000 18 0.036884 500000 46 0.028759 1000000 93 0.027286 Nhận xét:

 96 nơron ở vị trí ngẫu nhiên sẽ đƣợc các vectơ huấn luyện kéo co về vị trí sau khi huấn luyện.

 Số lần học càng nhiều thì thời gian huấn luyện càng tăng.

 Chất lƣợng bản đồ khơng phụ thuộc vào thời gian huấn luyện, bản đồ tốt nhất là bản đồ cĩ lỗi lƣợng tử trung bình thấp nhất.

Một phần của tài liệu Ứng dụng bản đồ tự tổ chức self organizing map (SOM) nhằm phát hiện tấn công web server qua hành vi luận văn thạc sĩ (Trang 70 - 74)