Vấn đề phân lớp và dự đoán là khâu rất quan trọng trong học máy và khai phá dữ liệu, phát triển tri thức. Kỹ thuật Support Vector Machines (SVM) được đánh giá là công cụ mạnh và tinh vi nhất hiện nay cho những bài toán phân lớp phi tuyến. Nhiều ứng dụng đã và đang được xây dựng dựa trên kỹ thuật SVM rất hiệu quả.
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT KHOA CÔNG NGHỆ THÔNG TIN Môn: KHAI PHÁ DỮ LIỆU ĐỀ TÀI: Phương pháp Support Vector Machines Danh sách sinh viên : - Trần Thị Thơm 14110192 - Huỳnh Nhật Thành 14110178 - Nguyễn Quang Nhật 14110137 TP.HCM, ngày 26 tháng 04 năm 2017 Nội dung chung Tên đề tài: Phương pháp Support Vector Machines Giảng viên hướng dẫn: Quách Đình Hoàng Sinh viên thực hiện: - Trần Thị Thơm - Huỳnh Nhật Thành - Nguyễn Quang Nhật Thông tin liên lạc sinh viên St t Tên MSSV 10 Trần Thị Thơm 14110192 12 13 14 Huỳnh Nhật Thành 14110178 16 17 18 Nguyễn Quang Nhật 14110137 20 Chương trình, ứng dụng sử dụng: - Chương trình sử dụng: R studio - Ứng dụng: 21 Phân công thực 22 Email 1411019 2@student.hcmute.edu.vn 15 1411017 8@student.hcmute.edu.vn 19 1411013 7@student.hcmute.edu.vn 11 Thực 24 Tìm kiếm, tổng hợp tài liệu 27 Lên nội dung cần làm cho đề tài, thời gian thực 28 Trình bày 31 23 P 25 C 26 32 N 35 H 38 T slide 29 Sửa lỗi 30 33 Tìm hiểu, xây dựng nội dung 36 Triển khai nội dung chi tiết phần 39 Tổng hợp, viết báo cáo 34 37 40 41 MỞ ĐẦU Trong thời đại công nghệ thông tin nay, phát triển công nghệ kéo theo gia tăng lớn lưu lượng thông tin lưu trữ trao đổi Do đó, yêu cầu tổ chức lưu trữ truy cập thông tin cho hiệu đặt lên hàng đầu Hướng giải đưa tổ chức, tìm kiếm phân loại thông tin cách hiệu Bản thân người đời sống tiếp nhận giới xung quanh thông qua phân loại tổ chức ghi nhớ tri thức cách hiệu Phân loại thông qua lớp mô tả lớp giúp cho tri thức định dạng lưu trữ 42 Có nhiều phương pháp phân loại nghiên cứu áp dụng Hiện nay, phương pháp phân loại Support Vector Machines phương pháp mạnh hiệu để giải toán lớp phi tuyến Vapnik Chervonenkis giới thiệu vào năm 1995 Vì vậy, nhóm em chọn đề tài “Nghiên cứu thuật toán máy SVM” 43 44 Lý chọn đề tài Vấn đề phân lớp dự đoán khâu quan trọng học máy khai phá liệu, phát triển tri thức Kỹ thuật Support Vector Machines (SVM) đánh giá công cụ mạnh tinh vi cho toán phân lớp phi tuyến Nhiều ứng dụng xây dựng dựa kỹ thuật SVM hiệu 45 46 Nội dung bao gồm 47 Chương 1: Giới thiệu Support Vector Machines 48 Chương 2: Tại chọn Support Vector Machines 49 Chương 3: Đặt vấn đề 50 Chương 4: Bài toán phân lớp với SVM 51 Chương 5: So sánh cải tiến SVM 52 Phần kết luận 53 Phần Demo 54 Phần tài liệu tham khảo 55 56 CHƯƠNG 1: GIỚI THIỆU VỀ SUPPORT VECTOR MACHINE 57 Giới thiệu Bài toán phân lớp (Classification) dự đoán (Prediction) hai toán có nhiều ứng dụng tất lĩnh vực như: học máy, nhận dạng, trí tuệ nhân tạo , v v Trong đề tài này, chúng em sâu nghiên cứu phương pháp Support Vector Machines (SVM), phương pháp hiệu 59 Phương pháp SVM coi công cụ mạnh cho toán phân lớp phi tuyến tính tác giải Vapnik Chervonenkis phát triển mạnh mẽ năm 1995 Phương pháp thực phân lớp dựa nguyên lý Cực tiểu hóa rủi ro có Cấu trúc SRM (Structural Risk Minimization), xem phương pháp phân lớp giám sát không tham số tinh vi Các hàm công cụ đa dạng SVM cho phép tạo không gian chuyển đổi để xây dựng mặt phẳng phân lớp 60 Lịch sử 61 Thuật toán Support Vector Machines (SVM) ban đầu tìm Vladimir N.Vapnik dạng chuẩn sử dụng lề mềm tìm Vapnik Corinna Cortes năm 1995 62 Định nghĩa 63 Là phương pháp dựa tảng lý thuyết thống kê nên có tảng toán học chặt chẽ để đảm bảo kết tìm xác 64 Là thuật toán học giám sát (supervied learning) sử dụng cho phân lớp liệu 65 Là phương pháp thử nghiệm, đưa phương pháp mạnh xác số thuật toán tiếng phân lớp liệu 58 66 SVM phương pháp có tính tổng quát cao nên áp dụng cho nhiều loại toán nhận dạng phân loại 67 68 Ứng dụng - Nhận dạng: tiếng nói, ảnh, chữ viết tay (hơn mạng nơron) - Phân loại văn bản, khai mỏ liệu văn - Phân tích liệu theo thời gian - Phân tích liệu gien, nhận dạng bệnh, công nghệ bào chế thuốc - Phân tích liệu marketing 69 70 CHƯƠNG 2: TẠI SAO CHỌN SUPPORT VECTOR MACHINES 72 73 Sử dụng thuật toán Support vector machines có nhiều lơi ích: SVM hiệu quae để giải toán liệu có số chiều lớn (ảnh liệu biểu diễn gien, protein, tế bào) SVM giải vấn đề overfitting tốt (dữ liệu có nhiễu tách rời nhóm liệu huấn luyện ít) Là phương pháp phân lớp nhanh Có hiệu suất tổng hợp tốt hiệu suất tính toán cao 71 74 75 CHƯƠNG 3: ĐẶT VẤN ĐỀ Ý tưởng Cho trước tập huấn luyện, biểu diễn không gian vector, tài liệu điểm, phương pháp tìm siêu phẳng f định tốt chia điểm không gian thành hai lớp riêng biệt tương ứng lớp “+” lớp “-” Chất lượng siêu phẳng định khoảng cách (gọi biên) điểm liệu gần lớp đến mặt phẳng Khi đó, khoảng cách biên lớn mặt phẳng định tốt, đồng thời việc phân loại xác 76 Ý tưởng ánh xạ (tuyến tính phi tuyến) liệu vào không gian vector đặc trưng (space of feature vectors) mà siêu phẳng tối ưu tìm để tách liệu thuộc hai lớp khác 78 Mục đích phương pháp SVM tìm khoảng cách biên lớn 77 79 Đường tô đậm siêu phẳng tốt điểm bao hình chữ nhật điểm gần siêu phẳng nhất, chúng gọi vector hỗ trợ (support vector) Các đường nét đứt mà support vector nằm gọi lề (margin) 81 Cơ sở lý thuyết 82 SVM thực chất toán tối ưu, mục tiêu thuật toán tìm không gian F siêu phẳng định f F cho sai số phân loại thấp 83 Cho tập mẫu D = {(x1, y1), (x2,y2), …, (xl, yl)} với xi , thuộc vào hai lớp nhãn yi {-1,1} tập nhãn lớp tương ứng xi (-1 biểu thị lớp I, biểu thị lớp II) 84 Ta có, phương trình siêu phẳng chứa vector không gian: 85 86 .+ b = 87 88 Đặt f() = sign(.+ b) ={ 80 89 90 Như vậy, f() biểu diễn phân lớp vào hai lớp nêu Ta nói yi = +1 thuộc lớp I yi = -1 thuộc lớp II 91 92 CHƯƠNG 4: BÀI TOÁN PHÂN LỚP VỚI SVM 94 95 Bài toán đặt là: Xác định hàm phân lớp lớp để phân lớp mẫu tương lai, nghĩa với mẫu liệu xi cần phải xác định xi phân lớp +1 hay lớp -1 96 Ta xét trường hợp, trường hợp có toán tối ưu, giải toán tối ưu tìm siêu phẳng cần tìm 97 Trường hợp 98 99 Tập D phân chia tuyến tính mà nhiễu (tất điểm gán nhãn +1 thuộc phía dương siêu phẳng, tất điểm gán nhãn -1 thuộc phía âm siêu phẳng) 100 93 101 102 Hình Tập liệu phân chia tuyến tính 103 104 Ta tìm siêu phẳng tách với w vector trọng số, b hệ số tự do, cho: 105 Đặt f() = sign(.+ b) ={ D 106 Lúc ta cần giải toán tối ưu: 107 { 108 109 Trường hợp 110 Tập liệu D phân chia tuyến tính có nhiễu Trong trường hợp này, hầu hết điểm phân chia siêu phẳng Tuy nhiên có số điểm bị nhiễu, nghĩa là: điểm có nhãn dương lại thuộc phía âm siêu phẳng, điểm có nhãn âm lại thuộc phía dương siêu phẳng 111 112 113 115 Hình Tập liệu phân chia tuyến tính có nhiễu 114 Trong trường hợp này, ta sử dụng biến mềm cho: yi.(.+ b) , i=1,…,l Bài toán tối ưu trở thành : { Trong C tham số xác định trước, định nghĩa giá trị ràng buộc, C lớn mức độ phạm vi lỗi thực nghiệm (là lỗi xảy lúc huấn luyện, tính thương số số phần tử lỗi tổng số phần tử huấn luyện) cao 116 117 118 3 Trường hợp 119 Ta liệu D phân chia tuyến tính được, ta ánh xạ vector liệu x từ không gian n chiều vào không gian m chiều (m > n), cho không gian m chiều, D phân chia tuyến tính 120 121 Hình Tập liệu không phân chia tuyến tính 123 124 Gọi ánh xạ phi tuyến từ không gian vào không giam 125 → 126 Bài toán tối ưu trở thành: 127 { Bài toán phân đa lớp SVM 128 Để phân đa lớp kỹ thuật SVM chia không gian liệu thành phần tiếp tục với không gian phân chia Khi hàm định phân liệu vào lớp thứ I là: 129 130 131 Những phần tử x support vector thỏa điều kiện: 122 132 133 Giả sử toán phân loại k lớp (k ), ta 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 tiến hành phân tách với k-1 lớp lại để xác định k-1 hàm phân tách (chiến lược “mộtđối-một” (one-against-one) 134 Kỹ thuật phân đa lớp phương pháp tiếp tục nghiên cứu phát triển LƯU Ý: CÁC BƯỚC CHÍNH CỦA PHƯƠNG PHÁP SVM 135 Tiền xử lý liệu: Phương pháp SVM yêu cầu diễn tả vector số thực Như đầu vào chưa phải số thực ta cần tìm cách chuyển chúng dạng số SVM Tránh số lớn, thường nên co giãn liệu để chuyển đoạn [-1,1] [0,1] Chọn hàm hạt nhân: cần chọn hàm hạt nhân phù hợp tương ứng cho toán cụ thể để đạt độ xác cao trình học tập Thực việc kiểm tra chéo để xác định tham số cho ứng dụng Sử dụng tham số cho việc huấn luyện tập mẫu Kiểm thử tập liệu Test 136 137 CHƯƠNG 5: SO SÁNH VÀ MỘT SỐ CẢI TIỀN 138 Một số phương pháp neuron, fuzy logic, mạng fuzzyneuron,…, sử dụng thành công để giải toán phân lớp Ưu điểm phương pháp không cần xác định mô hình đối đối tượng 139 140 - SVM có đặc trưng bản: Nó kết hợp với liệu có ý nghĩa mặt vật lý, dễ dàng giải thích cách tường minh, Cần tập mẫu huấn luyện nhỏ Phương pháp SVM xem công cụ mạnh tinh vi any cho toán phân lớp phi tuyến Nó có số biến thể C-SVC, v-SVC Cải tiến phương pháp SVM công bố thuật toán NNSRM (Nearest Neighbor Structural Risk Minimization) kết hợp kỹ thuật SVM Nearest Neighbor 141 142 143 KẾT LUẬN Ưu điểm nhược điểm phương pháp Support Vector Machines 144 Ưu điểm 1.1 Là kĩ thuật phân lớp phổ biến, SVM thể nhiều ưu điểm số có việc tính toán hiệu tập liệu lớn Có thể kể thêm số ưu điểm phương pháp như: 145 1.2 • Xử lý không gian số chiều cao: SVM công cụ tính toán hiệu không gian chiều cao, đặc biệt áp dụng cho toán phân loại văn phân tích quan điểm nơi chiều lớn • Tiết kiệm nhớ: Do có tập hợp điểm sử dụng trình huấn luyện định thực tế cho điểm liệu nên có điểm cần thiết lưu trữ nhớ dịnh • Tính linh hoạt - phân lớp thường phi tuyến tính Khả áp dụng Kernel cho phép linh động phương pháp tuyến tính phi tuyến tính từ khiến cho hiệu suất phân loại lớn 146 Nhược điểm • Bài toán số chiều cao: Trong trường hợp số lượng thuộc tính (p) tập liệu lớn nhiều so với số lượng liệu (n) SVM cho kết tồi • Chưa thể rõ tính xác suất: Việc phân lớp SVM việc cố gắng tách đối tượng vào hai lớp phân tách siêu phẳng SVM Điều chưa giải thích xác suất xuất thành viên nhóm Tuy nhiên hiệu việc phân lớp xác định dựa vào khái niệm margin từ điểm liệu đến siêu phẳng phân lớp mà bàn luận 147 Những kết đạt 148 - Nghiên cứu trình bày sở lý thuyết phương pháp học máy - Trình bày phương pháp SVM Đây phương pháp phân lớp hiệu nghiên cứu nhiều thời gian qua - Phân tích giải pháp cho phép mở rộng cải tiến để nâng cao hiệu ứng dụng SVM: • Kết hợp phương pháp SVM với số phương pháp khác phương pháp người láng giếng gần (nearest neighbor),… để làm tăng tốc độ tính toán, độ xác cho SVM • Cải tiến SVM cho phép phân chia không gian liệu cách tốt hơn, nhằm loại bỏ vùng không phân lớp cách đưa kỹ thuật mờ vào SVM 149 Hướng phát triển đề tài 150 - Thông qua ứng dụng thực tiễn nghiên cứu sử dụng phương pháp SVM, thấy khả to lớn nó, đồng thời mở ứng dụng - Kết hợp phương pháp SVM với phương pháp khác phù hợp với đối tượng cụ thể nhằm làm tăng hiệu phân lớp, tốc độ tính toán độ xác cho SVM 151 DEMO 152 153 TÀI LIỆU THAM KHẢO 154 155 [1] Thái Sơn: Luận văn thạc sỹ khoa học: Kỹ thuật Support Vector Machines ứng dụng Ngành toán tin ứng dụng: Đại học Bách khoa Hà Nội, 2006 156 [2] PGS.TS Vũ Thành Nguyên, Thi Minh Nguyễn: Một số cải tiến toán phân lớp văn sử dụng thuật toán SVM áp dụng phân tích tiếng Việt Đại học Công nghệ thông tin – ĐHQG, 2011 157 [3] Phạm Văn Sơn: Đồ án tốt nghiệp đại học hệ quy: Tìm hiểu Support Vector Machines cho toán phân lớp quan điểm.Đại học dân lập Hải Phòng,2012 158 [4]Jiawei Han, Micheline Kamber, Jian Pei Data Mining Concepts and Techniques, 3rd Edition 159 ... chế thuốc - Phân tích liệu marketing 69 70 CHƯƠNG 2: TẠI SAO CHỌN SUPPORT VECTOR MACHINES 72 73 Sử dụng thuật toán Support vector machines có nhiều lơi ích: SVM hiệu quae để giải toán liệu có số... thuật Support Vector Machines (SVM) đánh giá công cụ mạnh tinh vi cho toán phân lớp phi tuyến Nhiều ứng dụng xây dựng dựa kỹ thuật SVM hiệu 45 46 Nội dung bao gồm 47 Chương 1: Giới thiệu Support Vector. .. phẳng tốt điểm bao hình chữ nhật điểm gần siêu phẳng nhất, chúng gọi vector hỗ trợ (support vector) Các đường nét đứt mà support vector nằm gọi lề (margin) 81 Cơ sở lý thuyết 82 SVM thực chất toán