Tài liệu tóm tắt môn Khai phá dữ liệu, chuyên ngành phần mềm khoa công nghệ thông tin. DeepL (www.deepl.com): Được đánh giá là một trong những trang web dịch ngôn ngữ chính xác nhất, DeepL sử dụng công nghệ AI và máy học sâu để cải thiện chất lượng dịch. Microsoft Translator (www.microsoft.comenustranslator): Công cụ dịch ngôn ngữ miễn phí của Microsoft, cho phép bạn dịch văn bản, từ vựng, câu và cả hình ảnh.
Trang 1Trường Đại học Nha Trang Khoa Công nghệ thông tin
Bộ môn Hệ thống thông tin Giáo viên: TS.Nguyễn Khắc Cường
KHAI PHÁ DỮ LIỆU
Trang 2CHỦ ĐỀ 4
PHÂN LỚP
(SVM)
2
Trang 3 SVM = Support Vector Machines
Là một trong các Supervised learning methods
Dùng được để thực hiện classification
Binary classification
Multi-class classification
Ví dụ:
Trang 4 Idea toán học thực hiện Binary classification:
Class +1
Class -1
4
( 1 )
n
x R n
( , ) x y y {-1, +1}
kí hi ệ u đạ i di ệ n cho sample trong dataset
b ộ i s ố vecto trong không gian n chi ề u
s ố th ự c
m ỗ i sample trong t ậ p hu ấ n luy ệ n đượ c gán nhãn
n: s ố chi ề u
Trang 5 Idea toán học thực hiện Binary classification:
trong đó: là normal (hay weight) vector của hyperplane
Ví dụ: hyperplane trong
( , ) x y i i i 1 N
( ) wT
f x x b
w
b
2 R
kí hi ệ u c ủ a t ậ p hu ấ n luy ệ n
siêu ph ẳ ng: n chi ề u (4 chi ề u tr ở lên) là không gian con có s ố chi ề u nh ỏ h ơ n s ố chi ề u c ầ n tách
PT đườ ng th ẳ ng y = ax + b, a là h ệ s ố góc
<=> y = ax + b
vecto chuy ể n v ị
pháp tuy ế n tr ọ ng s ố
Trang 6 Idea toán học thực hiện Binary classification:
phân chia một cách tuyến tính được, thì các trường
hợp có thể có của các hyperplane là:
Câu hỏi:
hyperplane nào là tốt nhất trong việc phân chia 2 class?
6
không c ắ t ngang data point -> đ úng
Trang 7 Idea toán học thực hiện Binary classification:
Xét các hyperplane có thể có
Dựa vào tập training set , các hyperplane
phân lớp đúng sẽ là các hyperplane thỏa điều kiện sau:
Hay: mỗi hyperplane được xem là phân lớp đúng đối các training data nếu:
( ) wT
f x x b
( )
i i
i
y
f x
y
( , ) x y i i i 1 N
i i
y (w T x b ) 0 i 1 N
() f
công th ứ c v ề m ặ t đạ i s ố để ki ể m tra hyperplane nào là đ úng
giá tr ị tu ỳ ý
thay giá tr ị w, b -> nhãn y có giá tr ị + -> nh ậ n,
ng ượ c l ạ i -> lo ạ i
Trang 8 Idea toán học thực hiện Binary classification:
Các hyperplane phân lớp đúng gồm có
Trong số các hyperplane phân lớp đúng đối với các data trong training dataset thì chọn hyperplane nào là tốt nhất?
8
Trang 9 Idea toán học thực hiện Binary classification:
Trả lời:
Vapnik đã đề xuất idea SVM (1990’s) để tìm ra hyperplane đó
Hyperplane cần tìm có largest margin
Margin = khoảng cách giữa
hyperplane và data point gần nhất (support vectors)
2
d
d x
Trang 10 Idea toán học thực hiện Binary classification:
Xét hyperplane
Do đó, chọn normal vector w sao cho:
và tương ứng với các support vectors + và –
Như vậy, margin tính theo w đã chọn trên là:
10
w T x b 0
c(w T x b ) 0
w T x b 1
w T x b 1
wT x x 2
w w
Trang 11 Idea toán học thực hiện Binary classification:
Như vậy, margin tính theo w đã chọn trên là:
Trang 12 Idea toán học thực hiện Binary classification:
Như vậy, largest margin có thể được tìm thấy nhờ bài toán tối ưu
Nhận xét:
Đây là bài toán quadratic optimization thỏa ràng buộc tuyến tính
Bài toán này có nghiệm duy nhất
Kết quả là tìm được normal vector w
biểu diễn hyperplane duy nhất có largest margin đối với training dataset đã cho (có thể phân chia tuyến tính)
12
1 1
2
1 1
i
T i w
i
if y subject to w x b i N
if y w
Trang 13SVM