AdaBoost – kỹ thuật “Boosting”

Một phần của tài liệu Một số phát hiện mới trong đo lường và phân tích lưu lượng internet. Mô hình và các thuộc tính phân loại lưu lượng theo ứng dụng769 (Trang 108)

5. Bố ục cc ủa luận ỏn

4.2.5.4 AdaBoost – kỹ thuật “Boosting”

AdaBoost là thuật toỏn tương đối mới nhưng l i r t triạ ấ ển v ng do ọ độ chớnh xỏc cao của nú, là một trong cỏc thu t toỏn d ng “ậ ạ boosting” cho phộp nõng cao độ

chớnh xỏc của bộ phõn loại bằng cỏch k t h p nhi u thu t toỏn “y u” v i nhau (m t ế ợ ề ậ ế ớ ộ

thuật toỏn học tựđộng được g i là y u n u nú cú ọ ế ế độ chớnh xỏc nằm trong khoảng từ

50% -60% nhưng khụng bộ hơn 50%).

Adaboost hoạt động bằng một chuỗi cỏc vũng lặp, tại mỗi vũng nú “luyện” một phiờn bản của thuật toỏn yếu khỏc nhau. Cỏc phiờn bản khỏc nhau này được hỡnh thành bằng cỏch gỏn giỏ trị trọng số khỏc nhau cho mỗi đối tượng (luồng lưu lượng) của dữ liệu mẫu, cứ sau mỗi vũng lặp cỏc giỏ trị trọng số này được cập nhật theo cỏch nhấn m ng cỏc ạ đối tượng mà thuật toỏn y u vũng l p tr c gế ở ặ ướ ặp v n ấ đề

với chỳng (tức cú độ chớnh xỏc thấp).

Luận ỏn sử dụng thu t toỏn AdaBoost.MH mụ t trong [57] vỡ nú cho phộp ậ ả

cỏc bộ phõn loại tạo quyết định (phõn loại) dựa trờn tỉ lệ vềđộ_chắc_ch nắ tớnh theo trọng số. Nghiờn cứu sinh đó sửa đổi thu t toỏn cho phự h p v i bài toỏn nh n d ng ậ ợ ớ ậ ạ

luồng lưu lượng IP như sau.

AdaBoost.MH_Training_Process

Khởi tạo trọng số cho cỏc đối tượng dữ liệu mẫu; Tại mỗi vũng lặp i:

“Học” mụ hỡnh phõn loại yếu mới dựa trờn cỏc đối tượng dữ liệu mẫu đó gỏn

trọng số;

Sử dụng độ chớnh xỏc của mụ hỡnh phõn loại yếu đú để cập nh t tr ng s cho ậ ọ ố

cỏc đối tượng dữ liệu mẫu;

AdaBoost.MH_Classification_Process

Tại mỗi vũng lặp i:

Weak_Score = đ ểi m số phõn lo i ỳng tớnh b i b phõn lo i y u i; ạ đ ở ộ ạ ế

If weak_Score := positive: //phõn loạ đi ỳng

True_Score = True_Score + weak_Score else

False_Score = False_Score + (weak_Score x –1.0);

Độ_chắc_ch n = True_Score/(True_Score + False_Score);ắ

Trong quỏ trỡnh phõn loại thuật toỏn chỉ đơn thu n kiầ ểm tra tất cả những đối tượng (luồng lưu lượng) được phõn loại đỳng và sai b i t t c cỏc mụ hỡnh phõn lo i ở ấ ả ạ

yếu và đưa ra độ_chắc_ch nắ là tỉ ệ ữ l gi a 0 và 1 làm c s cho quy t ơ ở ế định phõn lo i. ạ

4.3 Xõy dng mụ hỡnh nhn d ng và phõn lo i lung lưu lượng IP bng phương phỏp hc tự động

Sau khi nghiờn cứu và đỏnh giỏ (hiệu suất) cỏc phương phỏp phõn loại hi n cú, ệ

lượng IP trờn Internet thành sỏu nhúm khỏc nhau theo hướng sử dụng k t h p thu t ế ợ ậ

toỏn lựa chọn thu c tớnh CFS c i ti n và cỏc gi i thu t h c t ộ ả ế ả ậ ọ ựđộng v i cỏc k t qu ớ ế ả

phõn tớch đặc tớnh của cỏc luồng lưu lượng IP. Cú thể trỡnh cụ thể hoỏ ý tưởng c a ủ

mụ hỡnh bằng 3 bước chớnh như sau:

Bước 1. Cỏc gúi lưu lượng đo được gom lại thành cỏc lu ng l u lượng theo nh ồ ư ư định nghĩa lu ng l u lượng chương 3 ồ ư ở

Bước 2. Tỡm tập cỏc thuộc tớnh tố ưi u c a cỏc lu ng l u lượng IP, là cỏc thuộc ủ ồ ư tớnh đặc trưng cho từng nhúm ứng dụng trờn Internet. Tập cỏc thuộc tớnh này sẽ được sử ụ d ng làm đầu vào cho thu t toỏn h c và nhậậ ọ n d ng. ạ

Bước 3. “Học” cỏc qui tắc nhận dạng và phõn loại luồng lưu lượng IP bằng cỏch kết hợp thuật toỏn học tự động với giải thuật lựa chọn thuộc tớnh CFS cải tiến trờn cơ sở tập thu c tớnh lu ng tỡm được bướộ ồ ở c 2. B c này thựướ c ch t gồm ấ hai chương trỡnh con, chương trỡnh thứ nhất là “luyện” để thuật toỏn học tự động tỡm ra cỏc qui tắc phõn lo i đỏng tin cậ y và chương trỡnh con thứ hai là cỏc ạ bộ phõn loại sử dụng cỏc qui tắc tỡm ra ở chương trỡnh con thứ nhất.

Hỡnh 4-3 trỡnh bày lưu đồ thuật toỏn của mụ hỡnh bao gồm tất cả cỏc bước từ

bắt gúi, phõn tớch luồng, lựa chọn thuộc tớnh, học và cuối cựng là cỏc bộ phõn loại luồng. Kết quả của quỏ trỡnh này là l u lư ượng được nh n d ng và phõn chia thành ậ ạ

cỏc lớp khỏc nhau.

Lưu đồ được thực hiện như sau: từ cỏc tập dữ liệu đo trong bảng 2-3 hoặc cú thể là bắt trực tiếp từ mạng, ti n hành xõy dế ựng dữ liệu luồng và phõn tớch thống kờ

để xỏc nh cỏc c tớnh đị đặ đặc trưng của cỏc luồng lưu lượng ứng dụng như đ ó trỡnh bày trong chương 3. Trờn cơ sở kết qu phõn tớch ả đặc tr ng lu ng l u lư ồ ư ượng, mụ hỡnh thực hiện tớnh tập thuộc tớnh của chỳng và lưu trữ dưới dạng cỏc bản ghi thuộc tớnh luồng làm đầu vào cho thuật toỏn học tựđộng.

Tuy nhiờn để cỏc thuật toỏn học tự động bi t b t ế ắ đầu v i thu c tớnh lu ng ớ ộ ồ

nào trước và thuộc tớnh nào sau, c n ph i cú mụ hỡnh ch n thu c tớnh. Ngoài ra cỏc ầ ả ọ ộ

thuật toỏn này chỉ cú thể học được khi cú s n cỏc t p d li u m u và t p d li u ẵ ậ ữ ệ ẫ ậ ữ ệ

kiểm tra đểđỏnh giỏ kết quả học được. K t qu quỏ trỡnh hế ả ọc này là tập cỏc qui tắc nhận dạng và phõn loại lưu lượng và sẽđược ỏp dụng cho cỏc bộ phõn loại để ứng dụng trờn lưu lượng thực của mạng.

Cỏc phần tiếp theo sẽ lần lượt trỡnh bày cỏc bước th c hiự ện thuật toỏn này, bao gồm: bước 2 tỡm tập cỏc thuộc tớnh c a cỏc luủ ồng l u lư ượng và b c 3 mụ hỡnh ướ

lựa chọn thuộc tớnh và thuật toỏn phõn loại luồng tựđộng. Bước 1 đó được trỡnh bày trong cỏc chương 1 và 2 của luận ỏn. Lu lợng mạng (Packets) Bắt gói Phân tích luồng Thuật toán học tự động (C4.5, kNN, Bayes/NBD, Adaboost.MH) Bộ phân loại

Các qui luật (rules) phân loại

Tạo và lấy mẫu luồng Cơ sở dữ liệu luồng Quá trình xử lý “gần” trực tuyến Các quá trình xử lý off-line Tham số luồng: - địa chỉ IP nguồn/đích - cổng ứng dụng nguồn/đích - số hiệu giao thức

- thời gian time-out (20, 40, 60, 90 và 120s)

Tập các thuộc tính luồng:

- độ dài đuôi phân bố IAT luồng - phân bố kích thớc luồng - phân bố IAT gói trong 1 luồng - phân bố kích thớc 1 số gói đầu của luồng - các thuộc tính thể hiện hớng truyền, tính giao dịch, tính tơng tác, vv… của luồng - khác ….

Cơ sở dữ liệu đo sẵn (Traces)

Mô hình lựa chọn thuộc tính (CFS, hoán đổi) N h ã n c á c l ớ p lu lợ n g

Dữ liệu mẫu Mô hình

Hỡnh 4-3 Lưu đồ thuật toỏn phõn loại luồng lưu lượng sử dụng kỹ thuậ ọ ựt h c t động

4.3.1 Chun bị ữ d liu

Để phục v cho vi c xõy dụ ệ ựng và ki m nghi m mụ hỡnh, nghiờn c u sinh s ể ệ ứ ử

dụng 4 tệp dữ liệu trong bảng 2-3, bao gồm DL1, DL2, DL4 và DL6. Việc lựa chọn 2 dữ liệu đo trờn mạng Internet của dự ỏn NLANR và 2 dữ liệ đ ạu o t i mạng ISP/IXP của EVN Telecom nhằm đảm bảo đỏnh giỏ đỳng hiệu suất và độ chớnh xỏc của thuật toỏn họ ực t động c ng nh mụ hỡnh l a ch n thu c tớnh. Cỏc cụng c HUT2FLOW ũ ư ự ọ ộ ụ

và FS2FLOW được sử dụng để t o cỏc luạ ồng lưu lượng IP tương ứng với thời gian time-out = 60s. Kết quả về số lượng luồng t o ra ạ đối v i m i t p d li u nh trong ớ ỗ ậ ữ ệ ư

bảng 4-1.

Một trong những khõu quan trọng của kỹ thuật phõn lo i b ng thu t toỏn h c ạ ằ ậ ọ

độ chớnh xỏc của thuật toỏn học tựđộng tuy nhiờn phương phỏp phổ dụng nh t, s ấ ẽ được trỡnh bày trong mục 4.3.5, là phương phỏp “ ỏnh giỏ chộo”, trong ú ngđ đ ười ta chia dữ liệu thành k phần và luõn phiờn s dử ụng làm d li u m u và d li u ki m ữ ệ ẫ ữ ệ ể

tra. Tuy nhiờn phương phỏp này yờu cầu cỏc phần dữ liệu nhỏ đ ú phải cú kớch thước tương đương nhau, vỡ thế luận ỏn chọn 2 tập dữ liệu (DL1, DL2) cú số lượng luồng tương đương nhau từ Internet và 2 tập dữ liệu (DL4, DL6) cũng cú số lượng luồng tương đương nhau đo tại mạng ISP/IXP c a EVN Telecom. K t quủ ế ả thực nghiệm cho thấy thuật toỏn học đạt độ chớnh xỏc cao nhất trong trường h p này.ợ

Bảng 4-1 Số lượng luồng của mỗi tệp dữ liệ ươu t ng ứng TT Tệp dữ liệu Số lượng luồng (τττττ = 60s) 1 DL1 943 667 2 DL2 887 941 3 DL4 148 183 4 DL6 186397

4.3.2 Xõy dng tp cỏc thuc tớnh ca lung lưu lượng IP

Để tỡm được đầ đủy cỏc thuộc tớnh quan trọng cú thể sử dụng cho vi c nhệ ận dạng và phõn loại luồng lưu lượng IP thỡ ngoài việc dựa vào kết quả của qỳa trớnh phõn tớch luồng, cũn yờu cầu sự hiểu biết sõu sắc về kiến trỳc và cơ chế hoạt động của cỏc giao thức trong mạng Internet. Nghiờn cứu sinh đó thực hiện nghiờn cứu một cỏch chi tiết cơ chế ho t ạ động c a cỏc giao thủ ức trong kiến trỳc phõn lớp TCP/IP, đặc biệt là cỏc cơ chế đ ề i u khiển luồng và sửa lỗi. Kết quả đ ó xỏc định

được tập h p kho ng 42 thu c tớnh ợ ả ộ đặc tr ng, nh trong b ng 4-2, ư ư ả để sử dụng cho bài toỏn phõn loại luồng lưu lượng IP.

Thực tế và theo kiến trỳc IPFIX [61] của IETF, số lượng thuộc tớnh cú thể cú của cỏc luồng lưu lượng IP là rấ ớt l n, tuy nhiờn khụng ph i t t cả ấ ả chỳng đều úng đ

gúp vào quỏ trỡnh phõn loại lưu lượng, do đú việc l a chự ọn và tớnh toỏn giỏ trị cỏc thuộc tớnh trong bảng 4-2 được thực hiện dựa trờn 3 nguyờn tắc là (i) đảm bảo tớnh tổng quỏt, (ii) đảm bảo tớnh hiệu quả và (iii) đảm bảo tớnh chớnh xỏc.

Tớnh tổng quỏt

Theo đú thuộc tớnh được lựa chọn phải hàm chứa trong nú thụng tin cho phộp phõn biệt lưu lượng của cỏc nhúm ứng dụng khỏc nhau và với cỏc thuộc tớnh này cú thể dễ dàng phõn lo i ạ được cỏc gúi/luồng lưu lượng mới cũng như cỏc biến thể của cỏc lớp lưu lượng đó được phõn biệt.

Cõu hỏi đặt ra là cần bao nhiờu thuộc tớnh thỡ đủ cho quỏ trỡnh phõn loại cỏc luồng lưu lượng IP? Về nguyờn tắc, càng nhiều thuộc tớnh thỡ khả năng th hi n ể ệ được hế ất t t cả cỏc biểu hiện biến thiờn của luồng l u lư ượng càng cao và do ú đ độ

chớnh xỏc của thuật toỏn phõn loại cũng cao hơn. Tuy nhiờn thực tế thực hiện mụ hỡnh lại cần phải hạn chế số lượng thuộc tớnh ở một m c nhứ ất định do cỏc yờu c u ầ

về thời gian, cụng suất tớnh toỏn và dung lượng lưu trữ. Giải phỏp là cần cú s cõn ự

bằng giữa hiệu suất tớnh toỏn và độ chớnh xỏc phõn loại, theo đú sẽ chỉ chọn những thuộc tớnh cung cấp nhiều thụng tin cho quỏ trỡnh phõn loại nhất. Mức cõn bằng trong luận ỏn này được chọn qua cỏc bước thực nghiệm.

Tớnh chớnh xỏc

Theo đú cỏc thuộc tớnh được chọn phải cho xỏc su t phõn biấ ệt sai cỏc gúi/luồng lưu lượng càng thấp càng tốt, hay núi cỏch khỏc chỳng phải mụ tả một cỏch chớnh xỏc đặc trưng của luồng lưu lượng từng ứng d ng cụ ụ thể.

Bảng 4-2 Tập cỏc thuộc tớnh của luồng ph c v bài toỏn phõn loụ ụ ại lưu lượng

TT Thuộc tớnh Mụ tả Ki u giỏ trể Cỏc thuộc tớnh chung của cỏc luồng 1 Khoỏ Tập 5 tham số định nghĩa luồng: địa chỉ IP nguồn và đớch, cổng ứng dụng nguồn và đớch, và s nh n d ng giao th c ố ậ ạ ứ Xõu

2 Bắt_đầu thời đ ểi m đến của gúi đầu tiờn của luồng Xõu

3 Kết_thỳc thời đ ểi m đến của gúi cuối cựng của luồng Xõu

4 Thời_lượng độ dài luồng lưu lượng đo bằng às Liờn tục

5 Kớch_thước_gúi_đầu

độ dài phầ ản t i tin c a gúi ủ đầy đủđầu tiờn (gúi đầy đủđược hiểu là gúi cú phần tải tin # 0)

Liờn tục

6 Hướng_một_số_gúi_đầu

Chuỗi 10 giỏ trị rời rạc (-1 hoặc 1) nhằm xỏc

định hướng truyền của m t s (<=10) gúi ộ ố đầu tiờn của lu ng: ồ

1: nếu hướng là từ nỳt khởi tạo luồng n đế

nỳt đỏp ứng

-1: theo hướng ngược lại

Chuỗi 10 giỏ trị

rời rạc lấy giỏ trị - 1 hoặc 1

7 Tỉ_lệ_dữ_liệu

Tỉ lệ giữa tổng số byte dữ liệu (chỉ tớnh phần tải tin) truyền bởi phớa khởi tạo luồng và bởi phớa đỏp ứng luồng

8 Phõn_bố_I.A.T_gúi

Phõn bố ờ r i rạc khoảng thời gian giữa cỏc th i ờ đ ểi m đến (I.A.T) của cỏc gúi thuộc luồng, thể hiện bởi 1 chuỗi 9 khoảng (bin) giỏ trị liờn tục. Giỏ trị ủ c a mỗi bin n m gi a ằ ữ

0 và 1 và thể hiện tỉ ệ l tương đối cỏc gúi cú I.A.T nằm trong bin đú.

Chuỗi 9 giỏ trị

liờn tục

9 Phõn_bố_I.A.T_luồng

Độ dài phầ đn uụi c a bi u ủ ể đồ phõn b th i ố ờ đ ểi m đến (i.a.t) c a cỏc lu ng l u lủ ồ ư ượng quan sỏt trong 1 cửa sổ thời gian cho trước (2 phỳt).

Liờn tục

10 Phõn_bố_số_luồng Tỉ lệ % số lượng luồng quan sỏt được trong

cửa sổ thời gian cho trước (2 phỳt) Liờn tục

Cỏc thuộc tớnh thể hiện phiờn lam việc kiểu đối thoại (conversation) κdt

Tỉ lệ giữa số lượng gúi đầy đủ thuộ đ ạc o n

đối thoại trờn t ng sổ ố gúi đầy đủ của lu ng ồ Liờn tục

βdt

Tỉ lệ giữa số lượng gúi đầy đủ thuộc m t ộ đ ạo n đối tho i trung bỡnh trờn t ng s gúi ạ ổ ố đầy đủ của lu ng. ồ

Liờn tục 11

γdt

Tỉ lệ cỏc gúi đối thoại truyền bởi phớa khởi

tạo phiờn làm việc Liờn tục

Thuộc tớnh thể hiện phiờn làm việc kiểu giao dịch (transaction)

12

κgd

Dấu hiệu cho biết mức độ thường xuyờn của cỏc trao đổi gúi kiểu “ping-pong” quan sỏt

được trong luồng l u lư ượng

Liờn tục

Cỏc thuộc tớnh trờn mỗi hướng của luồng

13 Phõn_bố_I.A.T_gúi

Phõn bố ờ r i rạc thể hiện bởi một chuỗi 9 giỏ trị liờn tục, cỏc giỏ trị liờn tục này thực ra là cỏc khoảng (bin) giỏ trị ủ c a khoảng thời gian giữa cỏc thời đ ểi m đến (I.A.T) của cỏc gúi trờn hướng đang xột. Giỏ trị trong mỗi bin nằm trong khoảng 0 và 1 và thể hiện tỉ ệ l tương đối cỏc gúi nằm trong bin đú.

Chuỗi 9 giỏ trị

liờn tục

14 Phõn_bố_tải tin Phõn bố ờ r i rạc chiều dài phần tải tin của cỏc

gúi thể hiện bởi một chuỗi 23 giỏ trị liờn tục,

Chuỗi 23 giỏ trị

cỏc giỏ trị liờn tục này thực ra là cỏc khoảng (bin) giỏ trị ủ c a chiều dài phần tải tin của mỗi gúi. Giỏ trị trong mỗi bin nằm trong khoảng 0 và 1.

15 Số_byte

Tổng số byte truyền (bao gồm cả cỏc byte phần tiờu đề lớp mạng và lớp vận chuyển) trờn hướng xột

Liờn tục

16 Số_byte_dữ_liệu Tổng số byte dữ liệu (tải tin) truyền trờn

hướng xột Liờn tục

17 Số_gúi Tổng số gúi truyền trờn hướng Liờn tục

18 Số_gúi_dữ_liệu Tổng số gúi đầy đủ (cú phần tải tin #0)

truyền trờn hướng Liờn tục

Cỏc thuộc tớnh th hi n phiờn làm vi c ki u tương tỏc t bàn phớm (keystroke interactive) ể ệ ệ ể ừ

19 κκκκκp

Dấu hiệu thể hiện sự thay đổi về thời lượng giữa cỏc lần phỏt gúi tương tỏc (nhận từ bàn phớm)

Liờn tục

20 βββββp Dấu hiệu tương tỏc dựa trờn tỉ lệ cỏc gúi nhỏ Liờn tục

21 γγγγγp Dấu hiệu về sự xuất hiện liờn tục của cỏc gúi nhỏ Liờn tục 22 δδδδδp Dấu hiệu về kiểu truyền kết hợp (piggy packing) Liờn tục 23 εεεεεp Dấu hiệu về sự khụng bỡnh thường (đồng bộ) của thời lượng giữa cỏc gúi của cỏc gúi nhỏ

liờn tiếp

Liờn tục

Cỏc thuộc tớnh th hi n phiờn làm vi c ki u tương tỏc dũng l nh (command-line interactive) ể ệ ệ ể ệ

24 κκκκκdl

Dấu hiệu về sự thay đổi thời lượng giữa cỏc

lần phỏt gúi (đối với cỏc gúi dũng lệnh) Liờn tục 25 βββββdl Dấu hiệu về sự tương tỏc dựa trờn tỉ lệ cỏc gúi nhỏ Liờn tục 26 γγγγγdl Dấu hiệu về sự xuất hiện của cỏc gúi nhỏ liờn tiếp Liờn tục

27 δδδδδdl Dấu hiệu về kiểu truyền piggy-packing Liờn tục

Một phần của tài liệu Một số phát hiện mới trong đo lường và phân tích lưu lượng internet. Mô hình và các thuộc tính phân loại lưu lượng theo ứng dụng769 (Trang 108)