Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình

Đặc điểm của SVM (Support Vector Machine)

Một phương pháp phân loại đã nhận được sự kiểm tra đáng kể là máy vector hỗ trợ (Support Vector Machine - SVM). Phương pháp này có gốc rễ trong lý thuyết học thống kê (statistical learning theory) và đã hiển thị kết quả thực nghiệm đầy hứa hẹn trong nhiều ứng dụng thực tế, từ nhận dạng chữ số viết tay đến phân loại văn bản.

SVM cũng hoạt động với dữ liệu nhiều chiều (high-dimensional data) và tránh các vấn đề nguyền chiều (curse of dimensionality). Yếu tố thứ hai của phương pháp này là nó xác định ranh giới quyết định (decision boundary) bằng một tập con của các thể hiện huấn luyện, gọi là vector hỗ trợ (support vectors).

SVM có thể được chuẩn bị để rõ ràng xem loại siêu phẳng (hyperplane) này trong dữ liệu tách tuyến tính (linearly separable data). Nó có thể đạt được bằng cách hiển thị phương pháp SVM có thể được tiếp tục cho dữ liệu không tách tuyến tính. Tập dữ liệu tách tuyến tính; tức là có thể tìm thấy một siêu phẳng bao gồm tất cả các hình vuông nằm ở một bên của siêu phẳng và tất cả các hình tròn nằm ở bên kia.

Dung lượng (capacity) của một mô hình tuyến tính tỷ lệ nghịch với margin (khoảng cách lề) của nó. Mô hình với margin nhỏ có dung lượng lớn hơn vì chúng linh hoạt và có thể khớp một số tập huấn luyện, khác với mô hình với margin lớn. Theo nguyên tắc SRM, khi dung lượng tăng, ranh giới lỗi tổng quát hóa (generalization error bound) có thể tăng. Do đó, mong muốn tạo bộ phân loại tuyến tính tối đa hóa margin ranh giới quyết định của họ để đảm bảo lỗi tổng quát hóa trường hợp xấu nhất của họ được giảm thiểu.

Một SVM tuyến tính (linear SVM) là bộ phân loại tìm kiếm siêu phẳng với margin lớn nhất, được gọi là bộ phân loại margin tối đa (maximal margin classifier). Để học SVM học ranh giới như vậy, có thể bắt đầu với một số phân tích sơ bộ về ranh giới quyết định và margin của bộ phân loại tuyến tính.

Có nhiều đặc điểm của SVM như sau:

Vấn đề học SVM có thể được tổ chức thành một vấn đề tối ưu hóa lồi (convex optimization), trong đó các thuật toán hiệu quả có sẵn để tìm tối thiểu toàn cục (global minimum) của hàm mục tiêu. Có các phương pháp phân loại khác, bao gồm bộ phân loại dựa trên quy tắc (rule-based classifiers) và mạng nơ-ron nhân tạo (artificial neural networks) sử dụng phương pháp dựa trên tham lam (greedy-based) để tìm kiếm không gian giả thuyết. Các phương pháp này có xu hướng chỉ tìm giải pháp tối ưu cục bộ (locally optimum solutions).

SVM thực hiện kiểm soát dung lượng (capacity control) bằng cách mở rộng margin ranh giới quyết định. Người dùng nên cung cấp một số tham số bao gồm loại hàm kernel (kernel function) để dùng và hàm chi phí C cho việc cung cấp mỗi biến lỏng (slack variable).

SVM có thể dùng cho dữ liệu categorical bằng cách học biến giả (dummy variables) cho mỗi giá trị thuộc tính categorical xuất hiện trong dữ liệu. Ví dụ, nếu trạng thái hôn nhân (marital status) có ba giá trị như độc thân, đã kết hôn, ly hôn, có thể học một biến nhị phân cho mỗi giá trị thuộc tính.