Bài viết này nhằm trình bày cơ sở toán học của PSVM, GEPSVM và TWSVM, bên cạnh đó đã cài đặt thuật toán TWSVM bằng ngôn ngữ lập trình Python để đánh giá hiệu quả của TWSVM so với SVM tiêu chuẩn.
TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ, Trường Đại học Khoa học, ĐH Huế Tập 17, Số (2020) MÁY VÉC-TƠ TỰA SONG SINH VÀ ÁP DỤNG Nguyễn Thế Cường Khoa Tốn, Trường Đại Học Thơng tin Liên lạc, Nha Trang, Khánh Hòa Email: nckcbnckcb@gmail.com Ngày nhận bài: 25/5/2020; ngày hồn thành phản biện: 30/10/2020; ngày duyệt đăng: 02/11/2020 TĨM TẮT Máy véc-tơ tựa (SVM) kĩ thuật phân lớp phổ biến vận dụng vào nhiều lĩnh vực khác đời sống Nhận thấy vấn đề thiết thực nên lựa chọn để nghiên cứu, nhằm mục tiêu tìm thêm ứng dụng thực tiễn thuật tốn cải tiến tốt Một vài cải tiến tiêu biểu như: máy véc-tơ tựa xấp xỉ (PSVM), máy véc-tơ tựa xấp xỉ thông qua trị riêng suy rộng (GEPSVM), máy véc-tơ tựa song sinh (TWSVM) SVM TWSVM giải dựa vào toán đối ngẫu Lagrange TWSVM dùng hai siêu phẳng để tách hai lớp liệu Bài báo nhằm trình bày sở toán học PSVM, GEPSVM TWSVM, bên cạnh chúng tơi cài đặt thuật tốn TWSVM ngơn ngữ lập trình Python để đánh giá hiệu TWSVM so với SVM tiêu chuẩn Từ khóa: Máy véc-tơ tựa, Máy véc-tơ tựa song sinh GIỚI THIỆU Trong báo đề cập đến nguồn gốc toán học cải tiến Support Vector Machine (SVM) [1, 2, 3, 9] Proximal Support Vector Machine (PSVM) [6], Multisurface proximal support vector classification via generalized eigenvalues (GEPSVM) [4] Twin Support Vector Machine (TWSVM) [5], đặc biệt trọng đến TWSVM Như biết, SVM tiêu chuẩn [3] trọng đến việc tối đa lề hai lớp liệu tối thiểu lỗi phân loại, cách giải bải toán tối ưu dạng: 𝑓(𝑥) → { 𝑥 ∈ 𝑀 Nghiệm tìm siêu phẳng tách hai lớp liệu với lề lớn TWSVM [5] tìm hai siêu phẳng không thiết song song, cụ thể ta giải hai tốn quy hoạch tồn phương (Quadratic Programming (QP)), cịn SVM ta giải toán QP Điều thú vị chỗ, giải hai toán QP tốc độ TWSVM Máy véc-tơ tựa song sinh áp dụng lại nhanh SVM tiêu chuẩn Để hiểu tường minh hiệu TWSVM so với SVM tiêu chuẩn độc giả nên tham khảo cài đặt thuật tốn chúng tơi đưa lên https://github.com/makeho8/python/blob/master ĐÁNH GIÁ CÁC NGHIÊN CỨU LIÊN QUAN Có thể kể đến nghiên cứu cơng bố trước TWSVM [5] như: máy véctơ tựa xấp xỉ (PSVM) [6], máy véc-tơ tựa xấp xỉ thông qua trị riêng suy rộng (GEPSVM) [4] PSVM [6] tiếp cận tương tự SVM tiêu thuẩn [3] cách tìm siêu phẳng tách với lề lớn nhất, PSVM trọng tới việc tìm hai siêu phẳng song song tương ứng với hai lớp liệu cho điểm lớp liệu tụ tập quanh nó, hai siêu phẳng tạo lề lớn Ưu điểm PSVM giải toán QP lồi chặt với ràng buộc đẳng thức, điều tăng tính ổn định thuật tốn Tuy nhiên việc tìm hai siêu phẳng song song dẫn tới khả mô liệu PSVM TWSVM Tiếp cận tốn phân loại hai lớp liệu góc nhìn khác, Mangasarian Wild tìm hai siêu phẳng không thiết song song mà lớp liệu gần với hai siêu phẳng xa lớp cịn lại (GEPSVM [4]) Hai siêu phẳng ứng với vector riêng trị riêng nhỏ hai tốn tìm trị riêng suy rộng Vì GEPSVM giải hai tốn tối ưu khơng có ràng buộc nên độ xác khả mô liệu TWSVM TWSVM [5] có cách tiếp cận tương tự GEPSVM [4], với mục đích tìm hai siêu phẳng khơng thiết song song Tuy nhiên cơng thức tốn học TWSVM hoàn toàn khác với GEPSVM TWSVM hiệu thời gian tính tốn, bên cạnh việc phân loại liệu, TWSVM cịn có khả mơ liệu tốt PSVM GEPSVM, SVM thực nhiệm vụ phân loại MÁY VÉC-TƠ TỰA XẤP XỈ Giả sử tập mẫu cần phân loại gồm 𝑚 điểm kí hiệu 𝑚 vector hàng 𝐴𝑖 , 𝑖 = 1, , 𝑚 không gian ℝ𝑛 Ở 𝐴𝑖 = (𝐴𝑖1 , , 𝐴𝑖𝑛 )𝑇 , đặt 𝑦𝑖 ∈ {1, −1} lớp điểm liệu thứ 𝑖 Trường hợp hai lớp tách tuyến tính, SVM tiêu chuẩn tìm véc-tơ cột 𝑤 ∈ ℝ 𝑏 ∈ ℝ cho 𝑛 𝐴 𝑤 + 𝑏 ≥ 1; 𝑦𝑖 = 1, { 𝑖 𝐴𝑖 𝑤 + 𝑏 ≤ −1; 𝑦𝑖 = −1 TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, Trường Đại học Khoa học, ĐH Huế Tập 17, Số (2020) Siêu phẳng tách 𝑥 𝑇 𝑤 + 𝑏 = nằm hai siêu phẳng tựa 𝑥 𝑇 𝑤 + 𝑏 = 𝑥 𝑇 𝑤 + 𝑏 = −1 Hai lớp liệu tách với lề phía ‖𝑤‖ Những điểm liệu nằm siêu phẳng tựa gọi véc-tơ tựa Vì muốn có lề cực đại ta đưa đến toán tối ưu sau: 𝑤 𝑇 𝑤 𝑤,𝑏 { 𝐴𝑖 𝑤 + 𝑏 ≥ 1; 𝑦𝑖 = 1, 𝐴𝑖 𝑤 + 𝑏 ≤ −1; 𝑦𝑖 = −1 Trường hớp hai lớp gần tách tuyến tính Lúc có điểm vi phạm bất đẳng thức ràng buộc Ta cần giảm nhẹ ràng buộc cách thêm vào biến phụ 𝑞 ∈ ℝ𝑚 𝐴𝑖 𝑤 + 𝑏 + 𝑞𝑖 ≥ 1; 𝑦𝑖 = 1, {𝐴𝑖 𝑤 + 𝑏 − 𝑞𝑖 ≤ −1; 𝑦𝑖 = −1, 𝑞𝑖 ≥ 0; 𝑖 = 1, , 𝑚 Ta coi 𝑞𝑖 biến lỗi tương ứng với điểm liệu thứ 𝑖 Nếu tốn tách tuyến tính 𝑞𝑖 = với 𝑖, tức khơng có điểm vi phạm ràng buộc Gọi 𝐷 ∈ ℝ𝑚×𝑚 ma trận đường chéo nhận giá trị -1 tương ứng với lớp điểm liệu 𝐴𝑖 , 𝑖 = 1, , 𝑚 Cuối ta có tốn SVM lề mềm sau: 𝑚𝑖𝑛 𝑐𝑒 𝑇 𝑞 + 𝑤 𝑇 𝑤 𝑤,𝑏,𝑞 { 𝐷(𝐴𝑤 + 𝑒𝑏) + 𝑞 ≥ 𝑒; 𝑞≥0 (1) 𝑐 hệ số phạt điểm vi phạm ứng với 𝑞𝑖 > 0, chọn 𝑐 hợp lý để cân việc tối thiểu lỗi tối đa lề, 𝑒 ∈ ℝ𝑚 véc-tơ với tất thành phần Ý tưởng PSVM [6] xuất phát từ việc đưa toán (1) dạng: 1 𝑚𝑖𝑛 𝑐 ‖𝑞‖2 + (𝑤 𝑇 𝑤 + 𝑏) {𝑤,𝑏,𝑞 2 𝐷(𝐴𝑤 + 𝑒𝑏) + 𝑞 ≥ 𝑒; (2) ‖𝑤‖2 Như vậy, hàm mục tiêu (2), 𝑐 ‖𝑞‖2 thay cho 𝑐𝑒 𝑇 𝑞 việc tối đa lề thay 𝑤 ‖ ‖ 𝑏 Chú ý ràng buộc 𝑞 ≥ lược bỏ Điều tồn 𝑞𝑖 < ta thay 𝑞𝑖 = mà khơng vi phạm ràng buộc có giá trị hàm mục tiêu bé Hơn nữa, PSVM [6] thay ràng buộc bất đẳng thức (2) thành ràng buộc đẳng thức: 1 𝑚𝑖𝑛 𝑐 ‖𝑞‖2 + (𝑤 𝑇 𝑤 + 𝑏) {𝑤,𝑏,𝑞 2 𝐷(𝐴𝑤 + 𝑒𝑏) + 𝑞 = 𝑒; (3) Máy véc-tơ tựa song sinh áp dụng Trong (2) điểm vi phạm ràng buộc tương ứng với 𝑞𝑖 > 0, điểm nằm hai siêu phẳng tựa không vi phạm tương ứng với 𝑞𝑖 = Như hai siêu phẳng tựa gần giới hạn hai lớp liệu hai phía Hình 1: SVM tiêu chuẩn Từ ràng buộc đẳng thức (3) ta thấy rằng, điểm vi phạm ràng buộc tương ứng với 𝑞𝑖 > 0, điểm nằm hai lề tương ứng với 𝑞𝑖 = cịn điểm khơng vi phạm tương ứng với 𝑞𝑖 < Như để tối thiểu hàm mục tiêu hai lề nằm xuyên vào hai lớp liệu tương ứng Hai lề coi siêu phẳng xấp xỉ mà điểm liệu lớp tương ứng tụ tập xung quanh chúng Mặt khác, siêu phẳng xấp xỉ đẩy xa số hạng (𝑤 𝑇 𝑤 + 𝑏 ) hàm mục tiêu Siêu phẳng tách 𝑥 𝑇 𝑤 + 𝑏 = nằm hai siêu phẳng xấp xỉ song song Hình 2: PSVM Bài tốn (3) tốn quy hoạch toàn phương lồi chặt với hàm Lagrange: 1 𝑤 𝐿(𝑤, 𝑏, 𝑞, 𝜆) = 𝑐 ‖𝑞‖2 + ‖ ‖ − 𝜆𝑇 (𝐷(𝐴𝑤 + 𝑒𝑏) + 𝑞 − 𝑒), 2 𝑏 (4) TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, Trường Đại học Khoa học, ĐH Huế Tập 17, Số (2020) với 𝜆 ∈ ℝ𝑚 nhân tử Lagrange Bằng cách giải hệ điều kiện K.K.T [7] ta thu 𝐼 𝑐 −1 nghiệm 𝜆 = ( + 𝐻𝐻 𝑇 ) 𝑒, với 𝐻 = 𝐷[𝐴 𝑒] Vì ma trận lấy nghịch đảo có số chiều 𝑚 × 𝑚, thời gian tính tốn lâu tốn có nhiều điểm liệu Thơng thường số chiều liệu 𝑛 nhỏ nhiều so với số điểm liệu 𝑚 Bằng cách sử dụng cơng thức Sherman-Morrison-Woodbury [8, tr50] đưa tính ma trận nghịch đảo có số chiều (𝑛 + 1) × (𝑛 + 1) ta có: −1 𝐼 𝜆 = 𝑐 (𝐼 − 𝐻 ( + 𝐻𝐻 𝑇 ) 𝐻 𝑇 ) 𝑒 𝑐 (5) Chú ý rằng, SVM véc-tơ tựa tương ứng với thành phần khác khơng nhân tử Lagrange, cịn PSVM, nhân tử Lagrange 𝜆 = 𝑐𝑞, véc-tơ lỗi 𝑞 có thành phần hầu hết khác không Thực tế cần nhiều 𝑛 + điểm liệu độc lập tuyến tính để xác định (𝑤, 𝑏) ∈ ℝ𝑛+1 Ta gọi điểm 𝐴𝑖 tương ứng với |𝑞𝑖 | < 𝜀 𝜀-vector tựa Có thể chọn 𝜀 đủ nhỏ để khoảng 1% số điểm liệu 𝜀-vector tựa MÁY VÉC-TƠ TỰA XẤP XỈ THÔNG QUA CÁC TRỊ RIÊNG SUY RỘNG Quay lại với toán phân loại nhị phân với tập liệu gồm 𝑚 điểm không gian thực ℝ𝑛 Giả sử lớp gồm 𝑚1 điểm biểu diễn ma trận 𝐴 ∈ ℝ𝑚1 ×𝑛 , lớp gồm 𝑚2 điểm biểu diễn ma trận 𝐵 ∈ ℝ𝑚2 ×𝑛 , với 𝑚1 + 𝑚2 = 𝑚 PSVM tìm hai siêu phẳng song song với lề lớn GEPSVM [4] có cách tiếp cận khác tìm hai siêu phẳng khơng thiết song song, siêu phẳng gần với lớp xa với lớp cịn lại 𝑥 𝑇 𝑤 (1) + 𝑏 (1) = 0; 𝑥 𝑇 𝑤 (2) + 𝑏 (2) = (6) Ở siêu phẳng (6) gần với điểm lớp xa với điểm thuộc lớp 2, điều tương tự xảy với siêu phẳng Việc tìm siêu phẳng tương đương với toán tối ưu sau: 𝑤 ‖𝐴𝑤 + 𝑒1 𝑏‖2 / ‖[ ]‖ 𝑏 2, (𝑤,𝑏)≠0 𝑤 ‖𝐵𝑤 + 𝑒2 𝑏‖ / ‖[ ]‖ 𝑏 (7) với 𝑒1 ∈ ℝ𝑚1 , 𝑒2 ∈ ℝ𝑚2 véc-tơ gồm tất tọa độ 1, ‖⋅‖ chuẩn 𝐿2 Ta thấy tử số tổng bình phương khoảng cách tất điểm thuộc lớp tới siêu phẳng 1, mẫu số tổng bình phương khoảng cách tất điểm thuộc lớp tới siêu phẳng Đơn giản hóa (7) cho ta: ‖𝐴𝑤 + 𝑒1 𝑏‖2 , (𝑤,𝑏)≠0 ‖𝐵𝑤 + 𝑒2 𝑏‖2 (8) Máy véc-tơ tựa song sinh áp dụng Để quy hóa (8), ta thêm số hạng quy Tikhonov [9] vào tử số, tốn trở thành: 𝑤 ‖𝐴𝑤 + 𝑒1 𝑏‖2 + 𝛿 ‖[ ]‖ 𝑏 , 𝛿 > (9) (𝑤,𝑏)≠0 ‖𝐵𝑤 + 𝑒2 𝑏‖2 Đặt 𝐺 { 𝐻 ≔ [𝐴 𝑒1 ]𝑇 [𝐴 𝑒1 ] + 𝛿𝐼, 𝑤 ≔ [𝐵 𝑒2 ]𝑇 [𝐵 𝑒2 ], 𝑧 ≔ [ ] , 𝑏 toán tối ưu (9) trở thành: 𝑟(𝑧) = 𝑧≠0 𝑧 𝑇 𝐺𝑧 , 𝑧 𝑇 𝐻𝑧 (10) G, H ma trận đối xứng 𝑅 (𝑛+1)×(𝑛+1) Ta có ∇𝑟(𝑧) = (𝐺𝑧 − 𝑟(𝑧)𝐻𝑧) , 𝑧 𝑇 𝐻𝑧 (11) hàm 𝑟(𝑧) gọi thương Rayleigh [1, tr357] Hàm có tính chất 𝑟(𝜆𝑧) = 𝑟(𝑧), ∀𝑧, ∀𝜆 ≠ (10) tương đương 𝑟(𝑧) Vì 𝑟(𝑧) liên tục tập compact 𝑧∈𝑆(0, 1) 𝑆(0, 1) nên đạt cực tiểu cực đại Giả sử 𝑟(𝑧) đạt cực tiểu cực đại tương ứng 𝑧min , 𝑧max Lúc 𝛻𝑟(𝑧min ) = 𝛻𝑟(𝑧max ) = ⇒ 𝐺𝑧min − 𝑟(𝑧min )𝐻𝑧min = 𝐺𝑧max − 𝑟(𝑧max )𝐻𝑧max = Như vậy, 𝑟(𝑧min ), 𝑟(𝑧max ) ∈ [𝜆1 , 𝜆𝑛+1 ] ⇒ 𝑟(𝑧) ∈ [𝜆1 , 𝜆𝑛+1 ] 𝑧 ∈ 𝑆(0, 1), 𝜆1 , 𝜆𝑛+1 tương ứng trị riêng nhỏ lớn toán trị riêng suy rộng: 𝐺𝑧 = 𝜆𝐻𝑧, 𝑧 ≠ (12) Giả sử cột ma trận [𝐵 𝑒2 ] độc lập tuyến tính, nghiệm toàn cục (10) véc-tơ riêng (12) tương ứng với trị riêng nhỏ 𝜆1 Ký hiệu véc-tơ 𝑇 riêng 𝑧 (1) [𝑤 (1)𝑇 𝑏 (1) ] = 𝑧 (1) xác định siêu phẳng (6) Bằng cách làm tương tự ta có siêu phẳng MÁY VÉC-TƠ TỰA SONG SINH 5.1 Trường hợp hai lớp liệu gần tách tuyến tính Với tốn mục Ý tưởng TWSVM cho toán phân loại nhị phân tìm hai siêu phẳng khơng song song GEPSVM, mặt cơng thức hồn tồn khác TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ, Trường Đại học Khoa học, ĐH Huế Tập 17, Số (2020) Hình 3: SVM TWSVM Thực tế, toán QP TWSVM tương tự SVM, nhiên tất điểm liệu xuất ràng buộc lúc Ta thu hai siêu phẳng TWSVM cách giải hai toán QP sau: (𝑇𝑊𝑆𝑉𝑀1) { (𝑇𝑊𝑆𝑉𝑀2) { 𝑤 (1) ,𝑏(1) ,𝑞 𝑇 (𝐴𝑤 (1) + 𝑒1 𝑏(1) ) (𝐴𝑤 (1) + 𝑒1 𝑏 (1) ) + 𝑐1 𝑒2 𝑇 𝑞 −(𝐵𝑤 (1) + 𝑒2 𝑏 (1) ) + 𝑞 ≥ 𝑒2 , 𝑞 ≥ 0, (13) 𝑇 (𝐵𝑤 (2) + 𝑒2 𝑏(2) ) (𝐵𝑤 (2) + 𝑒2 𝑏 (2) ) + 𝑐2 𝑒1 𝑇 𝑞 −(𝐴𝑤 (2) + 𝑒1 𝑏 (2) ) + 𝑞 ≥ 𝑒1 , 𝑞 ≥ (14) 𝑤 (2) ,𝑏(2) ,𝑞 Ở 𝑐1 , 𝑐2 hệ số phạt để cân vi phạm tổng khoảng cách bình phương tốn, 𝑒1 ∈ 𝑅 𝑚1 , 𝑒2 ∈ 𝑅 𝑚2 vector tồn Thuật tốn tìm hai siêu phẳng đại diện cho hai lớp Trước hết ta xét toán (13) Ta thấy rằng, biểu thức thứ hàm mục tiêu (13) tổng khoảng cách bình phương điểm thuộc lớp tới siêu phẳng Ràng buộc điểm thuộc lớp -1 giữ khoảnh cách siêu phẳng Biến phụ 𝑞 > điểm vi phạm ràng buộc điểm khơng vi phạm Hàm Lagrange tương ứng với tốn TWSVM1 (13) cho bởi: 𝑇 𝐿(𝑤 (1) , 𝑏 (1) , 𝑞, 𝛼, 𝛽) = (𝐴𝑤 (1) + 𝑒1 𝑏 (1) ) (𝐴𝑤 (1) + 𝑒1 𝑏(1) ) + 𝑐1 𝑒2 𝑇 𝑞 −𝛼 𝑇 (−(𝐵𝑤 (1) + 𝑒2 𝑏(1) ) + 𝑞 − 𝑒2 ) − 𝛽 𝑇 𝑞, 𝑇 𝑇 (15) với 𝛼 = (𝛼1 , , 𝛼𝑚2 ) , 𝛽 = (𝛽1 , , 𝛽𝑚2 ) vector nhân tử Lagrange Giải hệ điều kiện cần đủ K.K.T tốn ta có: ≤ 𝛼 ≤ 𝑐1 𝑒2 (16) [ 𝐴𝑇 𝐵𝑇 𝑤 (1) 𝑇 ] [𝐴 𝑒1 ] [ (1) ] + [ 𝑇 ] 𝛼 = 𝑒1 𝑒2 𝑏 Đặt (17) Máy véc-tơ tựa song sinh áp dụng (1) 𝐻 = [𝐴 𝑒1 ], 𝐺 = [𝐵 𝑒2 ], 𝑢 = [𝑤(1) ], 𝑏 (18) (17) viết lại thành 𝐻 𝑇 𝐻𝑢 + 𝐺 𝑇 𝛼 = 0, tức 𝑢 = −(𝐻 𝑇 𝐻)−1 𝐺 𝑇 𝛼 (19) Để đảm bảo tồn ma trận nghịch đảo (𝐻 𝑇 𝐻)−1 ta thêm số hạng quy 𝜖𝐼, 𝜖 > [2], với 𝐼 ma trận đơn vị có số chiều thích hợp, (19) trở thành 𝑢 = −(𝐻 𝑇 𝐻 + 𝜖𝐼)−1 𝐺 𝑇 𝛼 (20) Tuy nhiên, phần sau ta sử dụng (19) để thuận tiện cho trình tìm hiểu tốn, cịn lập trình thuật tốn ta sử dụng công thức (20) Thay vào hàm Lagrange ta thu toán đối ngẫu TWSVM1 sau: (𝐷𝑇𝑊𝑆𝑉𝑀1) max { 𝛼 𝑒2𝑇 𝛼 − 𝛼 𝑇 𝐺(𝐻 𝑇 𝐻)−1 𝐺 𝑇 𝛼 ≤ 𝛼 ≤ 𝑐1 𝑒2 (21) Bằng cách tương tự, ta xét toán TWSVM2 thu toán đối ngẫu sau: (𝐷𝑇𝑊𝑆𝑉𝑀2) max { 𝛾 𝑒1𝑇 𝛾 − 𝛾 𝑇 𝐻(𝐺 𝑇 𝐺)−1 𝐻 𝑇 𝛾 ≤ 𝛾 ≤ 𝑐2 𝑒1 (22) (2) vector 𝑣 = [𝑤(2) ] cho 𝑏 𝑣 = (𝐺 𝑇 𝐺)−1 𝐻𝑇 𝛾 (23) Hai ma trận 𝐻 𝑇 𝐻 𝐺 𝑇 𝐺 có cỡ (𝑛 + 1) × (𝑛 + 1), thực tế số chiều 𝑛 nhỏ nhiều so với số phần tử hai lớp liệu Hai siêu phẳng tách đạt là: 𝑥 𝑇 𝑤 (1) + 𝑏 (1) = 0, 𝑥 𝑇 𝑤 (2) + 𝑏 (2) = (24) Với điểm liệu 𝑥 ∈ ℝ𝑛 ta tính khoảng cách vng góc từ 𝑥 tới hai siêu phẳng, 𝑥 gần siêu phẳng lớp thuộc lớp Từ hệ điều kiện K.K.T ta thấy rằng, điểm thuộc lớp -1 tương ứng với < 𝛼𝑖 < 𝑐1 , (𝑖 = 1, , 𝑚2 ) nằm siêu phẳng 𝑥 𝑇 𝑤 (1) + 𝑏 (1) = −1, vector thuộc lớp -1 vector tựa lớp Điều tương tự xảy với toán TWSVM2 Đánh giá độ phức tạp: Quan sát hai toán đối ngẫu (21) (22) thấy 𝑚 ma trận vuông 𝐺(𝐻 𝑇 𝐻)−1 𝐺 𝑇 𝐻(𝐺 𝑇 𝐺)−1 𝐻 𝑇 có cỡ xấp xỉ Trong tốn đối ngẫu SVM [3], ma trận vng có cỡ 𝑚 Như ta coi độ phức tạp SVM 𝑚3 TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, Trường Đại học Khoa học, ĐH Huế Tập 17, Số (2020) 𝑚 độ phức tạp TWSVM xấp xỉ 2( )3 , qua thấy tốc độ tính tốn TWSVM nhanh SVM xấp xỉ lần 5.2 TRƯỜNG HỢP PHI TUYẾN Khi hai lớp liệu không tách tuyến tính, tương tự SVM tiêu chuẩn, ta sử dụng kỹ thuật kernel Hai mặt phân loại có dạng: 𝐾(𝑥 𝑇 , 𝐶 𝑇 )𝑤 (1) + 𝑏 (1) = 0, 𝐾(𝑥 𝑇 , 𝐶 𝑇 )𝑤 (2) + 𝑏 (2) = 0, (25) 𝐴 với 𝐶 = [ ] 𝐾 kernel Bài tốn tối ưu có dạng sau: 𝐵 ‖𝐾(𝐴, 𝐶 𝑇 )𝑤 (1) + 𝑒1 𝑏(1) ‖ + 𝑐1 𝑒2𝑇 𝑞 (1) (1) (𝐾𝑇𝑊𝑆𝑉𝑀1) {𝑤 ,𝑏 ,𝑞 −(𝐾(𝐵, 𝐶 𝑇 )𝑤 (1) + 𝑒2 𝑏(1) ) + 𝑞 ≥ 𝑒2 , 𝑞 ≥ (26) Hàm Lagrange toán: 𝐿(𝑤 (1) , 𝑏 (1) , 𝑞, 𝛼, 𝛽) = ‖𝐾(𝐴, 𝐶 𝑇 )𝑤 (1) + 𝑒1 𝑏(1) ‖ + 𝑐1 𝑒2 𝑇 𝑞 −𝛼 𝑇 (−(𝐾(𝐵, 𝐶 𝑇 )𝑤 (1) + 𝑒2 𝑏 (1) ) + 𝑞 − 𝑒2 ) − 𝛽 𝑇 𝑞, (27) Dựa vào hệ điều kiện K.K.T tốn ta có: [ (1) 𝐾(𝐴, 𝐶 𝑇 )𝑇 𝐾(𝐵, 𝐶 𝑇 )𝑇 𝑇 ) 𝑒 ] 𝑤 [𝐾(𝐴, 𝐶 + ] [ ] [ ] 𝛼 = 𝑒1𝑇 𝑒2𝑇 𝑏 (1) (28) (1) Đặt 𝑆 = [𝐾(𝐴, 𝐶 𝑇 ) 𝑒1 ], 𝑅 = [𝐾(𝐵, 𝐶 𝑇 ) 𝑒2 ], 𝑧 (1) = [𝑤(1) ], 𝑏 biểu thức (28) viết lại thành 𝑆 𝑇 𝑆𝑧 (1) + 𝑅 𝑇 𝛼 = 0, hay 𝑧 (1) = −(𝑆 𝑇 𝑆)−1 𝑅𝑇 𝛼 (29) Bài toán đối ngẫu KTWSVM1 là: (𝐾𝐷𝑇𝑊𝑆𝑉𝑀1) max { 𝛼 𝑒2𝑇 𝛼 − 𝛼 𝑇 𝑅(𝑆 𝑇 𝑆)−1 𝑅𝑇 𝛼 ≤ 𝛼 ≤ 𝑐1 𝑒2 (30) Tương tự ta có tốn tối ưu KTWSVM2 KDTWSVM2 cho mặt 𝐾(𝑥 , 𝐶 𝑇 )𝑤 (2) + 𝑏 (2) = sau: 𝑇 (𝐾𝑇𝑊𝑆𝑉𝑀2) { 𝑤 (2) ,𝑏(2) ,𝑞 ‖𝐾(𝐵, 𝐶 𝑇 )𝑤 (2) + 𝑒2 𝑏(2) ‖ + 𝑐2 𝑒1𝑇 𝑞 (𝐾(𝐴, 𝐶 𝑇 )𝑤 (2) + 𝑒1 𝑏(2) ) + 𝑞 ≥ 𝑒1 , 𝑞 ≥ (𝐾𝐷𝑇𝑊𝑆𝑉𝑀2) { max 𝛾 𝑒1𝑇 𝛾 − 𝛾 𝑇 𝑆(𝑅 𝑇 𝑅)−1 𝑆 𝑇 𝛾 ≤ 𝛾 ≤ 𝑐2 𝑒1 (32) (31) Máy véc-tơ tựa song sinh áp dụng (2) Nghiệm 𝑧 (2) = [𝑤(2) ] = (𝑅 𝑇 𝑅)−1 𝑆 𝑇 𝛾 Bằng cách sử dụng công thức Sherman𝑏 Morrison-Woodbury [8] cho ma trận nghịch đảo, ta khơng phải tính nghịch đảo ma trận 𝑚 + chiều mà phải tính nghịch đảo ma trận 𝑚1 chiều 𝑚2 chiều CÀI ĐẶT THUẬT TOÁN MÁY VÉC-TƠ TỰA SONG SINH VÀ ÁP DỤNG Thuật toán TWSVM: Cho 𝒎 điểm liệu 𝑹𝒏 biểu diễn ma trận 𝑪𝒎×𝒏 Giả sử tập liệu gồm hai lớp, lớp {+} gồm 𝒎𝟏 điểm lớp {-} gồm 𝒎𝟐 điểm tương ứng biểu diễn ma trận 𝑨𝒎𝟏×𝒏 𝑩𝒎𝟐×𝒏 Với K kernel đó; (1) 𝑆 = [𝐾(𝐴, 𝐶 𝑇 ) 𝑒1 ], 𝑅 = [𝐾(𝐵, 𝐶 𝑇 ) 𝑒2 ], 𝑧 (1) = [𝑤(1) ], 𝑏 𝑅 𝑚1 ×1 , 𝑒2 ∈ 𝑅 𝑚2 ×1 vector tồn i) Đặt ii) Xác định 𝛼 thông qua (30) iii) Xác định 𝑧 (1) thông qua (29) iv) Phân loại điểm x dựa vào (24) với 𝑒1 ∈ Ngôn ngữ lập trình sử dụng Python 3.8.3 Trong thư viện Python cài đặt thuật tốn SVM có nhiều cải tiến tốt hơn, tiêu biểu thuật toán TWSVM Tơi cài đặt thuật tốn TWSVM đưa phần code lên web, bạn đọc quan tâm tìm thấy https://github.com/makeho8/python/blob/master Về ta cần sử dụng vài thư viện Python: import numpy as np from cvxopt import matrix, solvers from sklearn.base import BaseEstimator K = matrix(GB.dot(np.linalg.inv(HA.T.dot(HA) + 0.0001*I)).dot(GB.T)) q = matrix((-e_B)) G = matrix(np.vstack((-np.eye(m_B), np.eye(m_B)))) h = matrix(np.vstack((np.zeros((m_B,1)), self.c*np.ones((m_B,1))))) solvers.options['show_progress'] = False sol = solvers.qp(K, q, G, h) alpha = np.array(sol['x']) self.u = -np.linalg.inv(((HA.T).dot(HA) + 0.0001*I)).dot(GB.T).dot(alpha) 10 TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ, Trường Đại học Khoa học, ĐH Huế Tập 17, Số (2020) self.b_A = self.u[-1] Dưới đưa kết áp dụng thực tế để so sánh TWSVM SVM tiêu chuẩn Bạn đọc thấy TWSVM tốt SVM tốc độ tính tốn khả mơ liệu hầu hết trường hợp Dữ liệu lấy từ liệu sẵn có UCI [10] Các hệ số phạt cài đặt Sử dụng đánh giá chéo 10 lần (10-fold cross validation) để đánh giá độ xác kiểm thử cho tất tập liệu Tập liệu chia theo tỉ lệ 80/20, Laptop sử dụng MSI Bravo15 Bảng 1: Độ xác (%) Dữ liệu TWSVM SVM CMC (1473x9) 68.253 +/- 3.065 66.977 +/- 3.921 Heart (920x13) 79.902 +/- 5.098 80.170 +/- 4.629 Image (2100x18) 84.345 +/- 2.306 76.905 +/- 2.564 Hepatitis (155x19) 82.821 +/- 8.107 78.013 +/- 9.178 Australian (689x14) 85.107 +/- 4.153 78.750 +/- 7.659 BUPA-liver (345x6) 66.283 +/- 7.592 68.016 +/- 10.710 Credit (690x16) 86.416 +/- 2.695 85.513 +/- 3.955 Diabetis (768x9) 77.205 +/- 4.605 74.923 +/- 5.606 Flare-solar (1066x13) 89.793 +/- 2.500 90.379 +/- 2.193 German (999x25) 76.475 +/- 4.446 75.228 +/- 5.326 Ionosphere (350x35) 89.643 +/- 5.858 86.786 +/- 4.532 Spect (265x23) 80.649 +/- 8.113 80.152 +/- 7.070 Bảng 2: Tốc độ chạy (ms) Dữ liệu TWSVM SVM CMC (1473x9) 269.06 3619.811 Heart (920x13) 78.017 1297.29 Image (2100x18) 1029.228 8343.87 Hepatitis (155x19) 34 Australian (689x14) 46.011 905.202 BUPA-liver (345x6) 14 161 Credit (690x16) 59.015 759.171 Diabetis (768x9) 64.014 846.189 Flare-solar (1066x13) 136.032 1659.375 German (999x25) 148.032 1480.331 Ionosphere (350x35) 14.002 167.037 Spect (265x23) 12.002 108.023 11 Máy véc-tơ tựa song sinh áp dụng KẾT LUẬN Như tư tưởng toán học máy véc-tơ tựa song sinh thực chất tìm cách tách lớp liệu hai siêu phẳng không nhiết song song, siêu phẳng gần với lớp xa với lớp lại Bằng phương pháp quán sử dụng quy tắc nhân tử Lagrange để giải hai tốn QP, chúng tơi trình bày sở toán học máy véc-tơ tựa song sinh nghiên cứu liên quan như, SVM tiêu chuẩn, PSVM, GEPSVM kĩ thuật phân lớp liệu Cùng với cách cài đặt thuật tốn máy véc-tơ tựa song sinh ngơn ngữ lập trình Python, nhằm mục đính đánh giá tốc độ khả mơ liệu TWSVM so với SVM tiêu chuẩn, cho trường hợp khác nhau, từ đơn giản đến phức tạp Cánh tiếp cận TWSVM trường hợp phi tuyến giải thơng qua toán quy hoạch nửa xác định dương quy hoạch nón bậc hai, hướng nghiên cứu chúng tơi nhằm mục đích cải tiến thuật tốn TÀI LIỆU THAM KHẢO [1] B.N Parlett (1998), The symmetric eigenvalue problem Philadelphia: SIAM [2] C Saunders, A Gammerman, and V Vovk (1998), Ridge regression learning algorithm in dual variables, Proc 15th Int’l Conf Machine learning, pp.515-521 [3] B Scholkopf and A Smola (2002), Learning with kernel Cambridge, Mass.: MIT Press [4] O L Mangasarian and E W Wild (2006), “Multisurface proximal support vector classification via generalized eigenvalues,” IEEE Trans Pattern analysis and machine learning, vol 28, no 1, pp 69-74 [5] Jayadeva, R Khemchandani and S Chandra (2007), Twin support vector machines for pattern classification IEEE Transactions on Pattern Analysis and Machine intelligence, vol 29, no [6] G Fung and O L Mangasarian (2001), “Proximal support vector machine,” Proc Seventh Int’l Conf Knowledge discovery and Data mining, pp 77-86 [7] O L Mangasarian (1994), Nonlinear programming SIAM, Philadelphia, PA [8] G H Golub and C F Van Loan (1996), Matrix computations The John Hopkins University Press, Baltimore, Maryland, 3rd edition [9] A.N Tikhonov and V Y Arsen (1977), Solutions of Ill-Posed Problems New York: John Wiley and Sons [10] C L and C.J Merz (1998), “UCI Repository for Machine Learning Database,” Dept of information and computer sciences, Univ of California, Irvine, http://www.ics.uci.edu/mlearn/MLRepository.html 12 TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, Trường Đại học Khoa học, ĐH Huế Tập 17, Số (2020) TWIN SUPPORT VECTOR MACHINE AND APPLICATION Nguyen The Cuong Department of Mathematics, Communications University Nha Trang, Khanh Hoa Email: nckcbnckcb@gmail.com ABSTRACT The support vector machines are popular classification technique and has been successfully applied to many different areas of the life Because this is a pratical problem, we chose to study, aiming to find more applications and better improvings There are some typical improvings such as Proximal Support Vector Machine (PSVM), Proximal Support Vector Machine Via Generalized Eigenvalues (GEPSVM) and Twin Support Vector Machine (TWSVM) SVM and TWSVM can be solved by using Lagrange duality problem, but TWSVM used two nonparallel hyperplanes to separate data classes This paper airms to show mathematical foundation of PSVM, GEPSVM and TWSVM, and we have setted up TWSVM algorithm by using Python programming to evaluate effect of TWSVM compared to standard SVM Keywords: Support vector machines, Twin support vector machines Nguyễn Thế Cường sinh ngày 09/12/1986 Sơn La Năm 2009, ơng tốt nghiệp cử nhân ngành Tốn Tin Trường Đại học Sư phạm Hà Nội Năm 2014, ông tốt nghiệp thạc sỹ ngành Tốn Giải tích Trường Đại học khoa học, ĐH Huế Tháng 12/2018, ông bắt đầu làm NCS Trường Đại học Khoa học, ĐH Huế Hiện ông công tác Trường ĐH Thông tin Liên lạc, Nha Trang, Khánh Hòa Lĩnh vực nghiên cứu: Khoa học máy tính 13 Máy véc-tơ tựa song sinh áp dụng 14 ... 12.002 108.023 11 Máy véc-tơ tựa song sinh áp dụng KẾT LUẬN Như tư tưởng toán học máy véc-tơ tựa song sinh thực chất tìm cách tách lớp liệu hai siêu phẳng khơng nhiết song song, siêu phẳng gần...