Tổng quan về máy vectorhỗ trợ

Một phần của tài liệu Ứng dụng khai phá dữ liệu trong dự báo biến động thị trường chứng khoán Việt Nam (Trang 41)

SVM[1] là phƣơng pháp học máy đƣợc V.Vapnik giới thiệu vào năm 1995 và ngày càng đƣợc sử dụng nhiều trong lĩnh vực khai phá dữ liệu. SVM là một tập các phƣơng pháp dựa trên cơ sở các hàm nhân (kernel) để tối thiểu hoá rủi ro ƣớc lƣợng.

SVM sử dụng thuật toán học nhằm xây dựng một siêu phẳng làm cực tiểu hoá độ phân lớp sai của một đối tƣợng dữ liệu mới. Độ phân lớp sai của một siêu phẳng đƣợc đặc trƣng bởi khoảng cách bé nhất tới siêu phẳng đấy.

Đặc trƣng cơ bản quyết định khả năng phân lớp là khả năng phân lớp những dữ liệu mới dựa vào những tri thức đã tích luỹ đƣợc trong quá trình huấn luyện. Sau quá trình huấn luyện nếu hiệu suất tổng quát hoá của bộ phân lớp cao thì thuật toán huấn luyện đƣợc đánh giá là tốt. Hiệu suất tổng quát hoá phụ thuộc vào hai tham số là sai số huấn luyện hay và năng lực của máy học. Trong đó sai số huấn luyện là tỷ lệ lỗi phân lớp trên tập dữ liệu huấn luyện. Còn năng lực của máy học đƣợc xác định bằng kích thƣớc Vapnik-Chervonenkis (kích thƣớc VC). Kích thƣớc VC là một khái niệm quan trọng đối với một họ hàm phân tách (hay là tập phân lớp). Đại lƣợng này đƣợc xác định bằng số điểm cực đại mà họ hàm có thể phân tách hoàn toàn trong không gian đối tƣợng. Một tập phân lớp tốt là tập phân lớp có năng lực thấp nhất (có nghĩa là đơn giản nhất) và đảm bảo sai số huấn luyện nhỏ. Phƣơng pháp SVM đƣợc xây dựng trên ý tƣởng này.

Cho trƣớc 2 lớp phân biệt tuyến tính, các điểm dữ liệu trong 2 lớp đƣợc mô tả trong không gian vector. Mục tiêu của SVM là tìm siêu phẳng tạo ra độ rộng biên lớn nhất giữa 2 lớp. Độ rộng biên đƣợc xác định là khoảng cách M giữa các điểm gần nhất từ mỗi lớp (gọi là các vector hỗ trợ) đƣợc xem là khoảng cách lớn nhất có thể cho kết quả phân lớp đúng.

Hình 2.9: Vector hỗ trợ

Thuật toán học SVM:[1]

Xét bài toán phân lớp đơn giản nhất – phân lớp với hai tập dữ liệu mẫu: 𝑥𝑖, 𝑦𝑖 𝑖 = 1,2, … , 𝑁; 𝑥𝑖 ∈ 𝑅𝑚

Trong đó mẫu là các vector đối tƣợng đƣợc phân lớp thành các mẫu dƣơng và mẫu âm nhƣ trongHình 2.9ở trên.

- Các mẫu dƣơng là các mẫu xi thuộc lĩnh vực quan tâm và đƣợc gán nhãn yi = 1.

- Các mẫu âm là các mẫu xi không thuộc lĩnh vực quan tâm và đƣợc gán yi

= - 1.

Thực chất phƣơng pháp này là một bài toán tối ƣu, mục tiêu là tìm ra một khônggian H và siêu mặt phẳng quyết định h trên H sao cho sai số phân lớp là thấp nhất.

Trong trƣờng hợp này, tập phân lớp SVM là mặt siêu phẳng phân tách các mẫu dƣơng khỏi các mẫu âm với độ chênh lệch cực đại, trong đó độ chênh lệch – còn gọi là Lề (margin) xác định bằng khoảng cách giữa các mẫu dƣơng và các mẫu âm gần mặt siêu phẳng nhất (Hình 2.9). Mặt siêu phẳng này đƣợc gọi là mặt siêu phẳng lề tối ƣu.

Các mặt siêu phẳng trong không gian đối tƣợng có phƣơng trình là:

𝐶 + 𝑤1𝑥1 + 𝑤2𝑥2 + ⋯ + 𝑤𝑛𝑥𝑛 = 0 (2.29)

Với 𝑤1 + 𝑤2 + ⋯ + 𝑤𝑛 = 𝑤 là bộ hệ số siêu phẳng hay là vector trọng số, C là độ dịch, khi thay đổi w và C thì hƣớng và khoảng cách từ gốc toạ độ đến mặt siêu phẳng thay đổi.

Tập phân lớp SVM đƣợc định nghĩa nhƣ sau:

𝑓 𝑥 = 𝑠𝑖𝑔𝑛 𝐶 + 𝑤𝑖𝑥𝑖 (2.30)

Trong đó:

- sign(z) = +1 nếu z ≥ 0,

- sign(z) = -1 nếu z < 0.

Nếu f(x) = +1 thì x thuộc về lớp dƣơng (lĩnh vực đƣợc quan tâm), và ngƣợc lại, nếu f(x) = -1 thì x thuộc về lớp âm (các lĩnh vực khác)

Máy học SVM là một học các siêu phẳng phụ thuộc vào tham số vector trọng số w và độ dịch C. Mục tiêu của phƣơng pháp SVM là ƣớc lƣợng w và C để cực đại hoá lề giữa các lớp dữ liệu dƣơng và âm. Các giá trị khác nhau của lề cho ta các họ siêu mặt phẳng khác nhau, và lề càng lớn thì năng lực của máy học càng giảm. Nhƣ vậy, cực đại hoá lề thực chất là việc tìm một máy học có năng lực nhỏ nhất. Quá trình phân lớp là tối ƣu khi sai số phân lớp là cực tiểu.

Ta phải giải phƣơng trình sau:

min 𝑤 ,𝑏,𝜂𝐶 𝜂𝑖 𝑙 𝑖=1 + 𝐶1 2 𝑤 2 (2.32)

Trong đó:

𝑦𝑖 𝑤. 𝑥𝑖 − 𝑏 + 𝜂𝑖 ≥ 1 𝜂𝑖 ≥ 0, 𝑖 = 1, … , 𝑙

Kết quả giải phƣơng trình ta tìm đƣợc vector trọng số w và sai số của mỗi điểm trong tập huấn luyện là ηi từ đó ta có phƣơng trình tổng quát của siêu phẳng tìm ra đƣợc bởi thuật toán SVM là:

𝑓 𝑥1, 𝑥2, … , 𝑥𝑛 = 𝐶 + 𝑤𝑖𝑥𝑖 𝑛

𝑖=1

(2.32) (adsbygoogle = window.adsbygoogle || []).push({});

Sau khi đã tìm đƣợc phƣơng trình của siêu phẳng bằng thuật toán SVM, áp dụng công thức này để tìm ra nhãn lớp cho các dữ liệu mới.

2.4.2Huấn luyện máy vector hỗ trợ

Huấn luyện SVM là việc giải bài toán quy hoạch toàn phƣơng SVM. Các phƣơng pháp số giải bài toán quy hoạch này yêu cầu phải lƣu trữ một ma trận có kích thƣớc bằng bình phƣơng của số lƣợng mẫu huấn luyện. Trong những bài toán thực tế, điều này là không khả thi vì thông thƣờng kích thƣớc của tập dữ liệu huấn luyện thƣờng rất lớn (có thể lên tới hàng chục nghìn mẫu). Nhiều thuật toán khác nhau đƣợc phát triển để giải quyết vấn đề nêu trên. Những thuật toán này dựa trên việc phân rã tập dữ liệu huấn luyện thành những nhóm dữ liệu. Điều đó có nghĩa là bài toán quy hoạch toàn phƣơng với kích thƣớc nhỏ hơn. Sau đó, những thuật toán này kiểm tra các điều kiện KKT (Karush-Kuhn- Tucker) để xác định phƣơng án tối ƣu.

Một số thuật toán huấn luyện dựa vào tính chất: Nếu trong tập dữ liệu huấn luyện của bài toán quy hoạch toàn phƣơng con cần giải ở mỗi bƣớc có ít nhất một mẫu vi phạm các điều kiện KKT, thì sau khi giải bài toán náy, hàm mục tiêu sẽ tăng. Nhƣ vậy, một chuỗi các bài toán quy hoạch toàn phƣơng con với ít nhất một mẫu vi phạm các điều kiện KKT đƣợc đảm bảo hội tụ đến một phƣơng án tối ƣu. Do đó, ta có thể duy trì một tập dữ liệu làm việc đủ lớn có kích thƣớc cố định và tại mỗi bƣớc huấn luyện, ta loại bỏ và thêm vào cùng một số lƣợng mẫu.

2.4.3Hồi quy vectorhỗ trợ

SVM ngoài sử dụng để phân lớp bài toán còn đƣợc sử dụng để giải quyết vấn đề của bài toán hồi quy. Khi sử dụng SVM trong bài toán hồi quy còn gọi (hồi quy vector hỗ trợ SVR - Support Vector Regression)[8]phải sử dụng một hàm chi phí để đo lƣờng rủi ro thực nghiệm để giảm thiểu các sai số hồi quy.

SVR thực hiện ánh xạ phi tuyến các không gian dữ liệu đầu vào thành một không gian nhiều chiều, sau đó thực hiện hồi quy tuyến tính thành không gian dữ liệu đầu ra. Do đó, hồi quy tuyến tính trong không gian đầu ra tƣơng ứng với hồi quy phi tuyến trong không gian đầu vào ít chiều.

Cho một tập dữ liệu huấn luyện, (x1, y1),. . . , (xN, yN), trong đó xi∈ X, yi∈ R, N là kích thƣớc của dữ liệu huấn luyện, và x là không gian của đầu vào mẫu. Mục đích là để tìm một hàm mà có thể ƣớc tính tất cả các dữ liệu tốt. SVR là một trong những phƣơng pháp để thực hiện nhiệm vụ hồi quy trên.

Hàm tính toán trong SVR[6,8] có dạng nhƣ sau:

𝑓 𝑥 = < 𝑤, 𝑥 > +𝑏 𝑣ớ𝑖 𝑥 ∈ 𝑋; 𝑏 ∈ ℝ ((2.33)

Trong đó <·,·>biểu thị số một hàm phi tuyến đƣợc chuyển từ không gian Rn

vào không gian nhiều chiều. Mục đích ở đây cần xác định các biến w, b của phƣơng trình từ tập dữ liệu để x có thể xác định đƣợc từ tập huấn luyện bằng cách giảm thiểu rủi ro hồi quy. Cần tối thiểu hóa hàm:

𝑚𝑖𝑛1

2 𝑤 2 ((2.34)

Với điều kiện:

𝑦𝑖− < 𝑤, 𝑥𝑖 > −𝑏 ≤ 𝜀

< 𝑤, 𝑥𝑖 > + 𝑏 − 𝑦𝑖 ≤ 𝜀 ((2.35)

Giả thiết trong biểu thức (2.33) là một hàm fthực sự tồn tại xấp xỉ tất cả các cặp (xi,yi) với độ chính xác ℇ, hay nói một cách khác thì vấn đề tối thiểu hóa lỗi (giảm thiểu rủi ro) là khả thi.

Trong trƣờng hợp không xác định đƣợc hàm f với điều kiện 2.35 ở trên, ta có thể thêm các biến 𝜉𝑖,𝜉𝑖∗ để xác định hàm f. Do đó ta có đƣợc biểu thức sau:

𝑚𝑖𝑛1

2 𝑤 2 + 𝐶 𝜉𝑖 + 𝜉𝑖∗ 𝑙

𝑖=1

((2.36)

Với điều kiện:

𝑦𝑖− < 𝑤, 𝑥𝑖 > −𝑏 ≤ 𝜀 + 𝜉𝑖 < 𝑤, 𝑥𝑖 > + 𝑏 − 𝑦𝑖 ≤ 𝜀 + 𝜉𝑖∗

𝜉𝑖, 𝜉𝑖∗ ≥ 0

((2.37)

Trong đó:

- 𝐶 > 0là giá trị đƣợc xác định là giá trị cân bằng giữa siêu phẳng f và giá trị độ lệch lớn hơn 𝜀 đƣợc thu nạp.

Điều này tƣơng ứng với một hàm tổn thất gọi là 𝜀-insensitive nhƣ sau: 𝜉 ℇ ∶= 0 nếu 𝜉 ≤ 𝜀 (adsbygoogle = window.adsbygoogle || []).push({});

𝜉 − 𝜀 ngƣợc lại ((2.38)

Trong hình 2.10 chỉ những điểm nằm ngoài khu vực bóng mờ (ngoài vùng lề của siêu phẳng) mới có chi phí chừng mực 𝜉. Điều đó có nghĩa là trong nhiều trƣờng hợp các vấn đề tối thiểu hóa có thể giải quyết dễ dàng bằng cách xây dựng mô hình đối ngẫu.

Hình 2.10: Tổn thất lề mềm thiết lập cho mô hỉnh SVM tuyến tính

Phƣơng pháp hay đƣợc sử dụng là sử dụng hàm Lagrange để tìm ra giải pháp làm giảm thiểu hồi quy của phƣơng trình

Một phần của tài liệu Ứng dụng khai phá dữ liệu trong dự báo biến động thị trường chứng khoán Việt Nam (Trang 41)