Để dự đoán một phân bố lý thuyết nào đó thích hợp cho việc mô tả dữ liệu đo thực nghiệm, cần thực hiện 3 bước: thứ nhất (i) đảm bảo tính phù hợp của dữ liệu đo, theo đó dữ liệu đo phải đảm bảo một số thuộc tính quan trọng bao gồm: tính độc lập (ngẫu nhiên), tính tĩnh và không thể hiện một xu hướng (qui luật) nào; bước thứ hai (ii) là chọn một phân bố phù hợp nhất theo trực quan với dữ liệu đo gọi là phân bố giả định và dự đoán các tham số của phân bố này, và bước cuối cùng (iii) kiểm tra mức độ phù hợp về mặt toán học xem đã đạt yêu cầu chưa, nếu chưa đạt thì lặp lại thuật toán ở bước (ii). Thực ra bước 3 là bước xem xét sai số về mức độ phù hợp giữa mô hình giả định và dữ liệu đo.Việc kiểm tra tính phù hợp của dữ liệu đo bước (i) xem như đã biết. Do đó sau đây chỉ trình bày các bước ii và iii.
• Dự đoán các tham số của phân bố
Trước khi có thể dự đoán các tham số của phân bố, chúng ta phải xác định phân bố phù hợp nhất để dự đoán hay còn gọi là phân bố giả định. Phương pháp thực hiện là phân dữ liệu đo thành các nhóm nhỏ, gọi là bin, để vẽ biểu đồ tần suất xuất hiện (histogram) của chúng, từ đó xác định hình dạng hàm mật độ phân bố tương ứng với phân bố lý thuyết nào.Tiếp theo sử dụng dữ liệu đo để dự đoán các thông số của phân bố giả định.
Về mặt lý thuyết, có nhiều phương pháp để dự đoán các tham số của một phân bố, tuy nhiên có hai phương pháp mà chúng ta thấy phù hợp với vấn đề nghiên cứu đặc điểm lưu lượng mạng Internet ở mức luồng đó là phương pháp MLE và phương pháp tổng hợp mẫu dữ liệu.
• Phương pháp MLE (Maximum Likelihood Estimation)
Nói một cách dễ hiểu nhất, MLE là phương pháp tối ưu hoá xác suất để tập dữ liệu đo là kết quả của một mô hình xác suất giả định. Cụ thể MLE hoạt động như sau: giả thiết f(x; p1,…pq) là hàm mật độ xác suất của tập dữ liệu thực nghiệm x và F(x; p1,…pq) là hàm phân bố xác suất (luỹ tích) với P = (p1,…pq) là tập q tham số cần dự đoán. Định nghĩa hàm xác suất (likelihood) L như sau:
L = ∏ = N J q j p p x f 1 1,... ) ; ( (2.18) Tuy nhiên để tiện cho việc tính toán, chúng ta tính hàm xác suất log như sau:
Log L = ∑ = N J j q p p x f 1 1 ) ... ; ( (2.19) Toán tử dự đoán MLE P∧ của vectơ các tham số cần dự đoán được xác định bằng cách tối đa hoá hàm xác suất log. Hàm xác suất log đạt giá trị lớn nhất khi các biểu thức vi phân (đạo hàm) của chúng bằng 0, như sau:
∑ = ∂ ∂ = ∂ ∂ N J j q k k F X p p p f p L 1 ( 1... ) / log , k = 1,…q (2.20)
Do đó việc giải tập các phương trình:
k
p
∂
∂log
=0 sẽ cho kết quả là vectơ các tham số cần dự đoán của phân bố phù hợp.
• Phương pháp tổng hợp dữ liệu (Scaling)
Phương pháp tổng hợp dữ liệu thường được sử dụng để dự đoán các tham số (cụ thể là α) của các phân bố vệt dài. Thực tế các tập dữ liệu đo thực nghiệm thường không hoàn toàn phù hợp với một phân bố lý thuyết duy nhất, đặc biệt dữ liệu đo lưu lượng mạng Internet thường có phần đuôi kéo dài bắt đầu tại một điểm xh nhất định nào đó. Các phương pháp dự đoán tham số của phân bố thường phải bắt đầu bằng việc xác định điểm xh này và thường là rất phù hợp nhất và dự đoán thông số độ dốc α tương ứng của khu vực này. Còn phương pháp tổng hợp dữ liệu sẽ tự động phát hiện khu vực đuôi kéo dài phù hợp nhất và dự đoán thông số độ dốc α tương ứng của khu vực này. Do đó phương pháp tổ hợp dữ liệu sẽ thực hiện như sau: tiến hành tổng hợp tập dữ liệu thực nghiệm với các bước m khác nhau và dự đoán tham số α cho mỗi mức tổng hợp. Cuối cùng chọn giá trị α nào xuất hiện nhiều nhất trong các mức tổng hợp. Trong phần sau chúng ta sẽ dùng phương pháp này để đánh giá độ dài đuôi của các phân bố thực nghiệm theo giá trị α dự đoán.
Sau khi đã có được các tham số dự đoán của phân bố giả định, bước tiếp theo là kiểm tra xem phân bố giả định có thực sự phù hợp hay không và phù hợp đến mức độ nào với tập dữ liệu thực nghiệm. Có nhiều phương pháp kiểm tra mức độ phù hợp về mặt toán học giữa phân bố dữ liệu thực nghiệm và phân bố giả định, nhưng có 4 phương pháp hiệu quả và hay được sử dụng nhất là (i) phương pháp phân bố χ2
(Chi-Squared), là phương pháp phổ biến nhất và có thể sử dụng cho bất kỳ phân bố
nào, rời rạc hay liên tục, để tính hàm cdf của phân bố. Thứ hai (ii) phương pháp kiểm tra chỉ số KS (Kolmogorov-Smirnov) và thứ ba (iii) phương pháp Anderson- Darling, thực chất chỉ là phiên bản cải tiến của phương pháp kiểm tra KS, cả hai phương pháp này đều dành cho dữ liệu liên tục. Cuối cùng (iv) là phương pháp đơn giản nhất kiểm tra các chỉ số SSE (tổng bình phương các giá trị sai số) và R2 (R- Square). Dưới đây trình bày tóm tắt 3 phương pháp là Chi-Square, KS và SSE/R2. Phương pháp SSE/R2 tính toán mức độ sai khác trên từng giá trị rời rạc giữa phân bố dữ liệu thực nghiệm và phân bố giả định, còn phương pháp KS kiểm tra mức độ sai khác trên toàn bộ phân bố (hàm cdf) giữa dữ liệu thực nghiệm và phân bố giả định. Ngoài 4 phương pháp trên, mức độ phù hợp còn cần được kiểm tra bằng đồ hoạ bởi việc quan sát hàm CCDF thực nghiệm với các hàm CCDF giả định hoặc bằng đồ thị Q-Q.
• Phương pháp phân bố χ2
Trong phương pháp này người ta chia các mẫu dữ liệu đo thành K lớp (bin), số lượng mẫu trong các lớp không nhất thiết phải bằng nhau. Giả thiết gọi Oi là số lượng mẫu quan sát được trong lớp thứ i.
- Giả thiết H0: là dữ liệu thực nghiệm tuân theo phân bố giả định
- Giả thiết Ha: là dữ liệu thực nghiệm không tuân theo phân bố giả định Thông số thống kê kiểm tra được tính như sau:
χ2 = ∑ = − k l i i i i E E O ) / ( 2 (2.21) Trong đó Ei là trị trung bình số lượng mẫu quan sát được trong lớp i, và được tính như sau;
Ei = Npi (2.22) Với Pi = Fx(yu) - Fx(yl) (2.23) Trong đó Fx(X) với hàm phân bố luỹ tích (CDF) của phân bố giả định:
Fx(c) = Pr{X<c }, và yu là giới hạn trên cuả lớp i còn yl là giới hạn dưới của lớp i. N là số lượng mẫu.
Nhược điểm của phương pháp kiểm tra này là phụ thuộc vào việc lựa chọn kích thước bin và cũng không có một kích thước bin nào được xem là tối ưu mà nó phụ thuộc vào từng phân bố giả định cụ thể, tuy nhiên thường người ta hay sử dụng kích thước bin là 0,3*s, trong đó s là độ lệch tiêu chuẩn của tập dữ liệu, các giới hạn trên và dưới bằng trị trung bình của bin cộng và trừ 1 lượng tương ứng là 0,6*s. Ngoài ra để kết quả của phép kiểm tra này hợp lệ thì giá trị Ei phải tối thiểu = 5.
Vùng quan trọng: giả thiết dữ liệu thực nghiệm tuân theo phân bố giả định sẽ bị từ chống nếu:
χ2 > χ2
α, K-c (2.24) Trong đó K là số lượng bin, c bằng số lượng tham số cần dự đoán (bao gồm tham số vị trí như trung bình, trung tâm, tham số thang như trị biến thiên, độ lệch tiêu chuẩn, và các tham số hình dạng) của phân bố giả định +1. Ví dụ phân bố Weilbull được xác định bởi 3 tham số nên c = 3+1 = 4. Do đó (K-c) là độ tự do của phân bố Chi-Square (χ2). Còn α là mức quan trọng (là xác suất từ chối phân bố giả định, giá trị cụ thể của α tuỳ thuộc vào nghiên cứu nhưng thường được xác định là xác suất tương đối nhỏ 0,05 hay 5%), đôi khi người ta cũng lấy giá trị α = 0,1 ở đây ta lấy α = 0,05.
• Phương pháp kiểm tra KS
Phép kiểm tra KS xem xét lượng sai khác giữa hàm CDF thực nghiệm và hàm phân bố giả định do đó cho độ chính xác rất cao. Giả thiết dữ liệu mẫu lấy từ phân bố F (phân bố giả định) có hàm mật độ là f(x;p1,…pq), với các tham số từ p1 đến pq.
Và hàm phân bố luỹ tích (CDF) thực nghiệm Fe (x) được xác định như trong phương trình (2.5).
Lượng khác nhau giữa hai phân bố theo phương pháp kiểm tra KS được tính như sau:
D = supxFe(x)-F(x)= max {supx (Fe(x)-F(x)), supx (F(x)-Fe(x))} (2.25) Trong đó D gọi là chỉ số thống kê KS. Với mỗi phân bố giả định, một giá trị ngưỡng được xác định cho D để từ chối hoặc chấp nhận phân bố giả định đó là phù hợp với dữ liệu thực nghiệm. Mức quan trọng α sẽ quyết định xác suất mà giả thiết H0 bị từ chối, thậm chí cả trong trường hợp nó đúng. Theo đó mức quan trọng càng cao thì xác suất phép kiểm tra KS sẽ từ chối H0 càng cao và ngược lại với mức quan trọng thấp thì phép kiểm tra thường đưa ra kết quả là H0 không thể bị từ chối. Giống như phương pháp Chi-Square ở đây chọn mức quan trọng của phân bố là 5%.
• Phương pháp kiểm tra SSE và R2
Khác với phép kiểm tra KS, phương pháp SSE và R2 không tính toán lượng khác nhau giữa hàm cdf của hai phân bố, thay vào đó nó tính lượng sai khác giữa hai phân bố (thực nghiệm và giả định) trên cơ sở từng giá trị rời rạc của chúng. Cụ thể như sau
SSE là thông số thống kê đo lường tổng dung sai giữa các giá trị thực nghiệm và giá trị thặng dư. Công thức tính SSE có dạng như sau:
SSE = 2 i( ) w ∑n −∧ i i i y y (2.26)
Trong đó yi là giá trị mẫu lưu lượng thực nghiệm và y∧ilà giá trị mẫu tương ứng của phân bố giả định.
Giá trị chỉ số SSE càng gần 0 thì có nghĩa là mô hình có tổng các lỗi ngẫu nhiên thành phần bé hay nói cách khác là phân bố giả định phù hợp hơn với dữ liệu thực nghiệm khi SSE tiến gần tới 0.
Còn chỉ số R2 lại đo lường mức độ phù hợp giữa số liệu thực nghiệm và phân bố giả định trên khía cạnh biến thiên của chúng hay nói cách khác R2 là bình phương của hệ số tương quan giữa giá trị thực nghiệm và giá trị giả định tương ứng và được tính như sau:
R2 = SST SSE SST SSR =1− (2.27) Trong đó: SSR = 2 i( ) W ∑ = ∧ n l i i y y và SST = ∑ = − n l i i i y y 2 i( ) W (2.28) R2 càng gần 1 thì có nghĩa là độ phù hợp càng cao. 2.5. Kết luận chương
Các kết quả bắt giữ và phân tích đặc tính luồng này sẽ được sử dụng để tính toán tập các thuộc tính đặc trưng của các luồng lưu lượng IP phục vụ cho mô hình nhận dạng và phân loại lưu lượng theo kiểu ứng dụng.
Nói chung, chúng ta cần đạt được hai mục đích quan trọng là:
- Thực hiện bắt giữ và nghiên cứu đầy đủ và chi tiết các đặc tính và biểu hiện hoạt động của các luồng lưu lượng IP trên Internet làm cơ sở cho việc tính toán tập các thuộc tính đặc trưng của chúng.
- Trên cơ sở tập thuộc tính đặc trưng đó xây dựng mô hình cho phép tự động nhận dạng và phân chia lưu lượng Internet thành các nhóm ứng dụng khác nhau.
CHƯƠNG 3 : MÔ HÌNH TỰ ĐỘNG NHẬN DẠNG, PHÂN LOẠI LƯU LƯỢNG IP TRÊN INTERNET VÀ ĐỀ XUẤT ỨNG DỤNG 3.1. Cơ sở lý thuyết
3.1.1. Tổng quan về học tự động
Việc xây dựng chương trình nhận dạng và phân loại lưu lượng luồng IP dựa trên cơ sở lý thuyết học tự động. [12] Về mặt toán học, có thể xem học tự động là là một quá trình quy nạp tổng quát, trong đó các bước xây dựng mô hình được thực hiện dựa trên kết quả của bước trước. Hiện nay, kỹ thuật này đã được ứng dụng thành công trên nhiều lĩnh vực như tổ chức và truy nhập cơ sở dữ liệu quan hệ, nhận dạng tiếng nói và ký tự hay nhận dạng ảnh... Trong luận văn, kỹ thuật học tự động được áp dụng vào quá trình nhận dạng và phân loại các luồng lưu lượng IP trên Internet.
Các thành phần của một quá trình phân loại bằng kỹ thuật học tự động đầy đủ bao gồm:
- Dữ liệu mẫu và dữ liệu kiểm tra: Là tập con của dữ liệu đầu vào cần phân loại để thuật toán có thể “học” được quy luật phân loại từ đó. Dữ liệu mẫu thường là chuỗi các thuộc tính của dữ liệu và một trong số đó là lớp của dữ liệu. Còn dữ liệu kiểm tra là dữ liệu để kiểm tra độ chính xác của thuật toán vừa học được từ dữ liệu mẫu.
- Tập các thuộc tính/ đặc tính: thuộc tính là một trong các nhân tố mô tả một khía cạnh cụ thể của dữ liệu đầu vào. Một thuộc tính đặc biệt đó là “lớp” của dữ liệu (tên lớp lưu lượng mà dữ liệu này sẽ được phân loại thành). Thực tế một đơn vị dữ liệu đầu vào của quá trình phân loại được thể hiện bằng tập các thuộc tính liên quan đến nó.
- Tiến trình phân loại: là bộ phận loại cho phép phân chia các dữ liệu đầu vào theo một hoặc nhiều quy luật phân loại cho trước.
- Thuật toán học: bộ phận loại sẽ học các quy luật phân loại từ tập dữ liệu mẫu. Tuy nhiên không phải kỹ thuật học tự động nào cũng có tiến trình này.
- Tiến trình phân nhóm: là quá trình chia các tập dữ liệu chưa được phân lớp thành các nhóm chứa các đơn vị dữ liệu tương tự nhau.
Kỹ thuật học tự động được chia làm hai loại là học có giám sát và học không có giám sát.
Học có giám sát là phương pháp học trong đó có xác định trước một số tập dữ liệu mẫu chứa các lớp dữ liệu đã được phân loại, hệ thống sau đó sẽ xác định các điểm chung và khác nhau giữa các lớp trong dữ liệu mẫu để tạo ra các quy luật phân loại cho những dữ liệu mới. Quy luật phân loại tìm được sẽ gán tên lớp cho một dữ liệu mới dựa trên giá trị của các thuộc tính của nó.
Học không có giám sát là quá trình học mà không có dữ liệu mẫu và thuật toán học phải tự nó phân chia dữ liệu đầu vào thành các nhóm khác nhau và tìm mô tả chung cho từng nhóm, vì thế phương pháp này còn được gọi là quá trình phân nhóm (Clustering). Quy luật phân loại cần tìm sẽ là tóm tắt một số đặc điểm của dữ liệu trong từng lớp. Tuy nhiên các kết quả này sẽ phụ thuộc vào thuật toán phân nhóm và thường có độ chính xác không cao.
3.1.2. Lựa chọn thuộc tính
Là quá trình chọn lựa các tập con của tập thuộc tính với mục đích tối ưu hoá hiệu suất hoạt động của quá trình học và phân loại dữ liệu. Quy trình chọn thuộc tính cùng với số lượng thuộc tính ảnh hưởng rất lớn đến tính hiệu quả cũng như độ chính xác của quá trình phân loại. Nếu số lượng thuộc tính quá nhiều sẽ ảnh hưởng đến hiệu suất quá trình học, phân loại về mặt thời gian và chiếm dụng bộ nhớ. Tuy nhiên, số lượng thuộc tính ít có thể ảnh hưởng đến độ chính xác của quá trình phân loại. Ngoài ra, cũng cần phải loại bỏ các thuộc tính không hợp lệ để tăng độ chính xác của quá trình học.
Tập thuộc tính của dữ liệu thường rất lớn, có thể tới vài trăm thuộc tính và "chất lượng" của từng thuộc tính lại khác nhau; do đó nhu cầu là cần phải giảm số lượng thuộc tính đưa vào bộ phân loại và đồng thời chọn các thuộc tính có chất lượng cao trước nhằm giảm thời gian và tăng độ chính xác quá trình phân loại.
Hiện nay có nhiều thuật toán học tự động khác nhau nhưng trong luận văn này chỉ trình bày tóm tắt 4 thuật toán học có giám sát cơ bản là: