Đón xem YOLO Vision 2025!
25 tháng 9, 2025
10:00 — 18:00 BST
Sự kiện kết hợp
Yolo Vision 2024
Bảng chú giải thuật ngữ

Máy Vector Hỗ Trợ (SVM)

Khám phá sức mạnh của Máy Vector Hỗ Trợ (SVM) cho phân loại, hồi quy và phát hiện ngoại lệ, với các ứng dụng và hiểu biết sâu sắc trong thế giới thực.

Máy vectơ hỗ trợ (SVM) là một thuật toán học có giám sát mạnh mẽ và linh hoạt, được sử dụng cho cả tác vụ phân loại và hồi quy. Về cốt lõi, một SVM tìm một siêu phẳng hoặc ranh giới quyết định tối ưu, phân tách tốt nhất các điểm dữ liệu thành các lớp khác nhau. Điều làm cho SVM đặc biệt hiệu quả là mục tiêu tối đa hóa lề—khoảng cách giữa siêu phẳng phân tách và các điểm dữ liệu gần nhất của bất kỳ lớp nào. Nguyên tắc này, được trình bày chi tiết trong bài báo nền tảng của Cortes và Vapnik, giúp cải thiện khả năng khái quát hóa của mô hình, làm cho nó ít bị quá khớp (overfitting) hơn.

Cách thức hoạt động của SVM

Thuật toán hoạt động bằng cách vẽ mỗi mục dữ liệu dưới dạng một điểm trong không gian n chiều (trong đó n là số lượng đặc trưng). Việc phân loại sau đó được thực hiện bằng cách tìm siêu phẳng tạo ra sự phân tách tốt nhất giữa các lớp.

  • Siêu phẳng: Đây là ranh giới quyết định. Trong một tập dữ liệu với hai đặc trưng, nó là một đường thẳng; với ba, nó là một mặt phẳng. Đối với nhiều đặc trưng hơn, nó trở thành một siêu phẳng.
  • Véc-tơ hỗ trợ (Support Vectors): Đây là các điểm dữ liệu nằm gần siêu phẳng (hyperplane) nhất. Chúng rất quan trọng vì chúng xác định lề (margin), và việc loại bỏ chúng sẽ làm thay đổi vị trí của siêu phẳng. Bạn có thể tham khảo hình ảnh trực quan tuyệt vời về véc-tơ hỗ trợ trong ghi chú bài giảng CS229 của Stanford.
  • Margin (Lề): Lề là khoảng cách giữa các vector hỗ trợ và siêu phẳng. Mục tiêu của SVM là tìm siêu phẳng tối đa hóa lề này, tạo ra sự phân tách mạnh mẽ nhất có thể.
  • Thủ thuật Kernel: Đối với dữ liệu không thể phân tách tuyến tính, SVM sử dụng một kỹ thuật gọi là thủ thuật kernel. Phương pháp mạnh mẽ này liên quan đến việc chuyển đổi dữ liệu thành một không gian nhiều chiều hơn, nơi có thể tìm thấy một bộ phân tách tuyến tính mà không cần tính toán rõ ràng tọa độ của dữ liệu trong không gian mới đó. Các kernel phổ biến như Hàm cơ sở xuyên tâm (RBF) có thể xử lý các mối quan hệ phi tuyến tính rất phức tạp. Bạn có thể khám phá hướng dẫn về các kernel SVM để biết thêm chi tiết.

Các Ứng dụng Thực tế

SVM có hiệu quả trong nhiều lĩnh vực, đặc biệt đối với các bài toán có dữ liệu chiều cao.

  • Tin sinh học (Bioinformatics): Trong lĩnh vực bộ gen và protein, SVM được sử dụng để phân loại protein và phân tích dữ liệu biểu hiện gen. Ví dụ, chúng có thể giúp xác định các loại ung thư dựa trên dữ liệu microarray, một nhiệm vụ liên quan đến hàng ngàn đặc trưng. Điều này làm cho chúng trở thành một công cụ quan trọng trong AI cho lĩnh vực chăm sóc sức khỏe.
  • Phân loại Ảnh: Trước sự thống trị của mạng nơ-ron sâu, SVM là một mô hình hoạt động hàng đầu cho phân loại ảnh. Chúng đã được sử dụng thành công cho các tác vụ như nhận dạng chữ số viết tay trên các bộ dữ liệu như MNIST và nhận dạng đối tượng trên Caltech-101.
  • Phân loại văn bản: Trong Xử lý ngôn ngữ tự nhiên (NLP), SVM có hiệu quả đối với các tác vụ như phát hiện thư rác và phân tích tình cảm. Chúng có thể quản lý hiệu quả các không gian đặc trưng nhiều chiều được tạo bởi các phương pháp vectơ hóa văn bản.

So sánh SVM với các thuật toán khác

So với các thuật toán đơn giản hơn như Hồi quy Logistic, SVM hướng đến việc tối đa hóa khoảng cách biên thay vì chỉ tìm một ranh giới phân tách, điều này có thể dẫn đến khả năng tổng quát hóa tốt hơn. Không giống như các phương pháp dựa trên cây như Cây Quyết Định hoặc Rừng Ngẫu Nhiên, SVM xây dựng một siêu phẳng tối ưu duy nhất (có thể trong một không gian nhiều chiều). Trong khi các mô hình học sâu hiện đại như Ultralytics YOLO vượt trội trong việc trích xuất đặc trưng tự động từ dữ liệu thô (như pixel trong thị giác máy tính (CV)), SVM thường yêu cầu thiết kế đặc trưng cẩn thận nhưng có thể hoạt động đặc biệt tốt trên các bộ dữ liệu nhỏ hơn hoặc các loại dữ liệu có cấu trúc cụ thể, nơi các đặc trưng được xác định rõ. Bạn có thể tìm thấy nhiều bộ dữ liệu như vậy trong Kho lưu trữ Machine Learning UCI.

Các triển khai phổ biến bao gồm LibSVM và mô-đun SVM trong scikit-learn. Mặc dù SVM thường không phải là cốt lõi của các framework CV hiện đại như PyTorch hoặc TensorFlow, nhưng nó có thể được tích hợp vào các quy trình làm việc rộng hơn. Việc huấn luyện và quản lý các mô hình như vậy, cùng với nhiều mô hình khác, có thể được hợp lý hóa bằng cách sử dụng các nền tảng như Ultralytics HUB, giúp đơn giản hóa vòng đời MLOps từ gán nhãn dữ liệu đến điều chỉnh siêu tham sốtriển khai mô hình cuối cùng.

Tham gia cộng đồng Ultralytics

Tham gia vào tương lai của AI. Kết nối, hợp tác và phát triển cùng với những nhà đổi mới toàn cầu

Tham gia ngay
Đã sao chép liên kết vào clipboard