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 Qua[.]
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 Hồ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 Stt Tên Trần Thị Thơm Huỳnh Nhật Thành Nguyễn Quang Nhật MSSV 14110192 14110178 14110137 Email 14110192@student.hcmute.edu.vn 14110178@student.hcmute.edu.vn 14110137@student.hcmute.edu.vn Chương trình, ứng dụng sử dụng: - Chương trình sử dụng: R studio - Ứng dụng: Phân công thực Phân cơng Cả nhóm Thực Tìm kiếm, tổng hợp tài liệu Lên nội dung cần làm cho đề tài, thời gian thực Trình bày slide Sửa lỗi Tiến độ 100% Nguyễn Quang Nhật Huỳnh Nhật Thành Trần Thị Thơm Tìm hiểu, xây dựng nội dung Triển khai nội dung chi tiết phần Tổng hợp, viết báo cáo 80% 90% 90% 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ữ 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 tốn máy SVM” 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 Nội dung bao gồm Chương 1: Giới thiệu Support Vector Machines Chương 2: Tại chọn Support Vector Machines Chương 3: Đặt vấn đề Chương 4: Bài toán phân lớp với SVM Chương 5: So sánh cải tiến SVM Phần kết luận Phần Demo Phần tài liệu tham khảo CHƯƠNG 1: GIỚI THIỆU VỀ SUPPORT VECTOR MACHINE Giới thiệu Bài toán phân lớp (Classification) dự đoán (Prediction) hai tố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 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 Lịch sử 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 Định nghĩa Là phương pháp dựa tảng lý thuyết thống kê nên có tảng tốn học chặt chẽ để đảm bảo kết tìm xác Là thuật toán học giám sát (supervied learning) sử dụng cho phân lớp liệu Là phương pháp thử nghiệm, đưa phương pháp mạnh xác số thuật tốn tiếng phân lớp liệu SVM phương pháp có tính tổng qt cao nên áp dụng cho nhiều loại toán nhận dạng phân loại 4 Ứ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 CHƯƠNG 2: TẠI SAO CHỌN SUPPORT VECTOR MACHINES Sử dụng thuật toán Support vector machines có nhiều lơi ích: SVM hiệu quae để giải tố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 tốn cao 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 Ý 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 Mục đích phương pháp SVM tìm khoảng cách biên lớn Đườ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) Cơ sở lý thuyết SVM thực chất toán tối ưu, mục tiêu thuật tốn tìm không gian F siêu phẳng định f F cho sai số phân loại thấp Cho tập mẫu D = {(x1, y1), (x2,y2), …, (xl, yl)} với xi ∈ Rn , 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) Ta có, phương trình siêu phẳng chứa vector ⃗x i không gian: ⃗ x i.⃗ w+ b = +1 , ⃗ xi ⃗ w +b> w + b) ={ Đặt f(⃗x i) = sign(⃗x i.⃗ −1 , ⃗ x ⃗ w +b< i Như vậy, f(⃗x i) biểu diễn phân lớp ⃗x i vào hai lớp nêu Ta nói yi = +1 thuộc lớp I yi = -1 ⃗x i thuộc lớp II CHƯƠNG 4: BÀI TOÁN PHÂN LỚP VỚI SVM 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 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 Trường hợp Tập D phân chia tuyến tính mà khơng có 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) Hình Tập liệu phân chia tuyến tính Ta tìm siêu phẳng tách với w ∈ Rn vector trọng số, b ∈ Rn hệ số tự do, cho: +1 , ⃗ x ⃗ w +b> i ∀( xi , y i) ∈ D w + b) ={ Đặt f(⃗x i) = sign(⃗x i.⃗ −1 , ⃗ x ⃗ w +b< i Lúc ta cần giải toán tối ưu: T { Min ( L ( w ) )= ¿|w|∨¿ ¿ y i ( x i w + b ) ≥ 1, i=1 , … ,l Trường hợp 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 Hình Tập liệu phân chia tuyến tính có nhiễu w+ Trong trường hợp này, ta sử dụng biến mềm ε i ≥ cho: yi.(⃗x i.⃗ b) ≥ 1−ε i, i=1,…,l Bài toán tối ưu trở thành : l { Min ( L ( w , ε ) )= ¿|w|∨¿2 +C ∑ ε i ¿ y i ( x i w T +b ) ≥1−ε i , i=1 ,… , l ; ε i ≥0 i=1 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 Trường hợp 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 Hình Tập liệu khơng phân chia tuyến tính Gọi ∅ ánh xạ phi tuyến từ không gian Rn vào không giam Rm n m ∅ :R → R Bài toán tối ưu trở thành: {¿ Bài toán phân đa lớp SVM Để 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à: T f i ( x )=wi ( x ) +bi Những phần tử x support vector thỏa điều kiện: f i ( x )= , ∈i −1 , ∉i { Giả sử toán phân loại k lớp (k ≥ 2), 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-đốimột” (one-against-one) 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 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 q 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 CHƯƠNG 5: SO SÁNH VÀ MỘT SỐ CẢI TIỀN Một số phương pháp neuron, fuzy logic, mạng fuzzy-neuron,…, 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 SVM có đặc trưng bản: - Nó ln 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 tốn NNSRM (Nearest Neighbor Structural Risk Minimization) kết hợp kỹ thuật SVM Nearest Neighbor KẾT LUẬN Ưu điểm nhược điểm phương pháp Support Vector Machines 1.1 Ưu điểm Là kĩ thuật phân lớp phổ biến, SVM thể nhiều ưu điểm số có việc tính tốn hiệu tập liệu lớn Có thể kể thêm số ưu điểm phương pháp như: Xử lý không gian số chiều cao: SVM cơng cụ tính tố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 1.2 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 Những kết đạt - 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 tố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 Hướng phát triển đề tài - 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 tốn độ xác cho SVM DEMO TÀI LIỆU THAM KHẢO [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 [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 [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 [4]Jiawei Han, Micheline Kamber, Jian Pei Data Mining Concepts and Techniques, 3rd Edition