Sự khác biệt của hạt nhân trong SVM?


26

Ai đó có thể vui lòng cho tôi biết sự khác biệt giữa các hạt nhân trong SVM:

  1. Tuyến tính
  2. Đa thức
  3. Gaussian (RBF)
  4. Sigmoid

Bởi vì như chúng ta biết rằng kernel được sử dụng để ánh xạ không gian đầu vào của chúng ta vào không gian tính năng có chiều cao. Và trong không gian đặc trưng đó, chúng tôi tìm thấy ranh giới phân tách tuyến tính ..

Khi nào chúng được sử dụng (trong điều kiện nào) và tại sao?

Câu trả lời:


4

Hạt nhân tuyến tính là những gì bạn mong đợi, một mô hình tuyến tính. Tôi tin rằng hạt nhân đa thức là tương tự, nhưng ranh giới là một số thứ tự được xác định nhưng tùy ý

(ví dụ: thứ tự 3: ).a=b1+b2X+b3X2+b4X3

RBF sử dụng các đường cong thông thường xung quanh các điểm dữ liệu và tính tổng các điểm này sao cho ranh giới quyết định có thể được xác định bởi một loại điều kiện cấu trúc liên kết, chẳng hạn như các đường cong trong đó tổng nằm trên giá trị 0,5. (xem hình này )

Tôi không chắc hạt nhân sigmoid là gì, trừ khi nó giống với mô hình hồi quy logistic trong đó hàm logistic được sử dụng để xác định các đường cong theo đó giá trị logistic lớn hơn một số giá trị (xác suất mô hình hóa), chẳng hạn như 0,5 như bình thường trường hợp


Vì vậy, chúng ta có thể có được siêu phẳng tách rời (ranh giới), nếu chúng ta sử dụng hạt nhân tuyến tính ?? và nếu chúng ta sử dụng hạt nhân đa thức hoặc RBF, hyperlane (cho đa thức) có thể là một vòng tròn của các lớp được nhóm (cho RBF) và đường cong ?? Có đúng không?? scikit-learn.org/urdy/modules/svm.html
user3378327

Mỗi hạt nhân làm việc cho các phiên bản kích thước cao của ranh giới tương ứng của chúng. Điều đó có trả lời câu hỏi của bạn không? Bạn không bị giới hạn ở ba chiều cho bất kỳ kernel nào mà tôi biết.
John Yetter

Tôi chỉ muốn làm cho nó rõ ràng. Vậy ranh giới bằng cách sử dụng kernel tuyến tính là một tuyến tính? Đối với RBF giống như một vòng tròn của lớp được nhóm ?? và đối với đa thức, nó có thể là đường cong dựa trên mức độ của đa thức ??
dùng3378327

Tôi sẽ không nói RBF là một nhóm các lớp được nhóm. Tôi hiểu rằng nó áp dụng một hàm dựa trên phân phối bình thường tại mỗi điểm dữ liệu và tính tổng các hàm này. Sau đó, một ranh giới được hình thành bởi đường cong đại diện cho một giá trị nhất định trên hàm đó. Nếu ai đó đã đóng góp cho thư viện SVM có thể kêu vang, điều đó có thể giúp ích. Tôi nghĩ rằng sự hiểu biết của bạn về hai hạt nhân khác là chính xác.
John Yetter

U nói rằng Linier Kernel là những gì tôi mong đợi (để có được lớp tách rời) bằng cách sử dụng Kernel. và bằng cách sử dụng trình phân loại SVM, chúng tôi gọi nó là LINIER SVM. Nhưng làm thế nào nếu chúng ta có thể lấy dữ liệu tách rời mà không có bất kỳ kernel nào trong SVM. Chúng ta gọi nó là gì ?? Vẫn là Linier SVM hay Non Linier SVM ??
dùng3378327

11

Dựa vào kiến ​​thức cơ bản của người đọc về hạt nhân.

Hạt nhân tuyến tính:K(X,Y)=XTY

Hạt nhân đa thức:K(X,Y)=(γXTY+r)d,γ>0

Hàm cơ sở xuyên tâm (RBF) Hạt nhân: mà ở dạng đơn giản có thể được viết làexp ( - γX - Y 2 ) , γ > 0K(X,Y)=exp(XY2/2σ2)exp(γXY2),γ>0

Hạt nhân Sigmoid: tương tự như hàm sigmoid trong hồi quy logistic.K(X,Y)=tanh(γXTY+r)

Ở đây , và là các tham số kernel.d γrdγ


3
Mặc dù thông tin trong câu trả lời của bạn là chính xác, tôi không nghĩ rằng nó trả lời câu hỏi được nêu ra ở đây, điều này càng hướng đến sự khác biệt thực tế giữa chúng, tức là khi nào nên sử dụng cái này hay cái khác.
Firebug

1
Thật đáng ngạc nhiên những định nghĩa đơn giản này rất khó để có được. Chúng nên là điều đầu tiên được trình bày khi nói về sự khác biệt của hạt nhân, nhưng vẫn có một thất bại lan rộng để phát biểu chúng.
cammil

Có nguồn chính thức nào cho những thứ này không? (Tôi đã kiểm tra chúng và chúng có vẻ đúng, nhưng tôi muốn có thể trích dẫn chúng.)
Christian Eriksson

6

Câu hỏi này có thể được trả lời từ quan điểm lý thuyết và thực tế. Từ lý thuyết theo định lý No-Free lunch cho biết rằng không có sự đảm bảo nào cho một hạt nhân hoạt động tốt hơn hạt nhân kia. Đó là một tiên nghiệm mà bạn không bao giờ biết và cũng không thể tìm ra hạt nhân nào sẽ hoạt động tốt hơn.

Từ quan điểm thực tế tham khảo trang sau:

Làm thế nào để chọn kernel cho SVM?


1

Trong khi phản ánh về những gì một hạt nhân là "tốt cho" hoặc khi nó nên được sử dụng, không có quy tắc cứng và nhanh.

Nếu trình phân loại / hồi quy của bạn hoạt động tốt với một kernel đã cho, thì điều đó là phù hợp, nếu không, hãy cân nhắc thay đổi sang kernel khác.

Hiểu rõ về cách thức hạt nhân của bạn có thể hoạt động, cụ thể nếu đó là mô hình phân loại, có thể đạt được bằng cách xem xét một số ví dụ trực quan, ví dụ: https://gist.github.com/WittmannF/60680723ed8dd0cb993051a7448f7805

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.