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ế.

Xe lửa YOLO mô hình đơn giản
với Ultralytics TRUNG TÂM

Tìm hiểu thêm

Support Vector Machine (SVM) là một thuật toán Machine Learning (ML) có giám sát phổ biến và mạnh mẽ được sử dụng chủ yếu cho các tác vụ phân loại, mặc dù nó cũng hiệu quả đối với hồi quy (Support Vector Regression - SVR) và phát hiện giá trị ngoại lai. Được phát triển vào những năm 1990, SVM hoạt động bằng cách tìm ra ranh giới tối ưu, được gọi là siêu phẳng, phân tách tốt nhất các điểm dữ liệu thuộc các lớp khác nhau trong không gian có nhiều chiều. Ý tưởng chính là tối đa hóa biên độ—khoảng cách giữa siêu phẳng và các điểm dữ liệu gần nhất (vectơ hỗ trợ) từ mỗi lớp—thường dẫn đến hiệu suất tổng quát hóa tốt trên dữ liệu chưa biết.

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

Nguyên tắc cốt lõi của SVM là tìm siêu phẳng lý tưởng để chia một tập dữ liệu. Đối với dữ liệu có thể được phân tách bằng một đường thẳng hoặc mặt phẳng (dữ liệu có thể phân tách tuyến tính), SVM xác định siêu phẳng tạo ra khoảng cách lớn nhất có thể giữa các lớp. Các điểm dữ liệu gần siêu phẳng này nhất, đóng vai trò quan trọng trong việc xác định vị trí và hướng của nó, được gọi là các vectơ hỗ trợ. Việc tập trung vào các điểm khó khăn nhất gần ranh giới này giúp SVM có bộ nhớ hiệu quả, vì chỉ cần các vectơ hỗ trợ này để xác định mô hình sau khi đào tạo.

Đối với các tập dữ liệu mà các lớp không thể tách biệt bằng ranh giới tuyến tính (dữ liệu không thể tách biệt tuyến tính), SVM sử dụng một kỹ thuật gọi là thủ thuật kernel. Phương pháp thông minh này cho phép SVM ánh xạ dữ liệu gốc vào không gian có nhiều chiều hơn, nơi có thể tách biệt tuyến tính, mà không cần tính toán rõ ràng tọa độ trong không gian mới này. Các hàm kernel phổ biến bao gồm:

  • Kernel tuyến tính: Được sử dụng cho dữ liệu có thể tách biệt tuyến tính.
  • Hạt nhân đa thức: Ánh xạ dữ liệu vào không gian đa thức bậc cao hơn.
  • Hạt nhân hàm cơ sở xuyên tâm (RBF): Một lựa chọn phổ biến có thể xử lý các mối quan hệ phức tạp, ánh xạ dữ liệu vào không gian vô hạn chiều.
  • Hạt nhân Sigmoid: Tương tự như hàm kích hoạt được sử dụng trong mạng nơ-ron .

Việc lựa chọn hạt nhân và các tham số của nó rất quan trọng và thường đòi hỏi phải điều chỉnh siêu tham số cẩn thận.

Sự liên quan và ứng dụng

SVM vẫn có liên quan mặc dù Học sâu (DL) phát triển, đặc biệt là trong các tình huống có dữ liệu đa chiều (nhiều tính năng) nhưng mẫu đào tạo hạn chế. Chúng được biết đến với sự đảm bảo về mặt lý thuyết và độ mạnh mẽ, đặc biệt là khi tồn tại một biên độ phân tách rõ ràng. Theo truyền thống, SVM kết hợp với các trình trích xuất tính năng như Histogram of Oriented Gradients (HOG) là công nghệ tiên tiến nhất cho các tác vụ như phát hiện đối tượng , như đã lưu ý trong quá trình phát triển của phát hiện đối tượng .

Các ứng dụng phổ biến bao gồm:

  • Phân loại hình ảnh : Phân loại hình ảnh thành các danh mục được xác định trước, chẳng hạn như nhận dạng chữ số viết tay hoặc phân biệt giữa các loại đối tượng khác nhau. Ví dụ, một SVM có thể được đào tạo để phân loại hình ảnh y tế có chứa khối u hay không, dựa trên các đặc điểm được trích xuất.
  • Phân loại văn bản: Sắp xếp tài liệu theo chủ đề, phân tích tình cảm (đánh giá tích cực/tiêu cực) và phát hiện thư rác. Ví dụ, phân loại các bài viết tin tức thành các danh mục như 'thể thao', 'chính trị' hoặc 'công nghệ'.
  • Phát hiện khuôn mặt : Nhận dạng khuôn mặt trong hình ảnh, thường là bước sơ bộ trước khi nhận dạng.
  • Tin sinh học: Phân loại protein, gen hoặc mẫu bệnh nhân dựa trên dữ liệu sinh học phức tạp.
  • Nhận dạng chữ viết tay: Được sử dụng trong các hệ thống để nhận dạng các ký tự viết tay.

Ưu điểm và hạn chế

Thuận lợi:

  • Có hiệu quả trong không gian có nhiều chiều, ngay cả khi số chiều vượt quá số mẫu.
  • Hiệu quả về mặt bộ nhớ vì chúng chỉ sử dụng một tập hợp con các điểm đào tạo (vectơ hỗ trợ) trong hàm quyết định.
  • Đa năng do có nhiều chức năng hạt nhân khác nhau, cho phép thích ứng với nhiều loại dữ liệu khác nhau.
  • Nhìn chung đạt được độ chính xác cao khi các lớp được tách biệt tốt.

Hạn chế:

  • Có thể tốn kém về mặt tính toán và chậm khi đào tạo trên các tập dữ liệu rất lớn.
  • Hiệu suất phụ thuộc rất nhiều vào sự lựa chọn hàm hạt nhân và siêu tham số.
  • Ít hiệu quả hơn trên các tập dữ liệu có nhiều nhiễu, trong đó các lớp chồng chéo đáng kể.
  • SVM không trực tiếp cung cấp ước tính xác suất; chúng cần được xử lý thêm (ví dụ: thang đo Platt ).

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ư Logistic Regression , 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ái quát hóa tốt hơn. Không giống như Decision Trees hoặc Random Forests , SVM xây dựng một siêu phẳng tối ưu duy nhất. 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 tính năng tự động từ dữ liệu thô (giống như pixel trong thị giác máy tính ), SVM thường yêu cầu kỹ thuật tính năng cẩn thận nhưng có thể hoạt động 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ể. Các triển khai phổ biến bao gồm LibSVM và mô-đun SVM trong scikit-learn . Việc đào tạo và quản lý các mô hình như vậy có thể được hợp lý hóa bằng cách sử dụng các nền tảng như Ultralytics HUB .

Đọc tất cả