Phân lớp SVM tuyến tính

Một phần của tài liệu Khai thác và phân tích dữ liệu ngân hàng nhằm phát hiện rủi ro và hỗ trợ ra quyết định trong quản trị (Trang 45)

4. Phân lớp SVM –Support Vector Machine

4.1Phân lớp SVM tuyến tính

Hình 11: Tập dữ liệu có thể tách tuyến tính

Bộ phân lớp tìm ra mặt siêu phẳng với lề cực đại được xác định bởi khoảng cách giữa các mẫu âm và mẫu dương gần mặt siêu phẳng nhất

Gọi d+ và d- là khoảng cách ngắn nhất từ siêu phẳng đến điểm dữ liệu dương và âm gần nhất. Khi đó lề siêu phẳng là margin =d+ + d-

Giả sử 2 điểm (x+, 1) và (x-, -1) là điểm gần siêu phẳng nhất. Khi đó chúng ta xác định được hai đường song song H+ và H- . Thay đổi tỷ lệ w, b ta được

𝐻+: 𝑤𝑥++ 𝑏 = 1 𝐻−: 𝑤𝑥−+ 𝑏 = −1

Các ràng buộc

𝑤𝑥𝑖 + 𝑏 ≥ 1 𝑛ế𝑢 𝑦𝑖 = 1 𝑤𝑥𝑖 + 𝑏 ≤ 1 𝑛ế𝑢 𝑦𝑖 = −1

Gọi xs là một điểm thuộc mặt siêu phẳng và d+ là khoảng cách từ H+ tới mặt siêu phẳng.

Khi đó wxs+ b = 0. Do vậy, ta có công thức sau:

𝑑+ =|𝑤𝑥𝑠+ 𝑏 − 1|

||𝑤|| =

1 ||𝑤||

Trong đó ||w|| là độ dài vector w

||𝑤|| = √𝑤12+ 𝑤22 + ⋯ + 𝑤𝑁2

Do vậy lề siêu phẳng được tính như sau

𝑚𝑎𝑟𝑔𝑖𝑛 = 𝑑++ 𝑑− = 2 ||𝑤||

Vấn đề cực đại lề (margin) được chuyển thành bài toán cực tiểu ||w||2 với các điều kiện

C với i = 1, 2, 3, …n

Giải quyết bài toán tối ưu trên ta có: Vector w sẽ được tính theo công thức :

𝑤 = ∑ 𝑥𝑖𝑦𝑖

𝑛

1

𝛼𝑖

Để xác định độ dịch chuyển b ta chọn mẫu xi sao cho mọi αi >0 sau đó sử dụng điều kiện Karush–Kuhn–Tucker (KKT) nhưsau:

𝛼𝑖[𝑦𝑖(𝑤𝑥𝑖+ 𝑏) − 1] = 0

Các mẫu xi tương ứng αi là những mẫu nằm gần siêu phẳng và được gọi là vector

hỗ trợ. Support vector chính là cái mà ta quan tâm trong quá trình huấn luyện của SVM. Việc phân lớp cho một điểm dữ liệu mới sẽ chỉ phụ thuộc vào các support vector.

Một phần của tài liệu Khai thác và phân tích dữ liệu ngân hàng nhằm phát hiện rủi ro và hỗ trợ ra quyết định trong quản trị (Trang 45)