Bài viết giới thiệu những vấn đề cơ bản của kỹ thuật SVM cùng với những thành tựu của phương pháp máy vec-tơ hỗ trợ đối với các bài toán thực tế, cụ thể là bài toán phân loại thư rác trong công nghệ thông tin.
Kỵ thuõt mắy Vectù hớ trụ v ửng dệng ThS Lã ThÌ Thanh H¿ Tóm tắt Phương pháp phân lớp sử dụng máy vectơ hỗ trợ SVM (support vector machine) phương pháp tiếng dựa việc cực đại hóa dải biên phân lớp (max margin classification) việc lựa chọn hàm nhân (kernel) phù hợp Phương pháp sử dụng rộng rãi thống kê nhờ tính hiệu quả, độ xác cao đặc biệt với liệu lớn Nó đánh giá công cụ mạnh tinh vi cho toán phân lớp phi tuyến Trong viết này, giới thiệu vấn đề kỹ thuật SVM với thành tựu phương pháp máy vec-tơ hỗ trợ toán thực tế, cụ thể tốn phân loại thư rác cơng nghệ thơng tin Abstract Support vector machines(SVM) are well-known method for solving classification problems based on the idea of margin maximization and kernel functions This method is widely used in statistics due to the efficiency, accuracy and a great ability to deal with large data sets It is considered the most powerful and sophisticated technique for the nonlinear classification problems in present In this paper, we introduce the basics of SVM technique, along with the achievements of the method hỗ trợ vector machines for the actual problem, namely the problem of spam email classification in information technology Đặt vấn đề Sự phát triển dịch vụ thông tin Internet nhu cầu trao đổi thông tin làm cho hệ thống thư điện tử phát triển mạnh Song song với phát triển đó, tình trạng thư rác ngày gây nhiều thiệt hại cho cộng đồng người sử dụng như: hao phí tài nguyên mạng máy tính, làm thời gian người dùng chí phát tán thơng tin văn hóa độc hại Vì vậy, vấn đề xây dựng giải pháp tự động lọc chống thư rác trở thành nhu cầu thiếu Hệ thống lọc thư rác dựa phương pháp phân loại văn bản, tức gán văn vào số nhóm văn biết trước Đối với toán lọc thư rác, đầu vào thư điện tử gửi mạng Internet Thơng thường, có hai nhóm văn thư rác (spam mail) thư (ham mail) Việc xác định nhóm thư rác thường khơng có định nghĩa xác, tùy thuộc vào đối tượng, hồn cảnh mục đích, mục tiêu phân loại Do đó, việc xây dựng hệ thống phân loại tự động có khả học để thích nghi cần thiết cho hệ thống điện tử Một kỹ thuật tính tốn tiếng cho tốn phân lớp, dự đốn với độ xác cao thuận tiện sử dụng rộng rãi cộng đồng tin học, y sinh, kinh tế số năm gần kỹ thuật máy vec tơ hỗ trợ SVM (support vector machine) Trong viết này, giới thiệu kỹ thuật lý thuyết học máy (machine learning) cho toán phân lớp nhị phân sử dụng SVM Đồng thời giới thiệu công cụ LibSVM R để giải toán phân loại thư rác Máy vec tơ hỗ trợ 2.1 SVM tuyến tính Giả sử có tập liệu = L (x ; y ):i {= i i r 1, 2, , n} { (1) } xi ∈ R yi ∈ −1; +1 Bài toán phân loại nhị phân sử dụng L, xây dựng hàm tách ThS Lê Thị Thanh Hà Bộ mơn Tốn, Khoa Tại chức ĐT: 0985 313 775 f : Rr → R chia điểm x tập kiểm tra T vào hai lớp Π + Π − phụ thuộc vào liệu C(x) +1 (nếu f ( x) ≥ ) -1 (nếu f ( x) < ) Mục đích để có hàm f mà gán tất điểm dương tập T (ví điểm có y=+1) vào Π + tất điểm âm T(y=-1) vào Π − Khi đó, ý tưởng đơn giản giả sử điểm S¬ 19 - 2015 23 KHOA HC & CôNG NGHê liu dng ( yi = +1 ) âm ( yi = −1 ) từ tập liệu L tách siêu phẳng { x : f ( x ) =β + xT β =0} , (9) (2) T β vec tơ hệ số với chuẩn Euclid β độ chệch ( b = − β β ngưỡng) Trong đó, α = (α1 , α , , α n ) ≥ n vectơ không âm hệ số Lagrange Điều kiện cần đủ KarushKuhn - Tucker β , β , α phải thỏa mãn: n ∂FP ( β , β , α ) = −∑ α i yi = 0,(11) ∂β i =1 Gọi d − , d + khoảng cách ngắn từ siêu phẳng tách tới điểm liệu âm dương gần Ta thấy rằng, khoảng cách siêu phẳng quan sát gần max siêu phẳng tách tối ưu Nếu liệu đầu vào từ hai lớp phân chia tuyến tính tồn n ∂FP ( β , β , α ) 0,(12) = β − ∑ α i yi xi = ∂β i =1 β β thỏa mãn: yi ( β + xiT β ) − ≥ 0,(13) β + x β ≥ , yi = +1 (3) T α i ≥ 0,(14) 0,(15) α i { yi ( β + xiT β ) − 1} = β + x β ≤ −1 , yi = −1 (4) T Các điểm L nằm H −1 H +1 gọi vec tơ hỗ trợ Gọi phẳng x−1 , x+1 điểm nằm siêu H −1 H +1 thì: β + x β = −1; β + x β = +1 T −1 Khoảng cách vng góc từ T +1 siêu phẳng β + xT β = là: | β + xT−1 β | | β + xT+1 β | 1 = d − == ; d+ = || β || || β || || β || || β || d= || β || Bất đẳng thức (3) (4) viết lại dạng yi ( β + xiT β ) ≥ +1; i =1, 2, , n với n ∑α y x n * FD (α = ) || β || −∑ α i { yi ( β 0* + xiT β * ) − 1} i =1 FD= (α ) n ∑αi − =i 1 n n α iα j yi y j ( xiT x j ),(16) ∑∑ 2=i =j Để tìm nhân tử Lagrange cực đại hàm đối ngẫu tức tìm α để cực đại hàm Với ràng buộc α > 0;α T y = 0,(18) y = ( y1 , , yn ) H = ( H ij ) ma trận vuông cấp n với H ij = yi y j ( xiT x j ) Nếu αˆ lời giải T tốn n βˆ = ∑ αˆ i yi xi Với điều kiện (19) i =1 Thu vec tơ hệ số tối ưu Nếu (8) Sử dụng phương pháp nhân tử Lagrange, xét hàm gốc: 24 n FD (α = ) 1Tn α − α T H α ,(17) (7) yi ( β + xiT β ) ≥ +1; i =1, 2, , n 0,= β * thu giá trị cực tiểu FP ( β , β , α ) (6) biên Bài tốn đặt là: Tìm β β để || β ||2 , Từ phương trình (11) (12) có y ∑α= Như thấy xi vec tơ hỗ trợ Cực tiểu i = 1, 2, , n i i i i i Thay vào (9) = i =i x−1 , x+1 tới Do đó, biên siêu phẳng tách n || β ||2 −∑ α i { yi ( β + xiT β ) − 1} , i =1 FP ( β , β , α = ) αˆ i > từ (15) ta gọi xi vec có yi ( β + xi β ) = tơ hỗ trợ Ta thấy ứng với quan sát mà khơng * vec tơ hỗ trợ TP CH KHOA HC KIƯN TRC - XY DẳNG T αˆ i = * Hình Trường hợp khơng tách tuyến tính Chúng ta thấy rằng, vec tơ hỗ trợ mang tất thông tin cần thiết để xác định siêu phẳng tối ưu Trong thực tế, với liệu ln có chồng chất xảy ra, tức liệu lớp xâm nhập vào vùng khơng gian nhóm ngược lại Để giải vấn đề này, sử dụng (lời giải soft margin) nhờ sử dụng biến bù không âm ξi cho quan sát Ràng buộc (8) trở thành buộc có ( xi , yi ) L , i = 1, 2, , n yi ( β + xT β ) + ξi ≥ +1; i =1, 2, , n Các điểm liệu mà tuân theo ràng ξi = Bài toán tối ưu 1-norm soft-margin tìm β , β ξ để cực tiểu Với ràng buộc ξi ≥ 0, yi ( β + xiT β ) ≥ − ξi , i = 1, 2, , n n || β ||2 +C ∑ ξi , i =1 (20) (21) đó, C>0 tham số quy chuẩn C có dạng số điều chỉnh mà điều khiển kích thước biến bù cân hai số hạng hàm cực tiểu Giải tốn tương tự trường hợp tách tuyến tính trước phương pháp nhân tử Lagrange, có dạng hàm gốc, FP = FP ( β , β , ξ , α ,η ) , đó: n n n || β ||2 +C ∑ ξi − ∑ α i { yi ( β + xiT β ) − (1 − ξi )} − ∑ηiξi =i =i =i T T = (α1 , , α n )= ≥ η (η1 , ,η n ) ≥ với α = FP (22) Hàm đối ngẫu n n FD= (α ) ∑ α i − ∑∑ α iα j yi y j ( xiT x j ) 2=i =j =i n (23) Sự khác biệt toán tối ưu trường hợp tách tuyến tính (17) (18) là, đây, hệ số Lagrange α i , i = 1, 2, , n bị chặn C Chặn giới hạn ảnh hưởng quan sát việc xác định lời giải Kiểu ràng buộc gọi ràng buộc hộp α bị ràng buộc hộp cạnh C góc phần tư dương Chúng ta thấy giới hạn khả thi cho toán tối ưu lồi giao siêu phẳng ≤ α ≤ C1n Nếu C = ∞ α T y = với hộp ràng buộc toán đưa tới trường hợp tách hard- margin 2.2 SVM phi tuyến Trong nhiều ứng dụng, phân lớp phi tuyến có độ xác cao Tuy nhiên, phân lớp tuyến tính có ưu thuật tốn đơn giản Chính thế, ý tưởng thay sử dụng liệu khơng gian ban đầu chuyển liệu sang khơng gian (khơng gian đặc trưng) mà liệu phân tách tuyến tính S¬ 19 - 2015 25 KHOA HC & CôNG NGHê bng cách sử dụng ánh xạ phi tuyến ta biến đổi quan sát, φ Giả sử chúng xi ∈ R r L cách sử dụng ánh xạ phi tuyến φ : R → H , H không gian NH chiều Giả sử H không gian Hilbert r ⋅, ⋅ hàm giá trị thực R với tích vơ hướng chuẩn || || Cho (x )) ∈ H ,i (φ ( x ), ,φ = T = φ ( xi ) i NH i 1, 2, , n (24) Do đó, khơng gian mẫu biến đổi yi ∈ {−1; +1} xác định hai {φ ( x ) , y } i i ( ) φ ( xi ) ,φ ( x j ) 2.3 Thủ thuật Kernel Thủ thuật Kernel ý tưởng tuyệt vời mà sử dụng rộng rãi thuật tốn để tính tích x, y ∈ R không gian đặc trưng H Thủ thuật thay tính tích H tốn tính tốn số chiều cao, tính tốn chúng cách sử dụng hàm kernel khơng tuyến tính ) ( ) K xi , x j = φ ( xi ) , φ x j , không gian đầu vào mà tăng tốc độ tính tốn Khi cần tính tốn SVM tuyến tính phép tốn thực khơng gian khác Một kernel K hàm K : R r × R r → R mà ∀x, y ∈ R r K ( x, y ) = φ ( xi ) , φ ( x j ) Nhận xét 2.1 • Hàm kernel thiết kế để tính tốn tích H cách sử dụng liệu đầu vào gốc Do đó, chỗ thấy tích ta thay hàm kernel φ ( xi ) ,φ ( x j ) chúng K ( x, y ) K ( x, y ) =( x, y + c ) ; x, y ∈ R r d đó, c d tham số (26) Khi c=0 có dạng kernel Nếu d=1 c=0, ánh xạ đặc trưng đồng Thông thường, lấy 26 || x ||2 = xT x Kernel K(x,y) Polynomial ( x, y + c ) d Gaussian radial basis function x − y exp − 2σ Laplacian x− y exp − σ Thin-plate spline x− y x− y log e − σ σ Sigmoid ( a x, y + b ) • Kernel đa thức khơng bậc d, Sự khó khăn sử dụng phép biến đổi tuyến tính cách việc tính tốn tích khơng gian H có số chiều cao ( Euclid lớp Nếu thay φ xi cho xi việc phát triển SVM tuyến tính liệu vào tốn tối ưu tích Bảng Các hàm kernel K(x,y), σ > tham số a,b,c ≥c, b số nguyên Chuẩn c > Một ánh xạ phi tuyến đơn giản cho trường hợp r = d = Nếu x = ( x1 , x2 ) T y = ( y1 , y2 ) T K ( x, y ) = ( x, y + c ) = đó, φ ( x ) = ( x12 , x22 , tương tự cho ( x1 y1 + x2 y2 + c ) = φ ( x ) ,φ ( y ) , x1 x2 , 2cx1 , x2 , c ) T φ ( y ) Trong ví dụ này, hàm φ ( x ) bao ( ) gồm sáu đặc trưng H = R , bao gồm tất đơn thức có bậc cao hai Với kernel này, thấy c điều khiển độ lớn số hạng số số hạng có bậc r + d Tổng quát, có dim( H ) = đặc trưng khác r nhau, bao gồm tất đơn thức có bậc lớn d Số chiều H nhanh chóng trở nên lớn Ví dụ tốn nhận diện trực quan, liệu bao gồm ảnh 16 x 16pixel (vì ảnh chuyển thành vec tơ có r=256) Nếu d=2 dimH=33.670 d=4 dimH=186.043.585 Kernel sigmoid khơng phải kernel Nó thỏa mãn điều kiện Mercer với giá trị chắn a b Nhưng trở nên phổ biến vai trò tình định (mạng neuron hai lớp) Kerel Gaussian RBF, Laplacian thin-plate spline ví dụ kernel biến đổi bất biến (hoặc đứng im) có dạng tổng quát K ( x,= y ) k ( x − y ) k : R r → R Kernel đa thức ví dụ kernel không bất biến Một kernel bất biến K ( x, y ) đẳng hướng phụ thuộc vào T„P CHŠ KHOA H“C KI¦N TR”C - XŸY D¼NG Hình khoảng cách δ= || x − y || nghĩa mở rộng để k (0) = Nhận xét 2.2 K ( x, y ) = k (δ ) Giả sử rằng, quan sát L tách tuyến tính không gian đặc trưng tương ứng với kernel K Khi đó, tốn tối ưu đối ngẫu tìm ( ) α β để Cực đại FD α Không phải việc lựa chọn kernel rõ ràng bất = 1Tn α − α T H α (27) kỳ ứng dụng Các thông tin trước nghiên T cứu thơng qua thuật ngữ hữu dụng Nếu khơng có với ràng buộc α ≥ 0, α y = , (28) thông tin khả dụng, cách tiếp cận tốt thử kernel Gaussian RBF mà có tham số đơn σ để y1 , , yn )T , H ( H ij ) Trong đó, y (= xác định kernel đa thức có bậc thấp (d=1 = 2) Nếu cần thiết, kernel phức tạp sử dụng để so sánh kết = H ij yi y= y= 1, 2, , n (29) j K ( xi , x j ) i y j K ij ; i , j Sơ 19 - 2015 27 KHOA HC & CôNG NGHê K = ( K ij ) xác định không âm ma trận H với Bởi K kernel, ma trận Gram phần tử xác định (29) Do đó, FD (α ) lồi Vì có lời giải cho toán tối ưu ràng buộc Trong trường hợp không tách được, sử dụng kernel K, toán đối ngẫu toán tối ưu norm –soft margin tìm α để α ) α − α T H α Cực đại F (= T với ràng buộc ≤ α ≤ C1n , α y = * D T n (30) (31) y H xác định phía 2.4 Ứng dụng SVM để phân loại email spam Chúng ta xét • Bộ sưu tập liệu bao gồm 4,601 tin nhắn, có 1,813 thư rác 2,788 thư • Mỗi tin nhắn nhận chuyển thành biểu diễn vec tơ gồm 57 tọa độ • Tin nhắn gán nhãn vào hai lớp thư hay thư rác Khi đó, tốn đặt sử dụng SVM để xếp 4,601 tin nhắn vào hai lớp (bài tốn phân loại nhị phân) từ tìm tỷ lệ phân loại sai để xem mức độ xác phương pháp Ở đây, 57 tọa độ ứng với 57 biến dùng để phân biệt thư thư rác Trong đó, có 48 biến có dạng “word_fred_WORD”, mà đưa tỷ lệ phần trăm từ tin nhắn phù hợp WORD; biến có dạng “word_fred_CHAR”, đưa phần trăm chữ tin nhắn mà phù hợp CHAR; biến độ dài, đo độ dài trung bình, độ dài lớn tổng độ dài chuỗi không bị gián đoạn chữ viết hoa liên tiếp Tùy theo mục đích sử dụng, người dùng sử dụng đặc trưng biến khác Sử dụng phương pháp kiểm chứng chéo, có đồ thị tỷ lệ phân loại sai ứng với giá trị γ liệt kê trên, đường cong biểu diễn giá trị khác C (Hình 2) Lời giải có 931 vec tơ hỗ trợ (482 thư sạch, 449 thư rác) điều có nghĩa tỷ lệ lớn (79.8%) tin nhắn (cụ thể 82.7% thư 75.2% thư rác) không điểm hỗ trợ Trong 4601 tin nhắn có 2697 thư 1676 thư rác phân loại (228 phân loại sai) thu tỷ lệ sai số hiển thị 4.96% So sánh với tiếp cận khác dùng để phân lớp lọc thư rác việc sử dụng SVM có nhiều tiện ích phù hợp với nhu cầu người dùng Ở đây, tiêu chuẩn phân loại học từ mẫu lọc riêng cá nhân, vận dụng cá nhân hay đợ vị tạo cách lọc riêng Đồng thời mềm dẻo giúp dễ dàng cho việc điều chỉnh tương thích với xuất loại thư rác Trong cơng cụ khác phải tốn nhiều cơng sức phát triển luật việc sử dụng SVM cần học lại tập mẫu mở rộng (chứa mẫu thư rác cũ mới), tự động phát triển tiêu chuẩn lọc thích hợp với tình Kết luận Với khả vượt trội SVM tính tốn hiệu quả, độ xác cao, khả xử lý liệu cách linh hoạt, máy vec tơ hỗ trợ phương pháp phân lớp hiệu Trong viết này, trình bày kỹ thuật SVM cho tốn phân loại nói chung xuất phát SVM tuyến tính dùng ý tưởng để phát triển lên tốn phi tuyến Đồng thời, sử dụng SVM ứng dụng cho toán phân loại thư rác với sai số 5% Kết thu cho thấy tính ưu việt phương pháp đồng thời chứng tỏ khả áp dụng to lớn tốn thực tiễn./ • Áp dụng SVM phi tuyến (R package libsvm) cho 4,601 tin nhắn (trong đó, có 2,788 thư 1,813 thư rác) • Chọn kernel Gauss RBF Như vậy, thấy • SVM phụ thuộc vào chi phí C vi phạm ràng buộc phương sai σ kernel Gauss RBF • Chúng ta sử dụng lưới giá trị cho C C=10,80,100,200,500,10000 γ= σ2 γ =0.00001(0.00001)0.0001(0.0001)0.002(0.001) 0.01(0.01)0.04 28 T„P CHŠ KHOA H“C KI¦N TR”C - XŸY D¼NG Phản biện: PGS.TS Ninh Quang Hải T¿i lièu tham khÀo Nguyễn Văn Hữu( chủ biên), Đào Hữu Hồ, Hồng Hữu Như, Thống kê tốn học, NXB Đại học Quốc gia Hà Nội, 2004 Alan Julian Izenman, Modern Multivariate Statistical Techniques, Springer, 2008 R.Gunn, “ support vectr machines for classification and regression”, Tech- nical Report, University of Southampton Press, 1998 Scholkopf, B., Burges, C., Smola, A.(Eds), 1999 Advances in Kernal Meth – ods support Vector, MIT press; Cambridge ... xi β ) = tơ hỗ trợ Ta thấy ứng với quan sát mà khơng * vec tơ hỗ trợ TP CH KHOA HC KIƯN TRC - XY DẳNG T αˆ i = * Hình Trường hợp khơng tách tuyến tính Chúng ta thấy rằng, vec tơ hỗ trợ mang tất... tuyến Đồng thời, sử dụng SVM ứng dụng cho toán phân loại thư rác với sai số 5% Kết thu cho thấy tính ưu việt phương pháp đồng thời chứng tỏ khả áp dụng to lớn tốn thực tiễn./ • Áp dụng SVM phi tuyến... viết hoa liên tiếp Tùy theo mục đích sử dụng, người dùng sử dụng đặc trưng biến khác Sử dụng phương pháp kiểm chứng chéo, có đồ thị tỷ lệ phân loại sai ứng với giá trị γ liệt kê trên, đường cong