Do ñó mô hình dự báo là kết quả của việc kết hợp dữ liệu và toán học, trong ñó việc huấn luyện có thể coi là việc xác ñịnh một ánh xạ từ tập hợp các mẫu luyện hay còn gọi là ñầu vào vào
Trang 1NGUYỄN HOÀNG DƯƠNG
MÁY VECTƠ TỰA (SUPPORT VECTOR MACHINE - SVM)
VÀ ỨNG DỤNG TRONG VIỆC XÁC ðỊNH
THAM SỐ ðỘ THẤM TRONG NGÀNH ðỊA CHẤT
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Hà Nội - 2012
Trang 2NGUYỄN HOÀNG DƯƠNG
MÁY VECTƠ TỰA (SUPPORT VECTOR MACHINE - SVM)
VÀ ỨNG DỤNG TRONG VIỆC XÁC ðỊNH
THAM SỐ ðỘ THẤM TRONG NGÀNH ðỊA CHẤT
Ngành: Công nghệ Thông tin Chuyên ngành: Công nghệ Phần mềm
Mã số: 60 48 10
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TSKH Phạm Huy ðiển
Hà Nội – 2012
Trang 3Lời cam đoan I Lời cảm ơn II MỤC LỤC III Danh mục các ký hiệu, các chữ viết tắt V Danh mục các hình vẽ VI
MỞ ðẦU 1
Chương 1 TỔNG QUAN VỀ MÁY VECTƠ TỰA SVM 4
1.1 ðặt vấn đề 4
1.2 Số chiều Vapnik Chervonenkis 5
1.2.1 Chiều VC của một họ hàm [14, trang 80-83] 5
1.2.2 Shatter (nuốt) [19] các điểm bằng siêu phẳng định hướng trong ℝn 5
1.2.3 Số chiều VC và số lượng tham số 9
1.3 Máy SVM tuyến tính 10
1.3.1 Siêu phẳng tách tối ưu [14, trang 133-135] 11
1.3.2 Một ví dụ tìm siêu phẳng tách tối ưu 16
1.3.3 Siêu phẳng tối ưu tổng quát [14, trang 136-138] 20
1.4 Máy SVM phi tuyến 23
1.4.1 Nguyên lý thực hiện [14, trang 140-146] 23
1.4.2 Ví dụ về hàm hạch 25
1.4.3 Một số hàm hạch hay dùng [14, trang 190-193] 26
1.5 Bài tốn phân loại đa lớp 27
1.5.1 Chiến lược một chọi phần cịn lại (OVR: One – Versus – Rest) 27
1.5.2 Chiến lược một chọi một (OVO: One – Versus – One) 28
1.6 Hồi quy SVM (Support Vector Regression) 29
1.6.1 Hồi quy SVM tuyến tính [14, trang 183-190] 30
1.6.2 Hồi quy SVM phi tuyến 33
1.7 Một số ứng dụng của SVM trong bài tốn phân lớp 34
1.7.1 Chẩn đốn bệnh ung thư vú bằng SVM phân loại hai lớp 34
1.7.2 Nhận dạng số viết tay bằng SVM phân loại nhiều lớp 38
1.8 Kết luận 41
Chương 2 TRIỂN KHAI TÍNH TỐN ðỘ THẤM TRONG NGÀNH ðỊA CHẤT 43
2.1 Dẫn nhập 43
2.2 Bài tốn mơ phỏng vỉa chứa dầu khí [9,11] 44
2.2.1 Khái niệm chung về mơ phỏng 44
2.2.2 Các định nghĩa và ký hiệu tốn học 45
2.2.3 Các thuộc tính của đá chứa 46
2.2.4 Mơ hình bài tốn 3 pha [9] 48
2.3 Vấn đề tính độ thấm 50
2.3.1 Phương pháp xác định độ thấm mẫu 50
2.3.2 Các đặc trưng liên quan đến độ thấm [9,11] 51
Trang 42.5 Triển khai trên MatLab 54
2.5.1 Cách cài đặt gĩi cơng cụ 54
2.5.2 Chương trình thực hiện 54
2.6 So sánh kết quả thực nghiệm 57
2.6.1 Quá trình huấn luyện 58
2.6.2 Dự đốn độ thấm 59
2.7 Kết luận 60
KẾT LUẬN 61
TÀI LIỆU THAM KHẢO 63
PHỤ LỤC 65
Trang 5Thuật ngữ, chữ viết tắt Giải thích
ANN Artificial Neural Network
Mạng nơron nhân tạo
Emp Empirical Risk
Sai số thực nghiệm KKT Karush-Kuhn-Tucker
OCR Optical Character Recognition
Nhận dạng ký tự quang
QP Quadratic Programing
Quy hoạch toàn phương
RBF Radial Basis Function
Hàm bán kính căn bản
SVM Support Vector Machine
Máy vectơ tựa
SVR Support Vector Regression
Hồi quy SVM
VC Vapnik Chervonenkis
Trang 6Danh mục các hình vẽ
Hình 0-1 Siêu phẳng phân hoạch tập mẫu trong khơng gian ℝd 2
Hình 1-1 Ba điểm thẳng hàng khơng bị nuốt trong ℝ2 8
Hình 1-2 Với 3 điểm khơng thẳng hàng trong ℝ2 luơn tồn tại siêu phẳng tách 8
Hình 1-3 Siêu phẳng phân hoạch đơi tập mẫu trong khơng gian ℝn 11
Hình 1-4 Siêu phẳng tối ưu phân lớp 2 tập mẫu 12
Hình 1-5 Tập mẫu khơng tách được bằng siêu phẳng tối ưu 20
Hình 1-6 Siêu phẳng tối ưu tổng quát phân hoạch tập mẫu 23
Hình 1-7 Mặt phân hoạch phi tuyến trong khơng gian ℝn 24
Hình 1-8 Mặt phẳng trong ℝ2 thành mặt cong trong ℝ3 26
Hình 1-9 SVM loại trừ trong phân lớp một chọi một 28
Hình 1-10 Chiến lược một chọi một loại trừ trong mọi trường hợp xảy ra 29
Hình 1-11 Sai số trong hồi quy SVM tuyến tính 33
Hình 1-12 Màn hình hiển thị cấu trúc của biến svmStruct 37
Hình 1-13 Kết quả kiểm tra chéo SVM chẩn đốn ung thư với λ = 0.1 (lần 1) 37
Hình 1-14 Kết quả kiểm tra chéo SVM chẩn đốn ung thư với λ = 0.1 (lần 2) 38
Hình 1-15 Ảnh mẫu biểu diễn số cần nhận dạng 41
Hình 1-16 Kết quả nhận dạng sử dụng SVM phân loại 10 lớp 41
Hình 2-1 Sơ đồ hệ thống mơ phỏng mỏ 44
Hình 2-2 Kết quả huấn luyện sử dụng ANN với 70 mẫu luyện 58
Hình 2-3 Kết quả huấn luyện sử dụng hồi quy SVM với 70 mẫu luyện 58
Hình 2-4 Kết quả sử dụng ANN dự báo độ thấm 59
Hình 2-5 Kết quả sử dụng SVR dự báo độ thấm 59
Trang 7MỞ ðẦU
Với tốc ñộ phát triển như vũ bão của thông tin hiện nay, việc khai thác, sử dụng thông tin và dựa trên ñó ñể ñưa ra các dự báo là một bài toán có ứng dụng rộng rãi và ñược rất nhiều người quan tâm nghiên cứu
Nhiều kỹ thuật mô hình hóa dự báo, gồm các mạng thần kinh, phận cụm, cây quyết ñịnh, suy luận quy nạp, mạng Beyesian, máy vectơ tựa SVM (Support Vector Machine), ra ñời giúp cho việc dự báo (prediction), phân loại (classification) thông tin ngày một tốt và chính xác hơn
Các mô hình dự báo ñược sinh ra bất cứ khi nào sử dụng dữ liệu ñể huấn luyện một kỹ thuật mô hình hóa dự báo hay nói cách khác: dữ liệu + kỹ thuật mô hình hóa
dự báo = mô hình
Do ñó mô hình dự báo là kết quả của việc kết hợp dữ liệu và toán học, trong ñó việc huấn luyện có thể coi là việc xác ñịnh một ánh xạ từ tập hợp các mẫu luyện (hay còn gọi là ñầu vào) vào một hoặc nhiều biến ñích (hay còn gọi là biến ñầu ra)
Trong các kỹ thuật ñó, máy vectơ tựa SVM ñược Vapnik ñề xuất vào năm 1995
là một phương pháp học có sự giám sát dựa trên lý thuyết tối ưu hóa, thống kê, giải tích dùng trong bài toán phân loại và mở rộng của nó (còn gọi là hồi quy SVM) ñược dùng trong bài toán dự báo ñã ñược ứng dụng ở nhiều lĩnh vực và ñược coi là công cụ mạnh, phổ biến ñặc biệt thích hợp cho bài toán với dữ liệu lớn và nhiều chiều
Phân lớp (classification) là một tiến trình xử lý nhằm xếp các mẫu dữ liệu hay các ñối tượng vào một trong các lớp ñã ñược ñịnh nghĩa trước Các mẫu dữ liệu hay các ñối tượng ñược xếp vào các lớp dựa vào giá trị của các thuộc tính (attributes) cho một mẫu dữ liệu hay ñối tượng Sau khi ñã xếp tất cả các ñối tượng ñã biết trước vào các lớp tương ứng thì mỗi lớp ñược ñặc trưng bởi tập các thuộc tính của các ñối tượng chứa trong lớp ñó
Quá trình phân lớp còn ñược gọi là quá trình gán nhãn cho các tập dữ liệu Nhiệm
vụ của bài toán phân lớp dữ liệu là cần xây dựng mô hình (bộ) phân lớp ñể khi có một
dữ liệu mới vào thì mô hình phân lớp sẽ cho biết dữ liệu ñó thuộc lớp nào
Bài toán phân lớp này ñược mô tả như sau: Xét một tập hợp gồm N ñối tượng, trong ñó mỗi ñối tượng ñược ñặc trưng bởi một bộ các thuộc tính (có thể ñược mô tả như một vectơ trong không gian n chiều) Theo một nguyên tắc “chuyên gia” nào ñó, người ta có thể chỉ ñịnh (một cách thủ công) cho mỗi ñối tượng thuộc vào một lớp nào
ñó trong k lớp xác ñịnh trước Nói chung, nguyên tắc phân lớp này không mô tả ñược một cách tường minh dưới dạng quy tắc, công thức hay thuật toán xác ñịnh
Vấn ñề ñặt ra: Khi số N là rất lớn, khiến cho việc phân lớp bằng thủ công là không thể thực hiện ñược, thì có hay không một công cụ thực hiện việc phân lớp một
Trang 8cách tự động, với khả năng sai sĩt cĩ thể xảy ra là khơng vượt quá một chỉ tiêu xác định nào đĩ cho trước?
Mơ hình tốn học cho bài tốn: Ta giả thiết, mỗi đối tượng cĩ thể được xem là một vectơ A =( , , ,a a1 2 a n)∈ ℝn, trong đĩ mỗi tọa độ a j là đặc trưng cho thuộc tính thứ j của đối tượng này Ta ký hiệu lớp đối tượng thứ i là L i i ( = 1,2, , )k và
ký hiệu L = { Li | i = 1, , k } là tập tất cả các lớp này Như vậy, mỗi phép phân lớp
cĩ thể được xem như một ánh xạ từ tập tất cả các đối tượng
cơ sở cho việc thiết lập ra các bài tốn tối ưu đã nĩi ở trên
Ý tưởng chính của SVM là chuyển tập mẫu từ khơng gian biểu diễn ℝn sang một khơng gian ℝd (d > n) Trong khơng gian mới này, tìm một siêu mặt tối ưu để tách tập mẫu dựa trên phân lớp của chúng để từ đĩ xác định được phân lớp của mẫu cần nhận dạng (trong khơng gian ℝn)
Hình 0-1 Siêu phẳng phân hoạch tập mẫu trong khơng gian ℝd
Phương pháp máy vectơ tựa SVM cũng đưa ra một cơng thức cụ thể cho việc đánh giá khả năng sai sĩt (theo nghĩa xác suất), và theo đĩ khi tập con được phân lớp sẵn (cịn được gọi là tập hợp luyện hoặc tập mẫu luyện) càng nhiều thì khả năng sai sĩt xảy ra với việc phân lớp là càng thấp
Luận văn bố cục như sau, Chương 1 tìm hiểu tổng quan về máy vectơ tựa SVM,
bài tốn phân loại đa lớp, các chiến thuật trong bài tốn phân lớp và mở rộng của máy vectơ tựa SVM (hay cịn gọi là hồi quy SVM) dùng trong bài tốn dự đốn Phần cuối
Trang 9bài toán phân loại hai và nhiều lớp ñược triển khai trên phần mềm MatLab Chương 2
tìm hiểu máy “học” dùng hồi quy SVM ñể xác ñịnh thông tin về ñộ thấm – một thông
số quan trọng trong bài toán mô phỏng vỉa dầu khí ngành ñịa chất thông qua các thông tin liên quan khác (tại những ñiểm ñã biết thông tin cụ thể về ñộ thấm) Sau khi máy học, thì nó sẽ có khả năng ñưa ra thông tin về ñộ thấm tại những ñiểm cần dự báo và kết quả thực nghiệm ñạt ñược Cuối cùng là kết luận và hướng phát triển trong tương lai cho nghiên cứu này
Trang 10Chương 1 TỔNG QUAN VỀ MÁY VECTƠ TỰA SVM
Chương này nghiên cứu một số vấn ñề cơ bản của SVM: phân lớp tuyến tính với siêu phẳng tối ưu, sử dụng hàm hạch ñể phân lớp gián tiếp thông qua không gian ñặc trưng với số chiều cao hơn trong phân lớp phi tuyến, một số chiến lược SVM cho bài toán phân loại ña lớp và bài toán hồi quy SVM
{1, , }
∀ ∈ Như vậy, từ tập mẫu luyện ta có một hàm số từ tập dữ liệu
{x x1, , ,2 x l} vào tập nhãn Y = {-1;1} Vấn ñề ñặt ra, hãy tìm một hàm số trong họ các hàm {f α :X →Y} (α là tham số) sao cho ñộ rủi ro lý thuyết [14, trang 18]
là ñộ rủi ro thực nghiệm của hàm f α : X →Y với tập mẫu luyện ñã cho
Vapnik năm 1995 ñã chứng minh ñược rằng với một số η ∈(0, 1 thì bất ñẳng
Trang 11ñúng với ñộ tin cậy là 1−η, trong ñó h là số chiều VC (Vapnik Chervonenkis)
Từ công thức (1.1.3) ta thấy nếu vế phải của (1.1.3) càng bé thì R α( ) càng bé
mà vế phải của (1.1.3) bé nếu h bé, hoặc số lượng mẫu l lớn Theo luật số lớn,
( )
emp
R α hội tụ theo xác suất tới R α( ) khi số lượng mẫu l → ∞ Như vậy, ñể tìm ñược hàm phân lớp có ñộ chính xác cao, ngoài việc cần có một số lượng mẫu luyện ñủ lớn, ta còn phải tìm tham số α* ñể
Nhưng cần chú ý rằng khi vế phải của (1.1.3) lớn thì R α ( ) vẫn có thể bé
1.2 Số chiều Vapnik Chervonenkis
1.2.1 Chiu VC c a mt h hàm [14, trang 80-83]
Cho họ hàm { } fα và tập gồm l ñiểm D = { x x1, , ,2 xl} ⊂ X ñược gán nhãn
từ tập { − 1;1 }
ðịnh nghĩa 1.2.1 Tập D bị nuốt (shattered) bởi họ hàm { } fα , nếu mọi cách gán nhãn bất kì ( y y1, , ,2 yl) trong 2l cách gán nhãn của tập D , ñều tồn tại một α
sao cho f xα( )i = yi , ∀ = i 1,2, , l
ðịnh nghĩa 1.2.2 Số chiều Vapnik Chervonenkis hay ñơn giản là số chiều VC
của họ hàm { } fα trên không gian X là p ( p có thể là +∞), nếu trên X có nhiều nhất p phần tử và các phần tử ñó bị nuốt bởi họ hàm { } fα
1.2.2 Shatter (nu!t) [19] các ñi&m b(ng siêu ph,ng ñ-nh h./ng trong ℝn
ðịnh lý 1.2.3 (ðịnh lý tách) Hai tập A B , trong ℝn ñược tách chặt bởi một siêu phẳng ñịnh hướng nếu và chỉ nếu coA∩coB = ∅
Trong ñó, siêu phẳng ñịnh hướng là siêu phẳng w x =, 0 có vectơ w có hướng xác ñịnh, tức là w luôn hướng vào miền âm hay miền dương của không gian
ðịnh lý 1.2.4 Cho tập k ñiểm S = {x x1, , ,2 x k} trong không gian ℝn Tập các ñiểm này bị nuốt bởi họ các siêu phẳng ñịnh hướng nếu và chỉ nếu
Trang 12Chứng minh ðiều kiện cần: Giả sử { }j 1
Ta chia tập S thành hai tập rời nhau tùy ý S1, S2 trong ñó x t ∈ S1 ðặt
ðiều kiện ñủ: Giả sử tập k ñiểm ñã cho bị nuốt bởi họ các siêu phẳng ñịnh hướng, tức là với mọi cách phân hoạch S thành hai tập khác rỗng, luôn tồn tại một siêu phẳng tách chặt hai tập ñó Ta cần chứng minh, tồn tại một xt ∈ { x1, , xk} sao cho hệ vectơ { }k
t j
ñộc lập tuyến tính
Trang 13Thật vậy, nếu hệ vectơ { }j 1
α
=
=
∑ (Nếu tổng ko bằng 1 ta thực hiện phép chia cho tổng của α i rồi ñặt lại hệ số)
Nếu các α i cùng dấu, ta có thể giả sử α i ≥ ∀ =0, i 1, , k Khi ñó,
b a
Trang 14ðiều này mâu thuẫn với giả thiết, do ñó luôn tồn tại một
Thật vậy, nếu ta xét họ hàm { }f α là tập các ñuờng thẳng ñịnh hướng trong ℝ2, khi ñó số chiều VC là 3
Hình 1-1 mô tả 3 ñiểm thẳng hàng, họ hàm { }f α không nuốt ñược 3 ñiểm này
Hình 1-1 Ba ñiểm thẳng hàng không bị nuốt trong ℝ2
Hình 1-2 mô tả các ñiểm ñen và trắng tượng trưng cho nhãn của các ñiểm
Khi 3 ñiểm không thẳng hàng ta thấy, với mọi cách gán nhãn cho 3 ñiểm
ñó ta luôn tìm ñược một siêu phẳng phân biệt chúng
Trang 151.2.3 S! chiu VC và s! l.3ng tham s!
Một cách trực quan ta thấy rằng, khi tăng số lượng tham số của họ hàm f x α( ) thì
số chiều VC cũng tăng Tuy nhiên, không phải số lượng tham số cứ nhỏ thì số chiều
VC tương ứng là hữu hạn Bởi vì nó còn phụ thuộc vào dáng ñiệu của họ hàm ñang xét Ví dụ sau ñây chứng minh rằng có một lớp hàm chỉ phụ thuộc một tham số tuy nhiên số chiều VC của nó là vô hạn
Xét họ hàm
f x α =Sign α x x α ∈ ℝ Với một số nguyên dương n bất kì Ta cần chứng minh tồn tại n ñiểm trên ℝ
bị nuốt bởi họ hàm f α Xét n ñiểm x i =10 , −i i =1,2, ,n Với mỗi cách gán nhãn c ∈ − i { 1,1}
1
210
11
210
j i i j
j i
j c
c x
c
π α
Trang 16- Nếu ci = − 1, ta có
1
1 1
2 10
n
j i i
j
c x
j j i c
j j i c
1.3 Máy SVM tuyến tính
Trong không gian ℝn, cho tập dữ liệu gồm l ñiểm xi, i = 1,2, , l ñược gán nhãn tương ứng là yi Gọi S , S1 2 lần lượt là tập các ñiểm có nhãn là + 1 và tập các ñiểm có nhãn là −1 Mục ñích của bài toán là tìm ra một hàm tách tốt nhất hai tập
1 2
S , S , không những thế hàm tìm ñược còn phải xác ñịnh nhãn tốt cho các phần tử chưa biết
Trang 17Hình 1-3 Siêu phẳng phân hoạch ñôi tập mẫu trong không gian ℝn Xét ví dụ trong Hình 1-3 ta thấy, có nhiều siêu phẳng có thể tách tập dữ liệu,
nhưng chỉ có duy nhất một siêu phẳng có “hành lang tách” (tổng khoảng cách từ siêu phẳng ñó ñến mỗi lớp) là lớn nhất Siêu phẳng này gọi là siêu phẳng tách tối ưu
1.3.1 Siêu ph,ng tách t!i u [14, trang 133-135]
Xét bài toán phân tách tập:
( ) { 1, 1 ; ;( , ) ,l l } i { 1; 1 , }
vectơ có khoảng cách gần siêu phẳng nhất ñược gọi là vectơ tựa
Một khái niệm quan trọng cần thiết ñể xác ñịnh một phép phân lớp tuyến tính là
tích vô hướng giữa hai vectơ
1
n
n j
Trang 18Hình 1-4 Siêu phẳng tối ưu phân lớp 2 tập mẫu
Khoảng cách có dấu d1 từ gốc tọa ñộ ñến siêu phẳng H1 là: 1 1
b d
Trang 19Suy ra khoảng cách giữa hai phân hoạch (hay cũng chính là khoảng cách giữa hai siêu phẳng H H1, 2) là: ( ) 1 2
2,
w
ρ = − = Như vậy, ρ(w b, ) chính là ñộ rộng hành lang tách của siêu phẳng tách ( )P
Do ñó ñể ρ(w b, ) lớn nhất thì w phải nhỏ nhất (hay w 2 là nhỏ nhất – ñể dễ dàng thực hiện phép tính sau này) Như vậy, siêu phẳng tách tối tối ưu tập dữ liệu là siêu phẳng làm cực tiểu hàm
( ) 1 2
.2
Trang 20ðể tìm siêu phẳng tối ưu ta giải bài toán tối ưu bậc hai sau:
i i i i
i i i
trong ñó các α i ∈ ℝ là các nhân tử Lagrange
Ta thấy rằng, bài toán ban ñầu là bài toán quy hoạch toàn phương trên miền lồi
Do ñó ñiều kiện KKT là ñiều kiện cần và ñủ ñể bài toán có nghiệm toàn cục
=
Trang 210
l
i i i
y α
i l
i i i
i i i i
Do ñó với mỗi x i có 2 trường hợp xảy ra:
α i = 0: trong trường hợp này y i( w x, i +b)− >1 0, suy ra x i
không nằm trên siêu phẳng biên H1 hoặc H2 Vì α i = 0 nên x i
không tham gia vào cấu trúc w theo công thức (1.3.13) Những x i
này không cần thiết và có thể bỏ ñi mà không ảnh hưởng ñến w Khi
ñó
1
s N
i i i i
Trang 22vectơ tựa và tham gia vào việc tính w Như vậy số lượng vectơ tựa nhỏ hơn nhiều so với số lượng mẫu
Trang 23µ δ
( )
( )( )
Trang 241( )t ( )t R n t ( )t 0
Do ñó, ta phải giải bài toán (1.3.16) với ñiều kiện (1.3.17)
ðể ñơn giản, ñầu tiên ta giải bài toán (1.3.16) với ñiều kiện ñẳng thức (1.3.9), nếu nghiệm tìm ñược thỏa mãn α i ≥ ∀0 i, thì ta sẽ tìm ñược nghiệm tổng quát Bằng cách ñưa thêm nhân tử Lagrange λ cho ñiều kiện ñẳng thức (1.3.9), ta phải tìm
∂
= ∀
Trang 25Ma trận H bây giờ trở nên ñơn giản: những phần tử không nằm trên ñường chéo
− , các phần tử nằm trên ñường chéo chính là R2 Ta thấy, các phần
tử không nằm trên ñường chéo chính chỉ khác nhau bởi nhân tố y i, ñiều này gợi ý cho
n i i
y p n
y p n α
+
Do ñó
1 2
, 1
2 1
2 1
i i
Trang 26( )
1 2
1
1 1
R M
w
p n
Khi số các ñiểm n + 1 là số lẻ thì giá trị nhỏ nhất của M ñạt ñược
min
2
R n M
n n
+
=
+
1.3.3 Siêu ph,ng t!i u t:ng quát [14, trang 136-138]
Trong thực tế, tập mẫu ban ñầu không phải lúc nào cũng tồn tại siêu phẳng tách các ñiểm ñã cho thành hai lớp theo nhãn của nó
Hình 1-5 Tập mẫu không tách ñược bằng siêu phẳng tối ưu
Tức là, không tồn tại siêu phẳng ( ) : P w x , + = b 0 sao cho
Trang 27Tuy nhiên ta vẫn muốn sử dụng ý tưởng của SVM dùng siêu phẳng ñể tách tập mẫu này Trong trường hợp này ta nới lỏng ñiều kiện bằng cách thêm vào các biến
( )
0
ξ ≥ ξ ∈ ℝ Khi ñó, ta ñi tìm siêu phẳng có ( w b ; ) là nghiệm của bài toán tối
ưu sau ñây:
Tìm
2 ,
min
2
k i w
Áp dụng ñiều kiện tối ưu KKT cho L P ta ñược
1
0,
l P
i i i i
i i i
Trang 28i i i
i i i i
Nhận xét: Ta thấy rằng bài toán ñối ngẫu trong trường hợp này chỉ khác bài toán
ñối ngẫu trong trường hợp trước ở chỗ, các nhân tử Lagrange bị chặn bởi hằng số C
Trang 29Nếu α i =C , từ (1.3.38) suy ra µ i = 0, khi ñó ξ i ñược tính từ phương trình ξ i = −1 y i( w x, i +b) Vì ξ i ≥ ⇒0 y i(<x w i, > + ≤b) 1
tương ứng với α i =C mới có thể là ñiểm vi phạm ñiều kiện tách
Hình 1-6 Siêu phẳng tối ưu tổng quát phân hoạch tập mẫu
Vậy là ñã tìm ñược siêu phẳng phân tách một tập mẫu không thể phân hoạch tuyến tính Siêu phẳng tách như vậy ñược gọi là siêu phẳng khoảng cách phân hoạch
mềm (soft-margin hyperplane)
1.4 Máy SVM phi tuyến
1.4.1 Nguyên lý th@c hiAn [14, trang 140-146]
Trong trường hợp D ={ (x y1, 1); ;( , ) ,x y l l } y i ∈ − +{ 1; 1} không tách ñược bằng siêu phẳng theo các nhãn Ngoài phương pháp nới rộng ñiều kiện ñể tìm siêu
phẳng có hành lang tách lớn nhất và chấp nhận một vài ñiểm gây lỗi Năm 1992 Boer,
Guyon và Vapnik ñã chứng minh rằng có thể thực hiện ánh xạ ñưa tập mẫu từ ℝn vào một không gian H = ℝd(d >n) H ñược gọi là không gian ñặc trưng (feature space) Sau ñó áp dụng phương pháp SVM tuyến tính ñể tìm ra siêu phẳng phân hoạch
w
b w
−
w ξ
−
Trang 30trong không gian ñặc trưng H Siêu phẳng này sẽ ứng với mặt phi tuyến trong không gian ℝn
Hình 1-7 Mặt phân hoạch phi tuyến trong không gian ℝn
Gọi ánh xạ ñược sử dụng là Φ : ℝn → H Như vậy bài toán ñược phát biểu lại như sau: Tìm siêu phẳng tối ưu trong không gian H tách tập mẫu mới
{ Φ( ),x1 y1 , ( ( ), ), , ( ( ), )Φ x2 y2 Φ x l y l } Tập mẫu luyện ở trong không gian có số chiều càng lớn thì số chiều VC càng lớn
Do ñó khả năng tách bằng siêu phẳng càng lớn ðây là lý do ñể ta hy vọng ý tưởng này
i i i
Trang 31Hàm phân tách khi ñó ñược xác ñịnh
( , ') ( ), ( ') , ' n,
thì khi tính toán (1.4.4) và (1.4.5) ta chỉ cần sử dụng k mà không cần biết rõ Φ Hàm
k với các xác ñịnh như trên ñược gọi là hàm hạch (kernel function) tương ứng với
N
i i i i
Xét hàm k x x( , ')=< x x, ' >2 trong ℝ2 ta dễ dàng xác ñịnh ñược một vài ánh
xạ Φ : ℝ2 → H thỏa mãn ñiều kiện (1.4.6)
Nếu H = ℝ3 thì
2 1
1 2 2 2
Trang 32Hình 1-8 Mặt phẳng trong ℝ2 thành mặt cong trong ℝ3
1 2
1 2 2 2
x x x
Giả sử tập mẫu D có l phần tử, ma trận K (kích cỡ l×l) ñược xác ñịnh như sau k ij =k x x( i, j ); ,i j =1, ,l Người ta ñã chứng minh ñược rằng nếu k là hàm hạch thì ma trận K là ma trận nửa xác ñịnh dương (semipositive define, các giá trị riêng của ma trận là không âm)
Trang 33Hàm bán kính căn bản Gaussian RBF (Radial Basis Function)
2 2
' 2
là theo khoảng cách Euclid x −y 2
1.5 Bài toán phân loại ña lớp
Với lý thuyết học thống kê và nền tảng toán học chặt chẽ, phương pháp SVM ban ñầu ñược xây dựng ñể phân loại bài toán hai lớp (y ∈ − + i { 1, 1}) Tuy nhiên bài toán phân loại ña lớp có thể ñược giải quyết bằng việc kết hợp nhiều SVM lại với nhau Xét một tập các ñối tượng {X X1, 2, ,X n} mỗi ñối tượng thuộc một trong k
lớp cho trước L ={L L1, 2, ,L k} Sau ñây là một số chiến lược thường ñược áp dụng cho bài toán SVM phân loại
ña lớp:
1.5.1 ChiDn l.3c mt chi phEn còn lBi (OVR: One – Versus – Rest)
ðây là chiến lược ñơn giản nhất cho bài toán phân loại nhiều lớp ðể phân loại các ñối tượng này thành k lớp bằng phương pháp SVM, ta xây dựng k máy SVM
phân loại 2 lớp (một máy cho mỗi lớp):
Trang 34Giả sử X =(a a1, , ,2 a m) là một vectơ ñặc trưng của một ñối tượng bất kì
ðể xác ñịnh X thuộc lớp nào trong k lớp ñã cho, ta sử dụng SVM1 ta sẽ biết ñược X thuộc lớp L1 hay thuộc (k −1) lớp còn lại Nếu X không thuộc lớp L1, sử dụng SVM2 ta sẽ biết ñược X thuộc lớp L2 hay thuộc (k −2) nhóm còn lại Quá trình này tiếp tục cho ñến khi ta xác ñịnh ñược X thuộc lớp nào
Ưu ñiểm của chiến lược này là số máy phân lớp ít, do ñó tốc ñộ phân lớp nhanh hơn Tuy nhiên, dù số máy phân lớp ít nhưng mỗi lần huấn luyện phân lớp thì toàn bộ tập mẫu ñều tham gia huấn luyện, do ñó thời gian huấn luyện tăng lên ñáng kể Nhược ñiểm chính của chiến lược này là nếu một mẫu khi bị phân lớp sai thì sẽ không có cơ hội ñể thực hiện lại, do ñó ñộ chính xác phân lớp của chiến lược này không cao
1.5.2 ChiDn l.3c mt chi mt (OVO: One – Versus – One)
Chiến lược phân lớp một chọi một do John Platt và Nello Cristianini ñưa ra Trong chiến lược này, các lớp không phải là kết quả phân loại ñược loại trừ dần dần Ứng với mỗi cặp lớp i j , , một SVM i j( , ) ñược thiết lập chỉ dựa trên những mẫu của hai lớp này (i là lớp −1, j là lớp +1) ðặc ñiểm của SVM này là nếu mẫu thử có kết quả âm thì không kết luận ñược mẫu này thuộc lớp i mà chỉ có thể kết luận ñược mẫu này không thuộc lớp j và ngược lại
Hình 1-9 SVM loại trừ trong phân lớp một chọi một
Với cách tiếp cận của chiến lược này, nếu cần phân loại mẫu vào một trong k lớp thì cần xác ñịnh 1+ +2 +(k −1) =k k( −1 / 2) siêu phẳng phân lớp Do ñó
có k k −( 1 / 2) SVM trong phân loại k lớp Như vậy, số lượng máy phân lớp tỷ lệ
Không kết luận ñược mẫu thuộc lớp 4
mà chỉ kết luận mẫu không thuộc lớp 1
SVM(1,4)
Trang 35Xét chiến lược một chọi một trong trường hợp cụ thể gồm 4 lớp phân loại
2 3 4
1 3 4
2 4
3 4
1 2
not 1 not 2
1 2 3 4
1 vs 2
Hình 1-10 Chiến lược một chọi một loại trừ trong mọi trường hợp xảy ra
Khi bắt ñầu phân loại, SVM( )1,2 sẽ ñược thực hiện ñể xem cần loại trừ lớp 1
hay lớp 2 Nếu mẫu không thuộc lớp 2 thì SVM( )1, 3 sẽ ñược thực hiện tiếp theo, còn ngược lại thì SVM( )2, 3 sẽ ñược thực hiện Cứ loại trừ dần dần như vậy cho ñến khi chỉ còn một lớp cuối cùng và ñó cũng chính là kết quả của việc xét phân lớp (Hình 1-10)
Ưu ñiểm của chiến lược này là mỗi lần huấn luyện phân lớp thì chỉ cần tập mẫu của hai lớp ñược chọn tham gia huấn luyện, do ñó thời gian huấn luyện nhanh Ngoài
ra, với chiến lược này còn tồn tại nhiều siêu phẳng tách khác nhau cho mỗi cặp lớp
Do ñó, nếu một mẫu thuộc một lớp bị phân lớp sai thì mẫu ñó vẫn còn cơ hội ñược phân lớp ñúng nhờ vào các máy phân lớp còn lại, do ñó chiến lược này ñạt kết quả phân lớp khá chính xác
1.6 Hồi quy SVM (Support Vector Regression)
Giả sử ta có một tập mẫu luyện cho trước:
( ) ( ) ( ) { x y1, 1 , x y2, 2 , , x y l, l }⊂ X×ℝ,
trong ñó X là không gian chứa các vectơ x i Trong hồi quy ε −SVM, mục ñích là tìm một hàm f x( ) sao cho tại hầu hết các ñiểm x i, ñộ lệch của f x( )i so với y i không vượt quá ε, ñồng thời f bằng phẳng nhất có thể Nói cách khác, ta không quan tâm ñến những lỗi có ñộ lệch nhỏ hơn ε, nhưng sẽ không chấp nhận những lỗi nào có ñộ lệch lớn hơn ε
Trang 361.6.1 HLi quy SVM tuyDn tính [14, trang 183-190]
Ta bắt ñầu với với trường hợp f là một hàm tuyến tính có dạng
( ) ,
f x =<w x > +b với w ∈ X b , ∈ ℝ (1.6.1)
Tính bằng phẳng trong trường hợp này có nghĩa là ta tìm ra một w nhỏ
Khi ñó bài toán ñược viết dưới dạng bài toán quy hoạch lồi như sau:
2
1
,2
trong ñó α α η η i, i*, ,i i* ≥ 0 là các nhân tử Lagrange, C là hằng số dương
Tìm vectơ w : Áp dụng ñiều kiện tối ưu KKT cho bài toán
Trang 370,
i i i