CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
2.1. Các kỹ thuật máy học
2.1.1. Các kỹ thuật máy học đơn
2.1.1.1. Máy véc-tơ hỗ trợ
Máy véc-tơ hỗ trợ (Support Vector Machines - SVM là một giải thuật máy học dựa trên lý thuyết học thống kê do Vapnik (1998) đề xuất. Bài tốn cơ bản của SVM là bài tốn kiểu tấn cơng loại 2 lớp: Cho trước n điểm trong khơng gian d chiều (mỗi điểm thuộc vào một lớp ký hiệu là +1 hoặc - 1, mục đích của giải thuật SVM là tìm một siêu phẳng (hyperplane) phân hoạch tối ưu cho phép chia các điểm này thành hai phần sao cho các điểm cùng một lớp nằm về một phía với siêu phẳng này.
Xét tập dữ liệu mẫu cĩ thể tách rời tuyến tính {(x1, y1), (x2, y2), ..., (xn, yn)} với
xi Rd và yi {±1}. Siêu phẳng tối ưu phân tập dữ liệu này thành hai lớp là siêu phẳng cĩ thể tách rời dữ liệu thành hai lớp riêng biệt với lề (margin) lớn nhất. Tức là, cần tìm siêu phẳng H: y = w.x + b = 0 và hai siêu phẳng H1, H2 hỗ trợ song song với H và cĩ cùng khoảng cách đến H. Với điều kiện khơng cĩ phần tử nào của tập mẫu nằm giữa
H1 và H2, khi đĩ:
w.x + b ≥ +1 với y = +1 và w.x + b ≤ - 1 với y = - 1, kết hợp ta cĩ y (w.x + b)
≥ 1.
Khoảng cách của siêu phẳng H1 và H2 đến H là: ||𝑤|| = √𝑤12+ 𝑤22+ ⋯ + 𝑤𝑛2
Ta cần tìm siêu phẳng H với lề lớn nhất, tức là giải bài tốn tối ưu tìm min
𝑤,𝑏 ||𝑤|| với ràng buộc y (w.x + b) ≥ 1. Từ đĩ giải để tìm được các giá trị tối ưu cho w, b. Về sau, việc phân loại một mẫu mới chỉ là việc kiểm tra hàm dấu sign (w.x + b).
Lời giải tìm siêu phẳng tối ưu trên cĩ thể mở rộng trong trường hợp dữ liệu khơng thể tách rời tuyến tính bằng cách ánh xạ dữ liệu vào một khơng gian cĩ số chiều lớn hơn, qua việc sử dụng một hàm nhân như: Polynomial, Laplacian, Sigmoid, Gaussian, …
2.1.1.2. Mạng nơ-ron nhân tạo
Mạng nơ-ron nhân tạo (Artificial Neural Network - ANN) là mơ hình xử lý thơng tin được mơ phỏng dựa trên hoạt động của hệ thống thần kinh của sinh vật, bao
gồm số lượng lớn các nơ-ron được gắn kết để xử lý thơng tin. ANN giống như bộ não con người, được học bởi kinh nghiệm (thơng qua huấn luyện), cĩ khả năng lưu giữ những kinh nghiệm hiểu biết (tri thức) và sử dụng những tri thức đĩ trong việc dự đốn các dữ liệu chưa biết (unseen data).
ANN được huấn luyện hay được học theo 2 kỹ thuật cơ bản là học cĩ giám sát và học khơng giám sát.
- Học cĩ giám sát: quá trình huấn luyện được lặp lại cho đến khi kết quả (output) của ANN đạt được giá trị mong muốn đã biết. Điển hình cho kỹ thuật này là mạng nơ-ron lan truyền ngược (back - propagation).
- Học khơng giám sát: khơng sử dụng tri thức bên ngồi trong quá trình học, nên cịn gọi là tự tổ chức (Self - Organizing). Mạng nơ-ron điển hình được huấn luyện theo kiểu khơng giám sát là Self - Organizing Map (SOM).
Quá trình học cĩ giám sát của ANN được mơ tả như sau: 1. Tính giá trị output.
2. So sánh output với giá trị mong muốn (desired value).
3. Nếu chưa đạt giá trị mong muốn thì chỉnh trọng số (weights) và tính lại output.
Hình 2.3. Quá trình học cĩ giám sát của ANN.
Giả sử sau khi tính tốn từ các input value đã cho, ta cĩ output là Y. Giá trị mong muốn (desired) là Z đã biết trước. Sự chênh lệch giữa Y và kết quả mong muốn Z được biểu diễn bởi tham số delta (gọi là lỗi) = Z - Y. Mục đích của việc học
là làm sao cho delta càng nhỏ càng tốt (nếu delta =0 là hồn hảo nhất) bằng cách điều chỉnh trọng số (weights) của các dữ liệu vào.
Hình 2.4. Giảm thiểu tham số delta bằng cách điều chỉnh trọng số.
2.1.1.3. Cây quyết định
Cây quyết định (Decision Tree - DT), với những ưu điểm của mình được đánh giá là một cơng cụ mạnh, phổ biến và đặc biệt thích hợp cho data mining nĩi chung và kiểu tấn cơng dữ liệu nĩi riêng [4]. Cĩ thể kể ra những ưu điểm của cây quyết định như: xây dựng tương đối nhanh; đơn giản, dễ hiểu. Hơn nữa các cây cĩ thể dễ dàng được chuyển đổi sang các câu lệnh SQL để cĩ thể được sử dụng để truy nhập cơ sở dữ liệu một cách hiệu quả. Cuối cùng, việc kiểu tấn cơng dựa trên cây quyết định đạt được sự tương tự và đơi khi là chính xác hơn so với các phương pháp kiểu tấn cơng khác [5]. Cây quyết định là biểu đồ phát triển cĩ cấu trúc dạng cây, như mơ tả trong Hình 2.5: Hình 2.5. Cây quyết định. Zj delta = Zj - Yj Hàm chuyển giao xi x2 x1 w1j w2j wij Nơ ron j = wijxi ∫ delta Yj Loại giao thức Loại dịch vụ Tấn cơng Cờ UDP TCP ICMP Bình thường Tấn cơng Bình thường Tấn cơng HTTP FTP S0 S1
Trong cây quyết định:
- Gốc: là node trên cùng của cây.
- Node trong: biểu diễn một kiểm tra trên một thuộc tính đơn. - Nhánh: biểu diễn các kết quả của kiểm tra trên node trong. - Node lá: biểu diễn lớp hay sự phân phối lớp.
Để kiểu tấn cơng mẫu dữ liệu chưa biết, giá trị các thuộc tính của mẫu được đưa vào kiểm tra trên cây quyết định. Mỗi mẫu tương ứng cĩ một đường đi từ gốc đến lá và lá biểu diễn dự đốn giá trị kiểu tấn cơng mẫu đĩ.
2.1.1.4. Nạve Bayes
Thuật tốn Nạve Bayes dựa trên định lý Bayes được phát biểu như sau:
𝑃(𝑌|𝑋) =𝑃(𝑋𝑌)
𝑃(𝑋) =
𝑃(𝑋|𝑌)𝑃(𝑌)
𝑃(𝑋)
Áp dụng trong bài tốn phân loại, các dữ kiện gồm cĩ:
D: tập dữ liệu huấn luyện đã được véc-tơ hĩa dưới dạng 𝑥⃗ = (𝑥1, 𝑥2, … , 𝑥𝑛) Ci: kiểu tấn cơng i, với i = {1, 2, …, m}.
Các thuộc tính độc lập điều kiện đơi một với nhau. Theo định lý Bayes:
𝑃(𝐶𝑖|𝑋) = 𝑃(𝑋|𝐶𝑖)𝑃(𝐶𝑖)
𝑃(𝑋)
Theo tính chất độc lập điều kiện:
𝑃(𝑋|𝐶𝑖) = ∏ 𝑃(𝑥𝑘|𝐶𝑖)
𝑛
𝑘=1
Trong đĩ:
- 𝑃(𝐶𝑖|𝑋) là xác suất thuộc kiểu tấn cơng i khi biết trước mẫu X. - 𝑃(𝐶𝑖) xác suất là kiểu tấn cơng i.
- 𝑃(𝑥𝑘|𝐶𝑖) xác suất thuộc tính thứ k mang giá trị xk khi đã biết X thuộc kiểu tấn cơng i.
Các bước thực hiện thuật tốn Nạve Bayes:
Bước 2: Kiểu tấn cơng 𝑋𝑛𝑒𝑤 = (𝑥1, 𝑥2, … , 𝑥𝑛), ta cần tính xác suất thuộc từng kiểu tấn cơng khi đã biết trước Xnew. Xnew được gán vào lớp cĩ xác suất lớn nhất theo cơng thức max 𝐶𝑖∈𝐶 (𝑃(𝐶𝑖) ∏ 𝑃(𝑥𝑘|𝐶𝑖) 𝑛 𝑘=1 ) 2.1.1.5. K láng giềng gần nhất
Thuật tốn k láng giềng gần nhất (k Nearest Neighbors - kNN) là phương pháp để kiểu tấn cơng các đối tượng dựa vào khoảng cách gần nhất giữa đối tượng cần xếp lớp với tất cả các đối tượng trong tập dữ liệu huấn luyện.
Một đối tượng được kiểu tấn cơng dựa vào k láng giềng gần nhất của nĩ, k là số nguyên dương được xác định trước khi thực hiện thuật tốn. Người ta thường dùng khoảng cách Euclidean để tính khoảng cách giữa các đối tượng.
Thuật tốn kNN dùng trong kiểu tấn cơng được mơ tả như sau: - Xác định giá trị tham số k (số láng giềng gần nhất).
- Tính khoảng cách giữa đối tượng cần kiểu tấn cơng với tất cả các đối tượng trong tập dữ liệu huấn luyện (thường sử dụng khoảng cách Euclidean, Cosine, …)
- Sắp xếp khoảng cách theo thứ tự tăng dần và xác định k láng giềng gần nhất với đối tượng cần phần lớp.
- Lấy tất cả các lớp của k láng giềng gần nhất đã xác định.
- Dựa vào phần lớn lớp của láng giềng gần nhất để xác định lớp cho đối tượng. Trong quá trình Kiểu tấn cơng , k là một tham số quan trọng và các giá trị khác nhau k sẽ tạo ra các kết quả khác nhau. Nếu k lớn đáng kể, những láng giềng được sử dụng để dự đốn sẽ làm cho thời gian kiểu tấn cơng lớn và ảnh hưởng đến tính chính xác của dự báo.
2.1.1.6. Hồi quy logistic
Hồi quy logistic (Logistic regression - LR) là một loại mơ hình tuyến tính logarit. Thuật tốn LR tính tốn xác suất của các lớp khác nhau thơng qua phân phối logistic tham số, được tính tốn như trong Cơng thức:
𝑃(𝑌 = 𝑘|𝑥) = 𝑒
𝜔𝑘∗𝑥
1 + ∑𝐾−1𝑒𝜔𝑘∗𝑥 𝑘
Trong đĩ k = 1, 2, ..., K - 1. Mẫu x được phân loại vào lớp xác suất tối đa. Một mơ hình LR dễ xây dựng và đào tạo mơ hình là hiệu quả. Tuy nhiên, LR khơng thể xử lý tốt dữ liệu phi tuyến, mà giới hạn ứng dụng của nĩ.
2.1.2. Các kỹ thuật máy học kết hợp 2.1.2.1. Bagging 2.1.2.1. Bagging
Hình 2.6. Kỹ thuật Bagging.
Hình 2.6 mơ tả chi tiết kỹ thuật Bagging, kỹ thuật này được xem như là một phương pháp tổng hợp kết quả cĩ được từ các Bootstrap. Tư tưởng chính của phương pháp này như sau: Cho một Tập dữ liệu huấn luyện D={(xi, yi): i=1, 2, …, N} và giả sử chúng ta muốn cĩ một dự đốn nào đĩ đối với biến x.
Một mẫu gồm m tập dữ liệu, mỗi tập dữ liệu gồm n phần tử được chọn lựa ngẫu nhiên từ D với sự thay thế (giống như bootstrap). Do đĩ T=(T1, T2, …, Tm) trơng giống như là một tập các Tập dữ liệu huấn luyện được nhân bản;
Huấn luyện một máy hoặc một mơ hình đối với mỗi tập Ti (i=1, 2, …, m) và lần lượt thu thập các kết quả dự báo cĩ được Pi trên mỗi tập Ti;
Kết quả tổng hợp cuối cùng được tính tốn bằng cách trung bình hĩa (regression) hoặc thơng qua số phiếu bầu nhiều nhất (voting).
Hình 2.7. Kỹ thuật Boosting.
Khác với phương pháp Bagging, xây dựng bộ kiểu tấn cơng kết hợp với các ví dụ huấn luyện cĩ trọng số bằng nhau, phương pháp Boosting xây dựng bộ kiểu tấn cơng kết hợp với các ví dụ huấn luyện cĩ trọng số khác nhau. Sau mỗi bước lặp, các ví dụ huấn luyện được dự đốn sai sẽ được đánh trọng số tăng lên, các ví dụ huấn luyện được dự đốn đúng sẽ được đánh trọng số nhỏ hơn. Điều này giúp cho Boosting tập trung vào cải thiện độ chính xác cho các ví dụ được dự đốn sai sau mỗi bước lặp. Hình 8 mơ tả chi tiết kỹ thuật này.
Một thuật tốn Boosting ban đầu được định nghĩa là một thuật tốn dùng để chuyển một thuật tốn máy học yếu thành một thuật tốn máy học mạnh. Cĩ nghĩa là nĩ chuyển một thuật tốn máy học giải quyết một bài tốn kiểu tấn cơng nhị phân tốt hơn cách giải chọn ngẫu nhiên thành một thuật tốn giải quyết rất tốt bài tốn đĩ. Thuật tốn Boosting ban đầu của Schapire là một thuật tốn đệ quy. Tại bước cuối của đệ quy, nĩ kết hợp các giả thuyết được tạo bởi thuật tốn máy học yếu. Xác suất lỗi của bộ kết hợp này được chứng minh là nhỏ hơn xác suất lỗi của các giả thuyết yếu.
Adaboost là một thuật tốn kết hợp một tập các bộ kiểu tấn cơng được làm đa dạng bằng việc chạy thuật tốn máy học với phân bố khác nhau trên Tập dữ liệu huấn luyện.
2.1.2.3. Stacking
Stacking là một cách để kết hợp nhiều mơ hình, giới thiệu khái niệm bộ kiểu tấn cơng meta. Nĩ ít được sử dụng rộng rãi hơn so với Bagging và Boosting. Khơng
giống như Bagging và Boosting, Stacking cĩ thể được sử dụng để kết hợp các mơ hình khác nhau. Quá trình thực hiện như sau:
(1). Chia Tập dữ liệu huấn luyện thành hai bộ tách rời. (2). Huấn luyện các bộ kiểu tấn cơng cơ sở ở phần đầu. (3). Kiểm tra bộ kiểu tấn cơng cơ sở ở phần thứ hai.
(4). Sử dụng kết quả dự đốn ở (3) như là đầu vào và kết quả kiểu tấn cơng đúng như là kết quả đầu ra để huấn luyện một bộ kiểu tấn cơng meta (Meta - Classifier). Trong Stacking, cơ chế kết hợp là đầu ra của các bộ kiểu tấn cơng (các bộ kiểu tấn cơng cấp 0) sẽ được sử dụng làm dữ liệu huấn luyện cho một bộ kiểu tấn cơng khác (bộ kiểu tấn cơng cấp 1) để cho ra kết quả dự báo đúng nhất. Về cơ bản, chúng ta cho phép bộ kiểu tấn cơng cấp 1 (bộ kiểu tấn cơng meta) tự tìm ra cơ chế kết hợp tốt nhất các bộ kiểu tấn cơng cấp 0. Hình 2.8 mơ tả chi tiết kỹ thuật này, kết quả dự đốn ở các bộ kiểu tấn cơng cơ sở Pi (i=1, 2, …, m) như là đầu vào của bộ kiểu tấn cơng meta và kết quả kiểu tấn cơng đúng như là kết quả đầu ra để huấn luyện bộ kiểu tấn cơng meta (Meta - Classifier).
Hình 2.8. Kỹ thuật Stacking với bộ kiểu tấn cơng meta.
2.1.3. Các kỹ thuật học sâu (deep learning)
Mơ hình học tập sâu bao gồm các mạng sâu đa dạng. Trong số đĩ, Mạng niềm tin sâu (Deep Brief Network - DBN), mạng nơ-ron sâu (Deep Neural Network - DNN), mạng nơ-ron tích chập (Convolutional Neural Network - CNN) và mạng nơ-ron hội
quy (Recurrent Neural Network - RNNs) là các mơ hình học tập được giám sát, trong khi các bộ tự động, máy hạn chế Boltzmann (Restricted Boltzmann Machine - RBMs), mạng sáng tạo đối nghịch (Generative Adversarial Network - GAN) là mơ hình học tập khơng giám sát. Số lượng nghiên cứu về IDS dựa trên học tập sâu đã tăng nhanh từ năm 2015 đến nay. Các mơ hình học sâu trực tiếp học các biểu diễn thuộc tính từ dữ liệu gốc, chẳng hạn như hình ảnh và văn bản, mà khơng yêu cầu kỹ thuật thuộc tính thủ cơng. Do đĩ, các phương pháp học sâu cĩ thể thực hiện theo cách từ đầu đến cuối. Đối với các bộ dữ liệu lớn, phương pháp học sâu cĩ lợi thế đáng kể so với các mơ hình máy học đơn.
2.1.3.1. Bộ mã tự động - Autoencoder.
Bộ mã tự động chứa hai thành phần đối xứng, bộ mã hĩa và bộ giải mã, như trong Hình 2.9. Bộ mã hĩa trích xuất các thuộc tính từ dữ liệu thơ và bộ giải mã tái tạo dữ liệu từ các thuộc tính được trích xuất. Trong q trình đào tạo, sự khác biệt giữa đầu vào của bộ mã hĩa và đầu ra của bộ giải mã giảm dần. Khi bộ giải mã thành cơng trong việc tái cấu trúc dữ liệu thơng qua các thuộc tính được trích xuất, điều đĩ cĩ nghĩa là các thuộc tính được trích xuất bởi bộ mã hĩa đại diện cho bản chất của dữ liệu. Điều quan trọng cần lưu ý là tồn bộ quá trình này khơng yêu cầu thơng tin được giám sát. Nhiều biến thể bộ mã hĩa tự động nổi tiếng tồn tại, chẳng hạn như bộ khử nhiễu tự động [6] [7] và bộ tự động thưa thớt [8].
Hình 2.9. Cấu trúc của một mã tự động.
2.1.3.2. Mạng nơ-ron tích chập (Convolutional Neural Network - CNN)
CNN được thiết kế để bắt chước hệ thống thị giác của con người (human visual system - HVS); do đĩ, CNN đã đạt được những thành tựu to lớn trong lĩnh vực thị giác
máy tính [9] [10] [11]. Một CNN được xếp chồng lên nhau với các lớp chập và gộp chung, như trong Hình 2.10. Các lớp chập được sử dụng để trích xuất các thuộc tính và các lớp gộp được sử dụng để tăng cường tính tổng quát của thuộc tính. Các CNN hoạt động trên dữ liệu 2 chiều (2D), do đĩ dữ liệu đầu vào phải được dịch thành ma trận để phát hiện tấn cơng.
Hình 2.10. Cấu trúc của CNN
2.1.3.3. Mạng nơ-ron hội quy (Recurrent Neural Network - RNN).
RNN là các mạng được thiết kế cho dữ liệu tuần tự và được sử dụng rộng rãi trong xử lý ngơn ngữ tự nhiên (natural language processing -NLP). Các đặc điểm của dữ liệu tuần tự là theo ngữ cảnh; phân tích dữ liệu bị cơ lập từ chuỗi khơng cĩ ý nghĩa. Để cĩ được thơng tin theo ngữ cảnh, mỗi đơn vị trong RNN khơng chỉ nhận trạng thái hiện tại mà cả trạng thái trước đĩ. Cấu trúc của một RNN được hiển thị trong Hình 2.11. Trong đĩ tất cả các mục W trong Hình 2.11 đều giống nhau. Đặc tính này làm cho RNN thường bị biến mất hoặc nổ độ dốc. Trong thực tế, các RNN tiêu chuẩn chỉ xử lý các chuỗi cĩ độ dài giới hạn. Để giải quyết vấn đề phụ thuộc dài hạn, nhiều biến thể RNN đã được đề xuất, chẳng hạn như bộ nhớ ngắn hạn (LSTM), tái phát cĩ kiểm sốt đơn vị (GRU) và bi-RNN.
Hình 2.11. Cấu trúc của RNN.
Mơ hình LSTM được đề xuất bởi Hochreiter và Schmidhuber vào năm 1997. Mỗi đơn vị LSTM chứa ba cổng: cổng quên, cổng đầu vào và cổng đầu ra. Cổng quên giúp loại bỏ bộ nhớ lỗi thời, cổng đầu vào nhận dữ liệu mới và cổng đầu ra kết hợp bộ nhớ ngắn hạn với bộ nhớ dài hạn để tạo trạng thái bộ nhớ hiện tại. GRU được đề xuất bởi Chung và cộng sự năm 2014. Mơ hình GRU hợp nhất cổng quên và cổng đầu vào thành một cổng cập nhật duy nhất, đơn giản hơn LSTM.