Thuật ngữ

Máy vectơ hỗ trợ (SVM)

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

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ả bài toán phân loại và hồi quy. Về cơ bản, SVM tìm ra một siêu phẳng hoặc ranh giới quyết định tối ưu, giúp 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 biên độ (margin) - 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 lý 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, giúp mô hình ít bị quá khớp hơn .

Svms hoạt động như thế nào

Thuật toán hoạt động bằng cách biểu diễn mỗi mục dữ liệu thành một điểm trong không gian n chiều (trong đó n là số lượng đặc trưng). Sau đó, việc phân loại đượ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 tập dữ liệu có hai đặc điểm, nó là một đường thẳng; với ba đặc điểm, nó là một mặt phẳng. Với nhiều đặc điểm hơn, nó trở thành siêu phẳng.
  • Vectơ hỗ trợ : Đây là các điểm dữ liệu nằm gần siêu phẳng nhất. Chúng rất quan trọng vì chúng xác định biên, 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ể tìm thấy hình ảnh minh họa tuyệt vời về vectơ hỗ trợ trong ghi chú bài giảng CS229 của Stanford .
  • Biên độ : Biên độ là khoảng cách giữa các vectơ 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 biên độ 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 bao gồm việc biến đổi dữ liệu sang 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ư Radial Basis Function (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ể tìm hiểu thêm về kernel SVM trong hướng dẫn sử dụng.

Ứng dụng trong thế giới thực

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

  • Tin sinh học : Trong lĩnh vực genomics và proteomics, 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 phân nhóm ung thư dựa trên dữ liệu microarray, một nhiệm vụ liên quan đến hàng ngàn đặc điểm. Điều này khiến chúng trở thành một công cụ thiết yếu trong AI chăm sóc sức khỏe .
  • Phân loại hình ảnh : Trước khi mạng nơ-ron sâu thống trị, SVM là mô hình hiệu suất cao nhất trong phân loại hình ả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 tập 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 hiệu quả cho các tác vụ như phát hiện thư rác và phân tích cảm xúc . Chúng có thể quản lý hiệu quả các không gian đặc trưng đa chiều được tạo ra bởi các phương pháp vector hóa văn bản.

Svm so 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 biên độ thay vì chỉ tìm ranh giới phân tách, điều này có thể dẫn đến khả năng khái 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 không gian nhiều chiều). Mặc dù 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 điểm 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 kỹ thuật đặc điểm cẩn thận nhưng có thể hoạt động đặc biệt tốt trên các tập dữ liệu nhỏ hơn hoặc các loại dữ liệu có cấu trúc cụ thể, trong đó các đặc điểm được xác định rõ ràng. Bạn có thể tìm thấy nhiều tập dữ liệu như vậy trong Kho lưu trữ Học máy 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 khung CV hiện đại như PyTorch hay 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 đào tạo và quản lý các mô hình này, cùng với nhiều mô hình khác, có thể được tinh giản bằng các nền tảng như Ultralytics HUB , giúp đơn giản hóa vòng đời MLOps từ việc gắn nhãn dữ liệu đến tinh 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, cộng tác và phát triển với những nhà đổi mới toàn cầu

Tham gia ngay
Liên kết đã được sao chép vào clipboard