Phương pháp support vector machines lý thuyết và ứng dụng
ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC MÁY TÍNH BÁO CÁO ĐỒ ÁN NHẬP MÔN CÔNG NGHỆ TRI THỨC VÀ MÁY HỌC PHƯƠNG PHÁP SUPPORT VECTOR MACHINES LÝ THUYẾT VÀ ỨNG DỤNG Giảng viên hướng dẫn: THS NGUYỄN ĐÌNH HIỂN Sinh viên thực hiện: NGUYỄN TRÍ HẢI 11520094 NGUYỄN HOÀNG NGHĨA 11520603 Lớp: Lớp môn học: Khoá: KHTN2011 C110.E11 2011 TP Hồ Chí Minh, Ngày 04 tháng 12 năm 2013 ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC MÁY TÍNH BÁO CÁO ĐỒ ÁN NHẬP MÔN CÔNG NGHỆ TRI THỨC VÀ MÁY HỌC PHƯƠNG PHÁP SUPPORT VECTOR MACHINES LÝ THUYẾT VÀ ỨNG DỤNG Giảng viên hướng dẫn: THS NGUYỄN ĐÌNH HIỂN Sinh viên thực hiện: NGUYỄN TRÍ HẢI 11520094 NGUYỄN HOÀNG NGHĨA 11520603 Lớp: Lớp môn học: Khoá: KHTN2011 CS110.E11 2011 TP Hồ Chí Minh, Ngày 04 tháng 12 năm 2013 MỞ ĐẦU Tầm quan trọng việc học tri thức người vấn đề đặt lên hàng đầu Trong tin học, mà hệ chuyên gia chưa đáp ứng đủ vấn đề cần giải Đồng thời việc cập nhật thay đổi tự nhiên việc tốn Giải pháp đặt cho máy tính tự động học giải vấn đề dựa liệu thực tế Học máy (Machine learning) nhánh quan trọng trí tuệ nhân tạo nghiên cứu cac phương pháp, kỹ thuật cho phép máy tính tự động học liệu để giải vấn đề cụ thể Trong trình tiếp nhận tri thức người Phân loại (Classification) trình tự nhiên giúp cho việc tiếp nhận tri thức hệ thống lưu trữ cụ thể 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 phân lớp phi tuyến Vapnik Chervonenkis giới thiệu vào năm 1995 LỜI CẢM ƠN Lời chúng em xin bày tỏ lòng biết ơn sâu sắc tới ThS Nguyễn Đình Hiển, Khoa Khoa học máy tính, Đại học Công nghệ thông tin ĐHQG-HCM, người tận tình hướng dẫn nhóm em kiến thức thiết yếu để hoàn thành đồ án Tiếp đến, xin cám ơn bạn lớp CS110.E11 nhóm trao đổi bổ sung kiến thức hỗ trợ cho việc hoàn thiện đồ án TP Hồ Chí Minh, Ngày 04 tháng 12 năm 2013 Nguyễn Trí Hải – Nguyễn Hoàng Nghĩa NHẬN XÉT CỦA GIẢNG VIÊN ··································································································· ··································································································· ··································································································· ··································································································· ··································································································· ··································································································· ··································································································· ··································································································· ··································································································· ··································································································· ··································································································· ··································································································· ··································································································· ··································································································· ··································································································· ··································································································· ··································································································· ··································································································· ··································································································· ··································································································· ··································································································· ··································································································· ··································································································· MỤC LỤC DANH MỤC HÌNH VẼ B CHƯƠNG I TỔNG QUAN ĐỒ ÁN 1 Nội dung chung Phân công thực CHƯƠNG II CÁC KHÁI NIỆM CƠ BẢN Bài toán phân lớp phương pháp Support Vector Machines 2 Phân lớp tuyến tính Ma trận GRAM Không gian đặc trưng Hàm hạt nhân Kết chương CHƯƠNG III PHƯƠNG PHÁP SUPPORT VECTOR MACHINES Ý tưởng Cơ sở lý thuyết Bài toán phân lớp với SVM Bài toán phân đa lớp với SVM 13 Các bước phương pháp SVM 13 So sánh số cải tiến 13 CHƯƠNG IV ỨNG DỤNG 15 Một số ứng dụng SVM 15 Mô phương pháp SVM qua biểu diễn hình học Matlab 16 Xây dựng chương trình lọc thư rác 16 CHƯƠNG V TỔNG KẾT 21 PHỤ LỤC Chạy thử mô phương pháp SVM qua biểu diễn hình học Matlab 22 THAM KHẢO 25 A DANH MỤC HÌNH ẢNH Hình 2.1 Ánh xạ Φ từ không gian liệu X sang không gian đặc trưng F Hinh 2.2 Ví dụ hàm hạt nhân Hình 3.1 Mô tả phương pháp SVM Hình 3.2 Tập liệu phân chia tuyến tính Hình 3.3 Tập liệu phân chia tuyến tính có nhiễu 10 Hình 3.4 Tập liệu không phân chia tuyến tính 11 Hình 3.5 Ví dụ biểu diễn tập liệu không gian chiều 12 Hình 4.1 Phân loại biểu cảm 15 Hình 4.2 Phân loại ảnh 15 Hình 4.3 Tiền xử lý email 17 Hình 4.4 Trích xuất thông tin email 18 Hình 4.5 Quá trình học liệu 19 Hình 4.6 Các từ mẫu có khả spam 19 Hình 4.7 Chạy thử chương trình 20 B GVHD: Th.s Nguyễn Đình Hiển Báo cáo nhập môn công nghệ tri thức máy học CHƯƠNG I TỔNG QUAN ĐỒ ÁN Nội dung chung * Tên đề tài: Phương pháp Support Vector Machines: Lý thuyết ứng dụng * Giảng viên hướng dẫn: ThS Nguyễn Đình Hiển * Sinh viên thực hiện: Nguyễn Trí Hải, Nguyễn Hoàng Nghĩa * Khoá học: Khoá 2011 (Ngày nhập học: Tháng 09/2011) * Thông tin liên lạc sinh viên: STT Tên MSSV Email Nguyễn Trí Hải 11520094 11520094@gm.uit.edu.vn Nguyễn Hoàng Nghĩa 11520603 11520603@gm.uit.edu.vn * Chương trình, ứng dụng sử dụng: - Chương trình lập trình: Mathworks Matlab R2012b - Môi trường lập trình: Matlab Phân công thực Phân công Thực Tìm kiếm, tổng hợp tài liệu Cả nhóm Lên nội dung cần làm cho đề tài, tìm kiếm tài liệu: - Thời gian thực - Nội dung lý thuyết, chương trình, ứng dụng hỗ trợ Thực đồ án Nguyễn Trí Hải - Tìm hiểu, xây dụng nội dung ứng dụng Nguyễn Hoàng Nghĩa - Tổng hợp, xây dựng nội dung lý thuyết Cả nhóm - Viết báo cáo, trình bày slide - Sửa lỗi GVHD: Th.s Nguyễn Đình Hiển Báo cáo nhập môn công nghệ tri thức máy học CHƯƠNG II CÁC KHÁI NIỆM CƠ BẢN Bài toán phân lớp phương pháp Support Vector Machines Phân lớp trình “nhóm” đối tượng “giống” vào “một lớp” dựa đặc trưng liệu chúng Khi nghiên cứu đối tượng, tượng, dựa vào số hữu hạn đặc trưng chúng Nói cách khác, ta xem xét biểu diễn đối tượng, tượng không gian hữu hạn chiều, chiều ứng với đặc trưng lựa chọn Bài toán phân lớp mô tả sau: ̅̅̅̅̅ Cho tập mẫu Ω = {(𝑋𝑖 , 𝐶𝑖 ) | 𝑋𝑖 𝜖 ℝ𝑛 ; 𝐶𝑖 𝜖 ℝ𝑚 ; 𝑖 = 1, 𝑁} Tìm ánh xạ 𝑓: ℝ𝑛 → ℝ𝑚 , cho ‖𝑓(𝑋𝑖) − 𝐶𝑖 ‖ ≅ 0, ∀(𝑋𝑖 , 𝐶𝑖 ) ∈ Ω, ∀𝑖 = ̅̅̅̅̅ 1, 𝑁 Trong đó: N: Số mẫu Xi: Mẫu liệu thứ i; Ci: lớp mẫu liệu thứ i Ánh xạ 𝑓 hiểu mô hình quy tắc, luật để xác định đối tượng xét thuộc lớp dựa đặc trưng chúng Trong thực tế, việc xác định đặc trưng để phân lớp bị ảnh hưởng nhiều yếu tố gây khó khăn cho trình phân lớp như: đối tượng có nhiều thuộc tích, xác định thuộc tính cần thiết, thuộc tính không cần thiết Bài toán phân lớp sử dụng phương pháp Support vector machines (SVM) nhằm mục đích tìm siêu phẳng có biên cực đại lớp mẫu âm lớp mẫu dương Đồng thời cực tiểu hoá mẫu không phân chia tập huấn luyện SVM đựa sở toán học vững Tuy nhiên, việc huấn luyện mẫu sử dụng SVM đòi hỏi phải giải toán tối ưu nhiều biến Ban đầu, SVM phát triển để giải toán phân lớp, sau tính ưu việt, sử dụng rộng rãi để giải toán hồi quy Phân lớp tuyến tính Việc phân lớp nhị phân thực cách sử dụng hàm giá trị thực GVHD: Th.s Nguyễn Đình Hiển Báo cáo nhập môn công nghệ tri thức máy học 𝑓: 𝑋 ⊆ ℝ𝑛 → ℝ hàm tuyến tính, tương ứng với đầu 𝑦 ∈ {-1, 1}, phát biểu sau: Đầu vào 𝑥 = (𝑥1 , 𝑥2 , … , 𝑥𝑛 ) gán vào lớp có nhãn 𝑓 (𝑥) ≥ 0, trường hợp ngược lại gán vào lớp có nhãn -1 Trường hợp 𝑓(𝑥) hàm tuyến tính 𝑥 ∈ 𝑋 ta viết sau: 𝑓 (𝑥) = 〈𝑤 𝑥〉 + 𝑏 𝑛 = ∑(𝑤𝑖 𝑥1 ) + 𝑏 𝑖=1 Trong 〈 〉 biểu thị tích vô hướng Về mặt hình học, phần tử không gian đầu vào X rơi vào hai phần phân tách siêu phẳng xác định biểu thức: 〈𝑤 𝑥〉 + 𝑏 = Trong đó: w vector pháp tuyến cùa siêu phẳng, giá trị ngưỡng b thay đổi tạo siêu phẳng song song với Với mẫu liệu x chưa xác định đươc phân chia thành: 𝑥∈ { 𝐿ớ𝑝 𝐼, 𝑛ế𝑢 𝑓 > 𝐿ớ𝑝 𝐼𝐼, 𝑡𝑟𝑜𝑛𝑔 𝑐á𝑐 𝑡𝑟ườ𝑛𝑔 ℎợ𝑝 𝑐ò𝑛 𝑙ạ𝑖 Ma trận GRAM Cho tập {𝑥1 , 𝑥1 , … , 𝑥𝑙 } vector không gian tích vô hướng X, ma trận G kích thước 𝑙 × 𝑙 với 𝐺𝑖,𝑗 = 〈𝑥𝑖 , 𝑥𝑗 〉 gọi ma trận GRAM Đặc điểm quan trọng ma trận GRAM là: liệu đầu vào cho chương trình tổng hợp khái quát hoàn toàn biểu diễn thông qua ma trận GRAM Không gian đặc trưng Sự phức tạp hàm mục tiêu dẫn đến trình học phụ thuộc vào cách diễn tả Khi diễn tả liệu cách phù hợp, vấn đề học trở nên dễ dàng Vì vậy, việc làm phổ biến học máy chuyển đổi liệu từ không gian đầu vào X sang không gian đặc trưng: 𝑥 = (𝑥1 , 𝑥2 , … , 𝑥𝑛 ) ↦ Φ(𝑥) = (Φ1 (𝑥), … , Φ𝑁 (𝑥)) Trong n số chiều đầu vào (số thuộc tính) N số chiều không gian đặc trưng Dữ liệu chuyển vào không gian đặc trưng với N > n GVHD: Th.s Nguyễn Đình Hiển Báo cáo nhập môn công nghệ tri thức máy học Hình 3.4 Tập liệu không phân chia tuyến tính Gọi 𝜙 ánh xạ phi tuyến từ không gian ℝ𝑛 vào không gian ℝ𝑚 𝜙: ℝ𝑛 → ℝ𝑚 Bài toán tối ưu trở thành: 𝑙 𝑀𝑖𝑛(𝐿(𝑤, 𝜀)) = ‖𝑤‖2 + 𝐶 ∑ 𝜀𝑖 𝑖=1 𝑇 𝑦𝑖 (𝜙(𝑥𝑖 ) 𝑤 + 𝑏) ≥ − 𝜀𝑖 , 𝑖 = 1, … , 𝑙 { 𝜀𝑖 ≥ 0, 𝑖 = 1, … , 𝑙 Ví dụ: Để dễ hiểu xét ví dụ mô tả hình học sau: Xét không gian chiều (n=2), tập liệu cho tập điểm mặt phẳng 11 GVHD: Th.s Nguyễn Đình Hiển Báo cáo nhập môn công nghệ tri thức máy học Hình 3.5 Ví dụ biểu diễn tập liệu không gian chiều Bây ta tiến hành tìm siêu phẳng phân lớp dựa phương pháp SVM (1) Ta tìm siêu phẳng song song (nét đứt hình …) cho khoảng cách chúng lớn để phân tách lớp thành phía (Ta gọi siêu phẳng phân tách) Siêu phẳng (1) nằm siêu phẳng (nét đậm hình) Hình cho ta tập liệu phân tách tuyến tính Bây ta xét trường hợp tập liệu phân tách tuyến tính Bây ta xử lý cách ánh xạ tập liệu cho vào không gian có số chiều lớn không gian cũ (Gọi không gian đặc trưng) mà không gian tập liệu phân tách tuyến tính Trong không gian đặc trưng ta tiếp tục tìm siêu phẳng phân tách trường hợp ban đầu Các điểm nằm siêu phẳng phân tách gọi vector hỗ trợ (Support vector) Các điểm định hàm phân tách liệu Từ đây, thấy phương pháp SVM không phụ thuộc vào mẫu liệu ban đầu, mà phụ thuộc vào suport vector (quyết định siêu phẳng phân tách) Cho dù điểm khác bị xoá thuật toán cho kết tương tự Đây điểm bật phương pháp SVM so với phương pháp khác điểm tập liệu dùng để tối ưu kết Trên thực tế người ta không xác định cụ thể ánh xạ mà dùng hàm hạt nhân trình bày mục chương 1, nhằm đẩy nhanh tốc độ tính toán đồng thời đảm bảo liệu gần phân tách tuyến tính Thông thường người ta thường sử dụng hàm hạt nhân có sẵn 12 GVHD: Th.s Nguyễn Đình Hiển Báo cáo nhập môn công nghệ tri thức máy học Bài toán phân đa lớp với 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à: 𝑓𝑖 (𝑥) = 𝑤𝑖𝑇 𝑥 + 𝑏𝑖 Những phần tử x support vector thoả điều kiện: 1, ∈ 𝑖 𝑓𝑖 (𝑥) = { −1, ∉ 𝑖 Giả sử toán phân loại k lớp (𝑘 ≥ 2), ta tiến hành 𝑘(𝑘 − 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) Kỹ thuật phân đa lớp phương pháp SVM tiếp tục nghiên cứu phát triển Các bước phương pháp SVM - - Tiền xử lý liệu: Phương pháp SVM yêu cầu liệu diễn tả vector số thực Như đầu vào chưa phải số thực ta cần phải 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 toán cụ thể để đạt độ xác cao trình phân lớ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 So sánh số cải tiến Một số phương pháp mạng neuron, fuzzy 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 toán đối đối tượng (Giải tốt với hệ thống lớn phức tạp) 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ỏ 13 GVHD: Th.s Nguyễn Đình Hiển Báo cáo nhập môn công nghệ tri thức máy học Phương pháp SVM xem công cụ mạnh tinh vi cho toán phân lớp phi tuyến Nó có mộ 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 and Structural Risk Minimization) kết hợp kỹ thuật SVM Nearest Neighbor 14 GVHD: Th.s Nguyễn Đình Hiển Báo cáo nhập môn công nghệ tri thức máy học CHƯƠNG IV ỨNG DỤNG Một số ứng dụng SVM SVM biến thể, tiến có nhiều ứng dụng thiết thực vào giài vấn đề thực tế Một số ứng dụng bật là: - - - Chuẩn đoán virus máy tính: Giả sử có tập đối tượng cần chuẩn đoán {𝑥1 , 𝑥2 , … , 𝑥𝑛 } không gian 𝑋 Dựa vào đặc trưng 𝑥𝑖 , ta áp dụng phương pháp SVM để phân 𝑥𝑖 vào lớp I: Có thể nhiễm virus V lớp II: Không nhiễm virus V Lọc thư rác (Mail Classification): Với văn bản, ta trích, chọn đặc trưng vector hoá thành vector n chiều 𝑥 = {𝑡1 , 𝑡2 , … , 𝑡𝑛 } biểu diễn dạng liệu SVM Sau ta tiến hành cho chương trình học thông qua tập liệu vào dạng (𝑥𝑖 , 𝑦𝑖 ) với 𝑦𝑖 ∈ {1, −1} Ta xây dựng siêu phẳng phương pháp SVM tập liệu mẫu Từ với mẫu văn mới, ta vector hoá so sánh dấu so với siêu phẳng tìm để phân loại Ngoài ra, phương pháp SVM cho toán phân đa lớp ứng dụng cho toán phân loại ảnh (Image classification) hay phân loại biểu cảm khuôn mặt (Facial expression classification) Hình 4.1 Phân loại biểu cảm Hình 4.2 Phân loại ảnh 15 GVHD: Th.s Nguyễn Đình Hiển Báo cáo nhập môn công nghệ tri thức máy học Mô phương pháp SVM qua biểu diễn hình học Matlab Các tập tin project Matlab: setup.m : Mô trình phân lớp SVM data1.mat : Tập liệu mẫu data2.mat : Tập liệu mẫu data3.mat : Tập liệu mẫu svmTrain.m : Hàm đào tạo (training) SVM svmPredict.m : Hàm dự đoán (prediction) SVM plotData.m : Biểu đồ liệu chiều visualizeBoundaryLinear.m : Biểu đồ đường tuyến tính visualizeBoundary.m : Biểu đồ đường phi tuyến linearKernel.m : Hàm tuyến tính cho SVM gaussianKernel.m: Hàm Gaussian cho SVM dataset3Params.m: Tham số sử dụng cho tập liệu mẫu Chương mô tập liệu mẫu lên đồ thị chiều tìm siêu phẳng với liệu cho trước hàm hạt nhân Gaussian (Gaussian Kernel): 𝐾𝑔𝑎𝑢𝑠𝑠𝑖𝑎𝑛(𝑥 (𝑖), 𝑥 (𝑗) ) (𝑖) (𝑗) ∑𝑛𝑘=1(𝑥𝑘 − 𝑥𝑘 ) ‖𝑥 (𝑖) − 𝑥 (𝑗) ‖ ) = 𝑒𝑥𝑝 (− ) = exp (− 2𝜎 2𝜎 Xây dựng chương trình lọc thư rác Các tập tin sử dụng project Matlab: setup_spam: Quá trình phân loại email spam spamTrain.mat – Bộ training spam spamTest.mat – Bộ training test emailSample.txt - Mẫu email emailSample2.txt – Mẫu email spamSample.txt – Mẫu email spam spamSample2.txt – Mẫu email spam 16 GVHD: Th.s Nguyễn Đình Hiển Báo cáo nhập môn công nghệ tri thức máy học vocab.txt – Danh sách từ vựng getVocabList.m – Mở danh sách từ vựng porterStemmer.m – Hàm Stemming readFile.m – Đọc file processEmail.m – Tiền xử lý email emailFeatures.m – Rút trích đặt trưng từ email Các bước thực toán phân loại Email: Bước Tiền xử lý email Bước Trích xuất đặc trưng email Bước Huấn luyện tuyến tính SVM Bước Kiểm tra phân lớp Spam Email Bước Chọn từ có mail có khả cao spam Bước Đưa email và kiểm tra Chi tiết bước sau: Bước Tiền xử lý email : Dựa theo thư viện từ có (vocab.txt), xác định từ email có thư viện từ hay không Hình 4.3 Tiền xử lý email 17 GVHD: Th.s Nguyễn Đình Hiển Báo cáo nhập môn công nghệ tri thức máy học Bước Trích xuất thông tin email: Chương trình xuất chiều dài vectơ đặc trưng số đầu vào khác không ⋮ Một đặc trưng email có dạng: 𝑥 = ⋮ ∈ ℝ𝑛 ⋮ [0 ] Hình 4.4 Trích xuất thông tin email Kết quả: + Chiều dài vectơ đặc trưng : 1899 + Số đầu vào khác không: 45 Bước 3, Quá trình training dựa theo tập liệu spamTrain.mat kiểm tra trình training liệu kiểm tra spamTest.mat Quá trình huấn luyện với SVM chuyển liệu thành vectơ thông qua hàm svmTrain.m Sau tính độ xác trình huấn luyện thông qua hàm svmPredict.m, tính độ xác trình kiểm tra (Dùng liệu spamTest.mat để kiểm tra) 18 GVHD: Th.s Nguyễn Đình Hiển Báo cáo nhập môn công nghệ tri thức máy học Hình 4.5 Quá trình học liệu Kết quả: + Độ xác trình huấn luyện : 99.85% + Độ xác trình kiểm tra: 98.5% Bước Chọn từ có mail có khả cao spam Chương trình đưa từ (word) spam mail Hình 4.6 Các từ mẫu có khả spam 19 GVHD: Th.s Nguyễn Đình Hiển Báo cáo nhập môn công nghệ tri thức máy học Bước Đưa email và kiểm tra Hình 4.7 Chạy thử chương trình Chương trình đưa vào email spamSample2.txt emailSample2.txt cho kết đặc tính mail (Kết quả: spam, không spam) 20 GVHD: Th.s Nguyễn Đình Hiển Báo cáo nhập môn công nghệ tri thức máy học CHƯƠNG V TỔNG KẾT Phương pháp Support Vector Machines phương pháp tinh vi cho toán phân lớp phi tuyến Mở rộng ứng dụng tiếp tục nghiên cứu thêm phát triển làm tăng tính hiệu Đồ án nhằm cung cấp khái niệm bản, nội dung bước thực phương pháp Support Vector Machines đơn giản Đồng thời cung cấp thêm số thông tin mở rộng phương pháp Phần ứng dụng giới thiệu ứng dụng phương pháp áp dụng xây dựng lại chương trình lọc thư rác Matlab 21 GVHD: Th.s Nguyễn Đình Hiển Báo cáo nhập môn công nghệ tri thức máy học PHỤ LỤC * Chạy thử mô phương pháp SVM qua biểu diễn hình học Matlab Tập liệu mẫu 1: Chạy chương trình cách gõ dòng lệnh : setup Chương trình mở liệu mẫu hiển thị lên sơ đồ Tiếp tục nhấn Enter, trình training diễn cho kết quả: 22 GVHD: Th.s Nguyễn Đình Hiển Báo cáo nhập môn công nghệ tri thức máy học Kết đánh giá với hàm hạt nhân Gaussian cho tập liệu mẫu 1: sigma = 0.3247 Hàm hạt nhân Gaussian x1 = [1; 2; 1], x2 = [0; 4; -1], sigma = 0.5 : 0.324652 Tập liệu mẫu 2: Quá trình training diễn với hàm hạt nhân Gaussian, kết quả: 23 GVHD: Th.s Nguyễn Đình Hiển Báo cáo nhập môn công nghệ tri thức máy học Tập liệu mẫu 3: Quá trình training diễn với hàm hạt nhân Gaussian, kết quả: 24 GVHD: Th.s Nguyễn Đình Hiển Báo cáo nhập môn công nghệ tri thức máy học 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 Nghà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 HCM, 2011 [3] SVM spam classification: https:\\githug.com\ 25 [...]... tuyến Mở rộng và các ứng dụng của nó đang được tiếp tục nghiên cứu thêm và phát triển làm tăng tính hiệu quả Đồ án nhằm cung cấp những khái niệm cơ bản, nội dung cũng như các bước thực hiện của phương pháp Support Vector Machines đơn giản Đồng thời cũng cung cấp thêm một số thông tin về các mở rộng của phương pháp này Phần ứng dụng giới thiệu một các ứng dụng của phương pháp có thể áp dụng và xây dựng... máy học Bước 6 Đưa email và và kiểm tra Hình 4.7 Chạy thử chương trình Chương trình đưa vào 2 email spamSample2.txt và emailSample2.txt và cho kết quả đúng như đặc tính của mail đó (Kết quả: 1 là spam, 0 là không spam) 20 GVHD: Th.s Nguyễn Đình Hiển Báo cáo nhập môn công nghệ tri thức và máy học CHƯƠNG V TỔNG KẾT Phương pháp Support Vector Machines hiện là một trong các phương pháp tinh vi nhất cho bài... sử dụng phương pháp SVM Mỗi lớp sẽ tiến hành phân tách với k-1 lớp còn 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) Kỹ thuật phân đa lớp bằng phương pháp SVM hiện vẫn đang được tiếp tục nghiên cứu và phát triển 5 Các bước chính của phương pháp SVM - - Tiền xử lý dữ liệu: Phương pháp SVM yêu cầu dữ liệu được diễn tả như các vector của các số thực Như vậy nếu đầu vào... tính, ma trận GRAM Và quan trọng về không gian đặc trưng và hàm hạt nhân, khả năng biểu thị của hàm hạt nhân trong không gian đặc trưng Đây là các khái niệm cơ bản nhất có liên quan đến bài toán phân lớp và phương pháp SVM áp dụng cho việc giải quyết bài toán phân lớp 6 GVHD: Th.s Nguyễn Đình Hiển Báo cáo nhập môn công nghệ tri thức và máy học CHƯƠNG III PHƯƠNG PHÁP SUPPORT VECTOR MACHINES Trong thời... ỨNG DỤNG 1 Một số ứng dụng của SVM SVM và các biến thể, cái tiến của nó hiện nay có rất nhiều ứng dụng thiết thực vào giài quyết các vấn đề thực tế Một số ứng dụng nổi bật của nó là: - - - Chuẩn đoán virus máy tính: Giả sử có một tập các đối tượng cần chuẩn đoán {𝑥1 , 𝑥2 , … , 𝑥𝑛 } trong không gian 𝑋 Dựa vào các đặc trưng của các 𝑥𝑖 , ta sẽ áp dụng phương pháp SVM để phân 𝑥𝑖 vào lớp I: Có thể nhiễm... được định dạng và lưu trữ trong đó Support Vector Machines (SVM) là một phương pháp phân loại xuất phát từ lý thuyết học thống kê, dựa trên nguyên tắc tối thiểu rủi ro cấu trúc (Structural Risk Minimisation) SVM sẽ cố gắng tìm cách phân loại dữ liệu sao cho có lỗi xảy ra trên tập kiểm tra là nhỏ nhất (Test Error Minimisation) Đây là một phương pháp mới trong lĩnh vực trí tuệ nhân tạo Vào thời kỳ đầu... khác nhau Mục đích của phương pháp SVM là tìm được khoảng cách biên lớn nhất: 7 GVHD: Th.s Nguyễn Đình Hiển Báo cáo nhập môn công nghệ tri thức và máy học Hình 3.1 Mô tả phương pháp SVM Đường tô đậm là siêu phẳng tốt nhất và các điểm được bao bởi hình chữ nhật là những điểm gần siêu phẳng nhất, chúng được gọi là các vector hỗ trợ (support vector) Các đường nét đứt mà các support vector nằm trên đó được... Nguyễn Đình Hiển Báo cáo nhập môn công nghệ tri thức và máy học Tập dữ liệu mẫu 3: Quá trình training diễn ra với hàm hạt nhân Gaussian, kết quả: 24 GVHD: Th.s Nguyễn Đình Hiển Báo cáo nhập môn công nghệ tri thức và máy học 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 và ứng dụng Nghành toán tin ứng dụng: Đại học Bách khoa Hà Nội, 2006 [2] PGS.TS Vũ Thành... này quyết định hàm phân tách dữ liệu Từ đây, chúng ta có thể thấy phương pháp SVM không phụ thuộc vào các mẫu dữ liệu ban đầu, mà chỉ phụ thuộc vào các suport vector (quyết định 2 siêu phẳng phân tách) Cho dù các điểm khác bị xoá thì thuật toán vẫn cho ra các kết quả tương tự Đây chính là điểm nổi bật của phương pháp SVM so với các phương pháp khác do các điểm trong tập dữ liệu đều được dùng để tối ưu... văn bản, ta sẽ trích, chọn đặc trưng và vector hoá nó thành một vector n chiều 𝑥 = {𝑡1 , 𝑡2 , … , 𝑡𝑛 } có thể biểu diễn dạng dữ liệu SVM được Sau đó ta tiến hành cho chương trình học thông qua một tập dữ liệu vào dạng (𝑥𝑖 , 𝑦𝑖 ) với 𝑦𝑖 ∈ {1, −1} Ta sẽ xây dựng một siêu phẳng bằng phương pháp SVM trên tập dữ liệu mẫu Từ đó với mỗi mẫu văn bản mới, ta sẽ vector hoá nó và so sánh dấu của nó so với siêu phẳng ... bản, nội dung bước thực phương pháp Support Vector Machines đơn giản Đồng thời cung cấp thêm số thông tin mở rộng phương pháp Phần ứng dụng giới thiệu ứng dụng phương pháp áp dụng xây dựng lại chương... 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 phân lớp phi tuyến Vapnik Chervonenkis giới thiệu vào năm... KHOA KHOA HỌC MÁY TÍNH BÁO CÁO ĐỒ ÁN NHẬP MÔN CÔNG NGHỆ TRI THỨC VÀ MÁY HỌC PHƯƠNG PHÁP SUPPORT VECTOR MACHINES LÝ THUYẾT VÀ ỨNG DỤNG Giảng viên hướng dẫn: THS NGUYỄN ĐÌNH HIỂN Sinh viên thực hiện: