1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phương pháp support vector machines và ứng dụng

71 42 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 71
Dung lượng 0,98 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Phương pháp SVM trong trường hợp dữ liệu không phân tách tuyến tính trong không gian đặc trưng .... Ứng dụng của học không có thầy: thường trong bài toán phân cụm, bài toán giảm số chiều

Trang 1

VŨ VIỆT VŨ

PHƯƠNG PHÁP SUPPORT VECTOR

MACHINES VÀ ỨNG DỤNG

CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS NGUYỄN THANH THUỶ

HÀ NỘI - 2004

Trang 2

MỤC LỤC

MỞ ĐẦU 3

CHƯƠNG 1 CÁC KHÁI NIỆM CƠ BẢN 5

1.1 Các phương pháp học 5

1.1.1 Giới thiệu 5

1.1.2 Học có thầy 5

1.1.3 Học không có thầy 6

1.1.4 Học tăng cường 6

1.1.5 Các biến thể trong mô hình học 6

1.1.6 Quá trình học 7

1.1.7 Lý thuyết học 7

1.2 Support Vector Machines và phân lớp với khoảng cách lớn nhất 7

1.3 Phân lớp tuyến tính 8

1.4 Ma trận GRAM 8

1.5 Khoảng cách giữa các siêu phẳng 8

1.6 Tổng kết chương 1 10

CHƯƠNG 2 KHÔNG GIAN ĐẶC TRƯNG 11

2.1 Đặt vấn đề 11

2.2 Không gian đặc trưng 11

2.3 Hàm hạt nhân 11

2.3.1 Khái niệm hàm hạt nhân 11

2.3.2 Máy học tuyến tính thông qua biểu diễn hàm hạt nhân 12

2.3.3 Các đặc trưng của xâu kí tự và văn bản 13

2.3.4 Hàm hạt nhân dựa trên đặc trưng của xâu kí tự 16

2.3.5 Khoảng cách Levenstein 18

2.3.6 Hàm hạt nhân dựa trên khoảng cách 19

2.3.7 Một số hàm hạt nhân 19

2.3.8 Tính chất của hàm hạt nhân 21

2.3.9 Xây dựng vectơ đặc trưng dựa trên hàm hạt nhân 22

2.3.10 Xây dựng hàm hạt nhân từ các hàm hạt nhân cơ sở 23

2.4 Không gian các hàm hạt nhân Hilbert 24

2.5 Tổng kết chương 2 25

CHƯƠNG 3 PHƯƠNG PHÁP SUPPORT VECTOR MACHINES 26

3.1 Giới thiệu 26

3.2 Nội dung phương pháp 26

3.2.1 Mở đầu 26

Trang 3

3.2.2 Phương pháp SVM trong trường hợp dữ liệu phân tách tuyến tính 29

3.2.3 Phương pháp SVM trong trường hợp dữ liệu không phân tách tuyến tính trong không gian đặc trưng 37

3.2.4 SVM nhiều lớp 43

3.2.5 Lựa chọn hàm hạt nhân cho các ứng dụng 43

3.2.6 Lựa chọn các tham số cho hạt nhân RBF 44

3.3 Giải quyết bài toán tối ưu dạng C- SVC và v - SVC 45

3.3.1 Thuật toán phân rã cho bài toán C – SVC 45

3.3.2 Lựa chọn tập làm việc và tiêu chuẩn dừng cho C –SVC 47

3.3.3 Thuật toán phân rã cho bài toán v- SVC 49

3.3.4 Phân tích lời giải 50

3.3.5 Tính b và  52

3.4 So sánh phương pháp SVM và phương pháp mạng Nơ ron 52

3.5 Tổng kết chương 3 53

CHƯƠNG 4 MỘT SỐ ỨNG DỤNG CỦA SVM 53

4.1 Giới thiệu 53

4.2 Cài đặt chương trình 53

4.3 Kiểm thử chương trình 54

4.3 Phân lớp nấm sử dụng SVM 63

4.3.1 Giới thiệu 63

4.3.2 Tiền xử lý dữ liệu 63

4.3.3 Lựa chọn hàm hạt nhân 65

4.3.4 Kết quả thi hành chương trình 65

4.5 Một số ứng dụng đã triển khai sử dụng phương pháp SVM 67

4.6 Kết luận 68

CHƯƠNG 5 KẾT LUẬN 69

5.1 Những kết quả đã đạt được 69

5.2 Hướng phát triển của đề tài 69

TÀI LIỆU THAM KHẢO 70

Trang 4

MỞ ĐẦU

Ngày nay sự phát triển rất nhanh và mạnh mẽ của ngành Công nghệ Thông tin đã góp phần rất lớn vào sự phát triển của xã hội Các ứng dụng của Công nghệ Thông tin đã liên tục được triển khai và mang lại hiệu quả cao trong thực tế Công nghệ Thông tin đã có những liên hệ chặt chẽ với các ngành khác như điều khiển học, khoa học vũ trụ, sinh học, hoá học, Trong luận văn tốt nghiệp Cao học tại Trường Đại học Bách Khoa Hà Nội, tôi chọn đề tài

“PHƯƠNG PHÁP SUPPORT VECTOR MACHINES VÀ ỨNG DỤNG”

Hiện nay đã có rất nhiều những ứng dụng hiệu quả được xây dựng dựa vào phương pháp SVM và nhiều người đã đánh giá rằng SVM là phương pháp mạnh và hiệu quả hơn phương pháp mạng Neural

▪ Mục đích, đối tượng và phạm vi nghiên cứu

Trong khuôn khổ luận văn sẽ nghiên cứu phần cơ sở lý thuyết của phương pháp SVM, các vấn đề liên quan đến phương pháp và xây dựng một số ứng dụng cụ thể của phương pháp

▪ Ý nghĩa khoa học và thực tiễn

Đây là một phương pháp phân lớp hiện đại và hiệu quả, nắm chắc phương pháp này sẽ là nền tảng cho việc xây dựng những ứng dụng quan trọng trong thực tế

Nội dụng của luận văn bao gồm:

Trang 5

Chương 1 Các khái niệm cơ bản

Chương 2 Không gian đặc trưng

Chương 3 Phương pháp Support Vector Machines Chương 4 Một số ứng dụng của phương pháp SVM Chương 5 Kết luận

Trang 6

CHƯƠNG 1 CÁC KHÁI NIỆM CƠ BẢN

Việc sử dụng các mẫu học cho việc xây dựng các chương trình có khả năng khái quát và tổng hợp được biết đến như là phương pháp học

1.1.2 Học có thầy

Vấn đề cơ bản của học có thầy là xác định một hàm, hay xác định một ánh xạ giữa đầu vào và đầu ra một cách tốt nhất, tức là việc tỷ lệ lỗi đối với các mẫu kiểm chứng là nhỏ nhất

Các ký hiệu:

x  X: đầu vào và không gian đầu vào,

y  Y: đầu ra và không gian đầu ra,

S : tập mẫu học,

S = {(x1, y1), (x2, y2), (x3, y3),… (xℓ yℓ)}  (X  Y)ℓ

ℓ: là kích thước tập mẫu huấn luyện

Tuỳ thuộc vào kiểu của đầu ra, ta chia các bài toán phân lớp với học có thầy thành: học phân lớp, học ưu tiên, hồi quy (học hàm) Nếu đầu ra là các giá trị nhị phân như : (yes/ no), (+/-), (0/1), bài toán học được gọi là bài toán phân lớp nhị phân Nếu đầu ra có một số hữu hạn giá trị khác nhau thì ta nói đây là bài toán nhiều lớp Nếu không gian đầu ra là các số thực, bài toán học

Trang 7

có thầy được gọi là bài toán hồi quy (Regression) Nếu không gian đầu ra có thứ tự, trong đó các giá trị sánh được với nhau, khác nhau từng đôi một, bài toán học có thầy được gọi là học ưu tiên

1.1.3 Học không có thầy

Trong học không có thầy, mục đích đặt ra là xây dựng một miêu tả chung cho một phần tử x bất kỳ, có thể sử dụng cho việc lập luận, tạo ra các quyết định, dự đoán, xác định mối liên hệ giữa các thực thể… Học không có thầy do không có giá trị đầu ra nên được xem như việc trích rút các quá trình phát sinh ra từ dữ liệu đầu vào

Ứng dụng của học không có thầy: thường trong bài toán phân cụm, bài toán giảm số chiều, tìm ra ngữ nghĩa ẩn hoặc nguồn gốc của dữ liệu, các mô hình mật độ dữ liệu giúp cho quá trình nén dữ liệu, phát hiện các dị thường và quá trình phân lớp

1.1.4 Học tăng cường

Trong học tăng cường, máy có thể đưa ra các hoạt động ảnh hưởng tới trạng thái thực tại và nhận được những kích thích dưới dạng lợi ích hoặc rủi

ro, nhằm cực đại lợi ích thu được

1.1.5 Các biến thể trong mô hình học

• Học theo lô: Tất cả dữ liệu được đưa cho người học tại thời điểm ban đầu

• Học trực tuyến: Trong quá trình học người học nhận được một mẫu tại một thời điểm, đưa ra một đánh giá cho đầu ra và sau đó nhận được kết quả đúng và ghi nhận một mẫu

Chúng ta sẽ tập trung vào kỹ thuật áp dụng cho việc học có thầy và sử dụng việc học theo lô

Trang 8

1.1.6 Quá trình học

Mô hình điển hình về quá trình học là xác định một hàm mục tiêu, một khái niệm, phản ánh mối quan hệ giữa đầu vào và đầu ra Khi đó, mẫu học sẽ đưa tới một đánh giá của hàm mục tiêu Thuật toán học là thuật toán nhận tập

mẫu học như là đầu vào và lựa chọn các giả thuyết h từ không gian giả thuyết

H Một thuật toán chọn được một giả thuyết h tạo ra phân lớp đúng so với tập

mẫu sẽ được gọi là thuật toán học nhất quán Khi giả thuyết phân lớp áp dụng được cho cả đầu vào không có trong tập mẫu, ta nói quá trình học đã đạt được

sự khái quát hoá Mục đích của chúng ta là tối ưu hoá sự khái quát này

1.1.7 Lý thuyết học

Mục đích của lý thuyết học là trả lời các câu hỏi như sau:

▪ Cần bao nhiêu mẫu học ℓ đủ cho việc thi hành của máy suy diễn?

▪ Với một tập mẫu xác định S, hiệu suất là bao nhiêu?

▪ Với hai thuật toán học đã cho, thuật toán nào sẽ phân lớp tối ưu hơn?

1.2 Support Vector Machines và phân lớp với khoảng cách lớn nhất

Support Vector Machines (SVM) là phương pháp học sử dụng không gian giả thuyết các hàm tuyến tính trên không gian đặc trưng nhiều chiều, dựa trên lý thuyết tối ưu và lý thuyết thống kê

Trong học có thầy, ta có tập các mẫu học:

S = {(x1, y1), (x2, y2), (x3, y3), (xℓ,yℓ)}  (X  Y)ℓ,

ℓ là số lượng của tập mẫu học, xi là đầu vào và yi là nhãn phân lớp tương ứng Một tập mẫu học được gọi là tầm thường nếu tất cả các nhãn là bằng nhau

Thông thường không gian đầu vào thường là tập con của không gian giá trị thực, X  Rn (trong đó n là số chiều của không gian đầu vào)

Trang 9

w x

f

1

.)

(

trong đó . biểu thị tích vô hướng

Hình 1.1 Phân tách theo siêu phẳng (w, b) trong không gian 2 chiều của tập mẫu

Vectơ w gọi là vectơ pháp tuyến của siêu phẳng, giá trị của b thay đổi có thể tạo ra các siêu phẳng song song với nhau b được gọi là ngưỡng

1.5 Khoảng cách giữa các siêu phẳng

• Khoảng cách của một mẫu (x, y) tới siêu phẳng (w, b) là:

+

+ +

+ +

xi

w

Trang 10

i = yi(w.xi + b) với y{-1, +1}, khi i > 0 ta nói có một sự phân lớp đúng (xi, yi)

• Khoảng cách hình học là khoảng cách vuông góc của điểm đến siêu phẳng

• Khoảng cách của tập mẫu S là khoảng cách hình học lớn nhất trên tất cả các siêu phẳng Một siêu phẳng nhận khoảng cách lớn nhất gọi là siêu phẳng khoảng cách lớn nhất

• Khoảng cách của S đạt giá trị nhỏ nhất bằng / w cho tất cả các mẫu

+

- + +

+ + +

Trang 11

• Phân lớp: đầu ra rời rạc

• Nội suy: đầu ra giá trị thực

• Ưu tiên: đầu ra có thứ tự

Trang 12

CHƯƠNG 2 KHÔNG GIAN ĐẶC TRƯNG

2.1 Đặt vấn đề

Các ứng dụng phức tạp trong thế giới thực đòi hỏi phải biểu diễn không gian không chỉ bởi các hàm tuyến tính, do không thể diễn tả dưới dạng một tổ hợp tuyến tính của các thuộc tính đầu vào Nhận xét này được đánh giá bởi Minsky và Papert năm 1960 khi xem xét mạng nơ ron perceptron và dẫn đến

đề nghị xây dựng mạng nơ ron nhiều tầng Cách biểu diễn qua hạt nhân sẽ được đề cập ở đây cho phép ánh xạ các thuộc tính đầu vào lên không gian đặc trưng nhiều chiều Điều này sẽ làm tăng tốc độ tính toán, cho phép phối hợp các thuật toán học trên không gian đặc trưng và thiết kế hàm hạt nhân cho phù hợp với ứng dụng của người dùng

2.2 Không gian đặc trưng

Sự phức tạp của hàm mục tiêu dẫn đến quá trình học phụ thuộc vào cách

nó được diễn tả Khi diễn tả dữ liệu một cách phù hợp, vấn đề học sẽ trở nên

dễ dàng Vì vậy, một việc làm rất phổ biến trong học máy là chuyển đổi dữ liệu từ không gian đầu vào X sang không gian đặc trưng:

x = (x1, x2 , , xn)  (x) = (1(x), , N(x)) trong đó n là số chiều của đầu vào (số thuộc tính) và N là số chiều của không gian đặc trưng Dữ liệu sẽ được chuyển vào không gian đặc trưng với N > n

Không gian đặc trưng kí hiệu là F:

F = {(x)| x X}

2.3 Hàm hạt nhân

2.3.1 Khái niệm hàm hạt nhân

Trang 13

K(x, z) =  (x) (z),

ở đây < > là tích vô hướng trong không gian đặc trưng

Ví dụ: Xét phép biến đối dữ liệu từ không gian đầu vào X = R2 vào không gian đặc trưng F = R3 được cho bởi:

: R2  R3

x = (x1, x2)  (x) = (1(x), 2(x), 3(x)) =  2

2 2 1

z x z x z x z x

z x z x z

x z

x

i i i

, 2 , , 2 , x

2

2 2 2 1 2 1 2 2 2 1 2 1

2 2 2 2 2 2 1 1 2 1 2 1

2 2 2 1 1

2 2

1 2

2.3.2 Máy học tuyến tính thông qua biểu diễn hàm hạt nhân

Máy học không tuyến tính trên không gian đầu vào được xây dựng qua hai bước: trước tiên sử dụng một ánh xạ không tuyến tính để chuyển đổi dữ liệu vào không gian đặc trưng và sau đó sử dụng máy học phân lớp tuyến tính trong không gian đặc trưng

Máy học tuyến tính trong không gian đặc trưng tương ứng với hàm:

 x b w

x f

Chúng ta không cần xác định tường minh trọng số w, khi triển khai tiếp bằng cách đưa vào vector w =

 1

ii x i ta có:

Trang 14

   x x b y

x f

i

i i

),()

(

i

i i

i y K x x b x

Đặt SV là tập các chỉ số i thoả mãn i  0 ta được:

Các xi ứng với i  0 được gọi là các vectơ trợ giúp (Support vector),

hàm phân lớp sẽ xác định duy nhất qua các vector này

2.3.3 Các đặc trưng của xâu kí tự và văn bản

Ký hiệu * biểu thị tập hợp của các xâu kí tự có độ dài hữu hạn sinh ra từ tập  Nếu  = {a, b, c} thì * = {, a, b, c, aa, ab, ba, bb, aaa, aab, } trong

đó  biểu thị xâu rỗng

Với s *, s biểu thị chiều dài xâu s (bằng số lượng kí tự trong xâu s)

Ta quy định độ dài của xâu rỗng là 0

Giả sử u* và s *, ta nói u là xâu con của s nếu tồn tại các chỉ số i = (i1, i2, ,i|u|) với 1  i1 <i2< <i|u|  |s| và uj =s với j = 1, 2, , |u| Khi đó, ta j

viết u = s(i) S[i : j] biểu thị xâu con si, si+1, ,sj-1, sj có độ dài j - i+1

Đặt m =  là số lượng của các kí tự trong  Với n  1, ta định nghĩa một ánh xạ n:* Rm nliên kết mỗi xâu s * với một vector độ dài mn, mỗi thành phần tương ứng với số lần xuất hiện của một xâu con có độ dài n trong

s Ví dụ, với xâu s = abcaaab và t= bcaac, n = 1, 2, 3 và  = {a, b, c}, ta có:

i i

) x ( f

Trang 17

2.3.4 Hàm hạt nhân dựa trên đặc trưng của xâu kí tự

Đặt Kn(s, t) biểu thị tích vô hướng n(s) n(t) Khi đó Kn(s, t) có thể đánh giá đệ quy không cần xây dựng tường minh n(s) và n(t) bằng cách sử dụng các quan hệ sau:

Trang 19

2.3.5 Khoảng cách Levenstein

Khoảng cách Levenstein (mang tên nhà khoa học người Nga Vladimir Levenstein) đánh giá độ tương tự giữa xâu nguồn s và xâu đích t được định nghĩa bằng số lượng các phép xoá, chèn và thay thế cần thiết để biến đổi s thành t

Thuật toán Levenstein:

Sử dụng phương pháp quy hoạch động:

1 Đặt ns và nt tương ứng là độ dài của xâu s và t Khởi tạo giá trị đầu của ma trận C có kích thước (ns +1)  (nt +1) bằng 0, đánh số chỉ số hàng của C từ

0 đến ns và chỉ số cột của C từ 0 đến nt,

2 Khởi tạo giá trị các phần tử cột đầu tiên với Ci, 0 = i, i = 0, 1, 2, …, ns,

3 Khởi tạo giá trị các phần tử dòng đầu tiên với C0,j = j, j = 0,1,2,…,nt,

4 Việc tính C[i, j] dựa vào công thức đệ quy sau:

C[i,j] = min(C[i, j-1]+1, C[i-1, j], C[i-1, j-1] + T[i,j]),

j t j

i T

i s 1

i s 0 ,

nÕu nÕu

5 Khoảng cách giữa s và t là d(s, t) = 1, 1

t

s n n

C

Trang 20

2.3.6 Hàm hạt nhân dựa trên khoảng cách

Hàm hạt nhân dựa trên khoảng cách giữa hai xâu thường được cho dưới dạng tổng quát như sau:

K(xc, x) = ((x - xc)’D-1(x - xc)) trong đó  là hàm, xc là tâm và D ma trận sao cho (x - xc)’D-1(x - xc) là độ đo khoảng cách giữa đầu vào x và tâm xc

Khi xét khoảng cách Euclidean, ta có D = r2I, trong đó I là ma trận đơn

vị Khi đó công thức hàm hạt nhân trở thành:

r

x x x

z

.1

.1

Trang 21

• Kk(x, z) = 1+ xz +xzmin(x, z) -        

3

,min,

min2

3

z x z

k x z K

1

,

• K(x, z)=

d b z

z x

k x z K

Với trường hợp nhiều chiều ta có:

k x z K

Trang 22

2.3.8 Tính chất của hàm hạt nhân

Giả sử hàm hạt nhân K(x, z) được định nghĩa như là tích vô hướng của

x.z trong đó x, z Rn Ta xây dựng dựa trên tập ℓ vector dữ liệu xi, với i

=1, 2, ,ℓ, ma trận Gram G, trong đó Gij = K(xi, xj) Ma trận này sẽ có các tính chất sau:

= w22 0

Khi hàm hạt nhân K(x, z) không định nghĩa tường minh như là tích vô hướng, hai tính chất trên của ma trận Gram vẫn phải được bảo đảm Tính chất đầu tiên được bảo đảm nếu K(x, z) = K(z, x) đối với mọi x, z  R Trong trường hợp này ta nói hàm hạt nhân K đối xứng

Tính chất thứ hai được bảo đảm nếu:

D DK ( x , z ) f ( x ) f ( z ) dxdz 0

trong đó f là hàm được định nghĩa trên không gian dữ liệu D

Hàm hạt nhân thoả mãn hai tính chất trên được gọi là hàm hạt nhân Mercer

Chú ý rằng nếu ta chọn hàm f như là tổng của các hàm tại các điểm x1,

x2, , xℓ  D, với các trọng số 1, 2, ,ℓ thì tích phân kép ở trên sẽ trở thành tổng kép:

i j

j i j

i x x

K  Đối với hàm hạt nhân K ta có các tính chất sau:

Trang 23

1 K(xi, xi)  0 cho mọi vector dữ liệu xi  D Điều này có được bằng cách chọn  như sau:

0

j k

i k

k

3 Nếu  là giá trị riêng của G thì   0 (lưu ý rằng nếu  là giá trị riêng của

G và  tương ứng là vector riêng thì G = ) Hơn nữa G là đối xứng, nên  là các giá trị thực Thực vậy ta lấy  =  do ’G = ’ =

v 22  0, nên   0 (vì  2 0),

4 Kx i,x iKx j,x j 2 Kx i,x j

1

 với xi, xj  D Nếu ’G  0 thì cho mọi

  Rn trong trường hợp đặc biệt ta có:

j i

i

x x

x x

),K(x ),K(x

j i

i i

j

cho mọi [i, j]’  R2

2.3.9 Xây dựng vectơ đặc trưng dựa trên hàm hạt nhân

Xét ma trận Gram G kích thước ℓ  ℓ dựa trên hàm hạt nhân K(x, z) đối xứng và dương, Gij = K(xi, xj), i, j =1, 2, , ℓ Như đã nói ở trên vector đặc trưng (xi), i =1, 2, , ℓ được định nghĩa thoả mãn điều kiện:

K(xi, xj) = (xi), (xj)

Do K(x, z) đối xứng và dương nên G sẽ đối xứng và hoàn toàn xác định dương Hơn nữa G có ℓ giá trị riêng không âm 1, 1, ,ℓ và tương ứng với

Trang 24

ℓ vector riêng 1, 2, ,ℓ thoả mãn điều kiện i, j = 0 nếu i  j và chúng

có thể được chuẩn hoá nghĩa là i, i = 1 với i =1, 2, , ℓ

Đặt V là ma trận kích thước ℓ  ℓ được xây dựng từ các vectơ riêng nghĩa là

0 1

= Vậ

Hơn nữa G = VậV’ Đặt V~V , tức là nhân cột đầu tiên của V với 1

cột thứ hai với 2 ,… ta được: ~~'

V V

G 

Từ đó có thể định nghĩa (xi)’ là dòng thứ i của V, i = 1, 2, …, ℓ

2.3.10 Xây dựng hàm hạt nhân từ các hàm hạt nhân cơ sở

Giải sử K1, K2 là các hàm hạt nhân trên     Rn, a R+, f(.) là hàm giá

trị thực trên , B là ma trận đối xứng hoàn toàn xác định dương kích thước nn Các hàm sau đây cũng là các hàm hạt nhân:

Trang 25

• K(x, z) = x’Bz

2.4 Không gian các hàm hạt nhân Hilbert

Giả sử   Rn là không gian dữ liệu vào gồm các vector kích thước n, x

= (x1, x2, ,xn),  ánh xạ x   thành vector đặc trưng (x) = (1(x), .,

N(x)) Ký hiệu K(x, y) là hàm hạt nhân xác định trên    nghĩa là K(x, y)

= (x), (y) Ta có không gian đặc trưng là: F ={(x)  x  }  RN Cho ℓ vector mẫu x1, x2, ,xℓ   Khi đó bài toán phân lớp nhị phân quy về bài toán tìm ℓ + 1 số thực 1, 2, ,ℓ và b sao cho:

(

i

i

i K x x x

a

1

)()

i b a

1, ký hiệu bởi )

Trang 26

Trong chương 2 đã trình bày khái niệm hạt nhân, tính chất của hạt nhân

và không gian hạt nhân Hilbert Một tính chất rất quan trọng của hạt nhân là khả năng biểu thị dữ liệu trong không gian đặc trưng Trong các chương tiếp theo chúng ta tiếp tục nghiên cứu và sử dụng tính chất này cho các bài toán phân lớp

Trang 27

CHƯƠNG 3 PHƯƠNG PHÁP SUPPORT VECTOR MACHINES (SVM)

3.1 Giới thiệu

Vấn đề phân lớp (Classification) và dự đoán (Prediction) là hai bài toán

cơ bản và có rất nhiều ứng dụng trong tất cả các lĩnh vực Có nhiều phương pháp đã được nghiên cứu và ứng dụng cho các bài toán dạng này như: mạng

Nơ ron nhân tạo, phương pháp học thống kê, Trong chương này chúng ta sẽ

đi nghiên cứu một phương rất hiệu quả hiện nay đó là phương pháp Support Vector Machines

Phương pháp Support Vector Machines (SVM) được coi là công cụ mạnh cho những bài toán phân lớp phi tuyến, ra đời năm 1995 bởi các tác giả Vapnik và Chervonenkis

Phương pháp Support Vector Machines (SVM) là phương pháp học sử dụng không gian giả thuyết các hàm tuyến tính trong không gian đặc trưng nhiều chiều, dựa trên lý thuyết tối ưu và lý thuyết thống kê

SVM liên hệ chặt chẽ với phương pháp hạt nhân, phương pháp phân lớp với khoảng cách lớn nhất, không gian hạt nhân Hilbert

3.2 Nội dung phương pháp

3.2.1 Mở đầu

3.2.1.1 Bài toán phân 2 lớp

Cho tập mẫu {(x1, y1), (x2, y2), (xℓ, yℓ)} với xi  Rn và yi  {-1, 1} là nhãn lớp tương ứng của các xi, -1 biểu thị lớp thứ nhất, 1 biểu thị lớp thứ hai

Bài toán đặt ra là: Xác định hàm phân lớp để phân lớp các mẫu trong tương lai, nghĩa là với một mẫu dữ liệu mới x t thì cần phải xác định x t được phân vào lớp +1 hay lớp -1?

Phương pháp SVM cho bài toán phân lớp được mô tả thông qua ví dụ sau:

Trang 28

Xét trong không gian 2 chiều (n = 2), các điểm của tập mẫu được cho như hình 3.1:

Hình 3.1 Minh hoạ phương pháp SVM cho bài toán hai lớp

Để xác định hàm phân lớp dựa trên phương pháp phương pháp Support Vector Machines ta sẽ tiến hành tìm hai siêu phẳng song song (tương ứng với hai đường nét đứt trong không gian hai chiều trên hình vẽ) sao cho khoảng cách giữa chúng là lớn nhất có thể để phân tách hai lớp này ra làm hai phía Hàm phân tách tương ứng với phương trình siêu phẳng nằm

giữa hai siêu phẳng tìm được (đường nét đậm trên hình vẽ 3.1)

Ta nhận thấy hình 3.1 là trường hợp có thể tìm được siêu phẳng phân

tách, dữ liệu trong trường hợp này gọi là phân tách tuyến tính

Xét trường hợp dữ liệu không phân tách tuyến tính như hình 3.2:

Trong đó:

Các điểm tương ứng với Support Vector

: các điểm có nhãn -1 : các điểm có nhãn +1

Trong đó:

Các điểm tương ứng với Support Vector 2

: các điểm có nhãn -1 : các điểm có nhãn +1

Trang 29

Hình 3.2 Bài toán SVM trong trường hợp dữ liệu mẫu không phân tách tuyến tínhNhư trên hình 3.2 có những mẫu có nhãn -1 lại “rơi” vào phía các mẫu có nhãn +1 và ngược lại

Trong trường hợp này phương pháp SVM sẽ sử dụng một phép ánh xạ dữ liệu mẫu vào không gian có số chiều lớn hơn để tập mẫu này là phân tách

tuyến tính trong không đó (ta gọi không gian mới này là không gian đặc trưng) Trong không gian mới này ta vẫn tiến hành tìm khoảng cách cực đại giữa hai siêu phẳng song song để phân tách dữ liệu mẫu

Các điểm nằm trên hai siêu phẳng phân tách gọi là các Support Vector Các điểm này sẽ quyết định đến hàm phân tách dữ liệu

Trong thực tế để thuận tiện cho quá trình tính toán, dữ liệu mẫu sẽ được ánh xạ vào không gian đặc trưng nhiều chiều hơn bằng cách sử dụng các hàm hạt nhân (đã xét ở chương 2), điều này làm tăng tốc độ tính toán và đảm bảo rằng dữ liệu sẽ gần như phân tách tuyến tính và tốc độ tính toán của phương pháp SVM sẽ hiệu quả hơn

Tuỳ từng trường hợp cụ thể ta sẽ có các biến thể của SVM như C - SVC, v- SVC và bài toán SVM nhiều lớp

3.2.1.2 Bài toán phân nhiều lớp

Bài toán phân nhiều lớp sử dụng phương pháp SVM hoàn toàn có thể thực hiện giống như bài toán hai lớp Bằng cách sử dụng chiến lược “1 đối 1” ( one - against - one)

Giả sử bài toán cần phân loại có k lớp (k  2), chiến lược “1 đối 1” sẽ tiến hành k(k-1)/2 lần phân lớp nhị phân sử dụng phương pháp SVM Mỗi lớp sẽ tiến hành phân tách với k-1 lớp còn lại để xác định k-1 hàm phân tách dựa vào bài toán phân hai lớp bằng phương pháp SVM

3.2.1.3 Các bước chính của phương pháp SVM

Trang 30

Phương pháp SVM yêu cầu dữ liệu được diễn tả như các vector của các

số thực Như vậy nếu đầu vào chưa phải là số ta cần phải tìm cách chuyển chúng về dạng số của SVM

• Tiền xử lý dữ liệu: biến đổi dữ liệu phù hợp cho quá trình tính toán tránh các số quá lớn mô tả các thuộc tính Thường nên co giãn (scaling) dữ liệu

để chuyển về đoạn [-1, 1] hoặc [0, 1]

• Chọn hàm hạt nhân: Chọn hàm hạt nhân phù hợp cho từng bài toán cụ thể

để đạt độ chính xác cao trong quá trình phân lớp

• Sử dụng kiểm tra chéo để xác định các tham số cho ứng dụng Điều này cũng quyết định đến tính chính xác của quá trình phân lớp

• Sử dụng các tham số cho việc huấn luyện với tập mẫu: trong quá trình huấn luyện sẽ sử dụng thuật toán tối ưu hoá khoảng cách giữa các siêu phẳng trong quá trình phân lớp, xác định hàm phân lớp trong không gian đặc trưng nhờ việc ánh xạ dữ liệu vào không gian đặc trưng dựa vào cách

mô tả hạt nhân đã xét ở chương 2 giải quyết cho cả hai trường hợp dữ liệu

là phân tách và không phân tách tuyến tính trong không gian đặc trưng

• Kiểm thử tập dữ liệu Test

3.2.2 Phương pháp SVM trong trường hợp dữ liệu được phân tách tuyến tính

3.2.2.1 Tìm khoảng cách cực đại giữa hai siêu phẳng

Chúng ta tiến hành phân lớp nhị phân các dữ liệu thoả mãn tính chất phân tách tuyến tính trong không gian đặc trưng

Cho S ={(x1, y1), (xl, yl)} biểu thị tập mẫu huấn luyện phân tách tuyến tính của các điểm x  Rn trong không gian đặc trưng n chiều, chúng được phân lớp thành các lớp + và - ở đây:

-nÕu

lípthuécx

Trang 31

Hình 3.3 Ví dụ về sự phân tách dữ liệu trong không gian đặc trưng Xem xét hai điểm mẫu (x1, +1) và (x2, -1) trên khoảng trống giữa hai siêu phẳng như trên hình 3.3, trong đó với mỗi ’ > 0 ta có:

w x1 + b = +’

w x2 + b = -’

trong đó khoảng cách hình học là  = ’/ w Khi đó w và b có thể có tỷ lệ tuỳ

ý, do vậy ta chọn khoảng cách  =1/ w Trên thực tế tập mẫu phân tách

tuyến tính nên tồn tại mặt phẳng w x + b = 0 trong không gian đặc trưng sao cho:

0

1y 0

i

inÕu

nÕu

b x

1

1y 1

i

inÕu

nÕu

b x

x1

x2

w

Trang 32

w x b

a) Bài toán quy hoạch toàn phương

Vấn đề xác định w và b sao cho (3.1) được thoả mãn có thể diển tả lại như sau:

2

1  (3.3) với: Az  c

Trong đó H là ma trận dương cỡ p p, f là vectơ cột có p phần tử , A là

.

.

1

y 0

0

,

0 0 0

0 1 .

.

0

0

0 1

'

' 1 1

x

x y

A H

b) Biểu diễn thông qua hàm hạt nhân

Dữ liệu đầu vào nói chung là không phân tách tuyến tính Khi đó ta phải ánh xạ dữ liệu vào không gian đặc trưng (như đã nói trong chương 2) Điều này làm tăng tốc độ tính toán và dữ liệu sẽ phân tách tuyến tính trong không gian nhiều chiều hơn

Trang 33

Ta minh hoạ điều này bằng ví dụ sau:

Đầu vào của phân lớp nhị phân được cho trong không gian hai chiều diễn

tả bởi hình vẽ:

Hình 3.4 Dữ liệu không phân tách trong không gian đầu vào

Mỗi điểm dữ liệu sẽ được đặc trưng bởi toạ độ (xi, yi) Rõ ràng các dữ liệu này là không phân tách tuyến tính Bây giờ ta sẽ ánh xạ nó vào không gian đặc trưng nhiều chiều hơn, cụ thể ở đây ta chọn 3 chiều và thực hiện phép biến đổi sau:

+ + + +

+ +

+

+

+ + +

+ + + +

+ +

Trang 34

Khi chúng ta làm việc với không gian đặc trưng thông thường ta không biết các dữ liệu vectơ (xi), i = 1, 2, , ℓ một cách tường minh, mà ta chỉ biết các giá trị hạt nhân K(xi, xj) = xi.xj

Để khắc phục vấn đề trên chúng ta đưa ra vectơ  có ℓ giá trị

c) Phát biểu đối ngẫu

Ta diễn tả bài toán (3.2) một cách đơn giản hơn như sau:

,()

,(),,(

i

i

i g w b b

w f b

Vì vậy, bài toán (3.2) trở thành:

Trang 35

i i i

b

Tuy nhiên, tại các điểm cực tiểu ta có:

 , w 0

i

w w

0

Ta viết lại () như sau:

 

,

2

1

, -

, 2

1

1

i 1 1 i

1 1

i i i i

j j j i i

i i

j i j j i i

x x K y y

y b

x x y y

x x y y

i y ii

Một lời giải khả thi cho bài toán đối ngẫu là   Rℓ sao cho thoả mãn ràng buộc i  0 Lời giải tối ưu biểu thị bằng * là lời giải khả thi làm cực đại hoá ()

Ngày đăng: 22/01/2021, 12:38

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w