Làm thế nào để giải thích bằng trực giác hạt nhân là gì?


97

Nhiều trình phân loại học máy (ví dụ: máy vectơ hỗ trợ) cho phép một người chỉ định kernel. Điều gì sẽ là một cách trực quan để giải thích hạt nhân là gì?

Một khía cạnh tôi đã nghĩ đến là sự phân biệt giữa các hạt nhân tuyến tính và phi tuyến tính. Nói một cách đơn giản, tôi có thể nói về 'các hàm quyết định tuyến tính' một 'các hàm quyết định phi tuyến tính'. Tuy nhiên, tôi không chắc việc gọi kernel là 'hàm quyết định' có phải là ý hay không.

Gợi ý?

Câu trả lời:


113

Kernel là một cách tính toán sản phẩm chấm của hai vectơ và trong một số không gian tính năng (có thể rất cao), đó là lý do tại sao các hàm kernel đôi khi được gọi là "sản phẩm chấm tổng quát".yxy

Giả sử chúng ta có ánh xạ mang các vectơ của chúng ta trong đến một không gian đặc trưng . Khi đó, sản phẩm chấm của và trong không gian này là . Nhân là một hàm tương ứng với sản phẩm chấm này, tức là .R n R m x y φ( x ) T φ( y )kk( x , y )=φ( x ) T φ( y )φ:RnRmRnRmxyφ(x)Tφ(y)kk(x,y)=φ(x)Tφ(y)

Tại sao điều này hữu ích? Các hạt nhân đưa ra một cách để tính toán các sản phẩm chấm trong một số không gian tính năng mà không cần biết không gian này là gì và là gì .φ

Ví dụ: hãy xem xét một hạt nhân đa thức đơn giản với . Điều này dường như không tương ứng với bất kỳ chức năng ánh xạ nào , đây chỉ là một hàm trả về một số thực. Giả sử rằng và , hãy mở rộng biểu thức này:x , yR 2 φ x = ( x 1 , x 2 ) y = ( y 1 , y 2 )k(x,y)=(1+xTy)2x,yR2φx=(x1,x2)y=(y1,y2)

k(x,y)=(1+xTy)2=(1+x1y1+x2y2)2==1+x12y12+x22y22+2x1y1+2x2y2+2x1x2y1y2

Lưu ý rằng đây không có gì khác ngoài một sản phẩm chấm giữa hai vectơ và và . Vì vậy, hạt nhân tính toán một sản phẩm chấm trong Không gian 6 chiều mà không ghé thăm rõ ràng không gian này.(1,y 2 1 ,y 2 2 ,(1,x12,x22,2x1,2x2,2x1x2)φ(x)=φ(x1,x2)=(1,x 2 1 ,x 2 2 ,(1,y12,y22,2y1,2y2,2y1y2)k(x,y)=(1+ x Ty)2=φ(x)Tφ(y)φ(x)=φ(x1,x2)=(1,x12,x22,2x1,2x2,2x1x2)k(x,y)=(1+xTy)2=φ(x)Tφ(y)

Một ví dụ khác là nhân Gaussian . Nếu chúng tôi Taylor mở rộng chức năng này, chúng tôi sẽ thấy rằng nó tương ứng với một tên miền mã vô hạn của .k(x,y)=exp(γxy2)φ

Cuối cùng, tôi muốn giới thiệu một khóa học trực tuyến "Học từ dữ liệu" của Giáo sư Yaser Abu-Mostafa như một giới thiệu tốt về các phương pháp dựa trên nhân. Cụ thể, các bài giảng "Hỗ trợ máy Vector" , "Phương pháp hạt nhân""Hàm cơ sở xuyên tâm" là về hạt nhân.


2
Định nghĩa thẻ hiện tại: "Trực quan: các câu hỏi tìm kiếm một sự hiểu biết khái niệm hoặc phi toán học về thống kê." Không có dấu hiệu rõ ràng cho dù khái niệm được coi là một từ đồng nghĩa của phi toán học.
rolando2

40

Một cách suy nghĩ rất đơn giản và trực quan về hạt nhân (ít nhất là đối với các SVM) là một chức năng tương tự. Cho hai đối tượng, kernel đưa ra một số điểm tương tự. Các đối tượng có thể là bất cứ thứ gì bắt đầu từ hai số nguyên, hai vectơ có giá trị thực, cây bất cứ điều gì miễn là hàm kernel biết cách so sánh chúng.

Ví dụ đơn giản nhất có thể nói là hạt nhân tuyến tính, còn được gọi là sản phẩm chấm. Cho hai vectơ, độ tương tự là độ dài hình chiếu của một vectơ trên vectơ khác.

Một ví dụ nhân thú vị khác là nhân Gaussian. Cho hai vectơ, độ tương tự sẽ giảm dần với bán kính . Khoảng cách giữa hai đối tượng được "xem xét lại" bởi tham số bán kính này.σ

Thành công của việc học với hạt nhân (một lần nữa, ít nhất là đối với các SVM), rất mạnh mẽ phụ thuộc vào sự lựa chọn hạt nhân. Bạn có thể thấy một hạt nhân như một đại diện nhỏ gọn của kiến ​​thức về vấn đề phân loại của bạn. Nó rất thường là vấn đề cụ thể.

Tôi sẽ không gọi kernel là hàm quyết định vì kernel được sử dụng bên trong hàm quyết định. Đưa ra một điểm dữ liệu để phân loại, hàm quyết định sử dụng kernel bằng cách so sánh điểm dữ liệu đó với một số vectơ hỗ trợ có trọng số bởi các tham số đã học . Các vectơ hỗ trợ nằm trong miền của điểm dữ liệu đó và dọc theo các tham số đã học được tìm thấy bởi thuật toán học tập.αα


Sản phẩm chấm và hình chiếu không hoàn toàn giống nhau.
ttnphns 18/05/2015

Trong trường hợp của SVM, tôi tin rằng hạt nhân là thước đo khoảng cách trong các không gian khác nhau. Điều này phù hợp với ý tưởng rằng một SVM tổng quát hóa một trình phân loại vector hỗ trợ. Nói chung, hạt nhân có thể phức tạp hơn.
aginensky

29

Một ví dụ trực quan để giúp trực giác

Xem xét tập dữ liệu sau đây trong đó các điểm màu vàng và màu xanh rõ ràng không thể phân tách tuyến tính theo hai chiều.

nhập mô tả hình ảnh ở đây

Nếu chúng ta có thể tìm thấy một không gian chiều cao hơn trong đó các điểm này có thể phân tách tuyến tính , thì chúng ta có thể làm như sau:

  • Ánh xạ các tính năng ban đầu lên không gian biến áp cao hơn (tính năng ánh xạ)
  • Thực hiện SVM tuyến tính trong không gian cao hơn này
  • Có được một tập các trọng số tương ứng với siêu phẳng ranh giới quyết định
  • Ánh xạ siêu phẳng này trở lại không gian 2D ban đầu để có được ranh giới quyết định phi tuyến tính

Có nhiều không gian chiều cao hơn trong đó các điểm này có thể phân tách tuyến tính. Đây là một ví dụ

x1,x2:→z1,z2,z3
z1=2x1x2  z2=x12  z3=x22

Đây là nơi mà trò lừa Kernel phát huy tác dụng. Trích dẫn những câu trả lời tuyệt vời ở trên

Giả sử chúng ta có ánh xạ mang các vectơ của chúng ta trong đến một không gian đặc trưng . Khi đó, sản phẩm chấm của và trong không gian này là . Nhân là một hàm tương ứng với sản phẩm chấm này, tức làφ:RnRmRnRmxyφ(x)Tφ(y)kk(x,y)=φ(x)Tφ(y)

Nếu chúng ta có thể tìm thấy một hàm kernel tương đương với sơ đồ tính năng ở trên, thì chúng ta có thể cắm hàm kernel trong SVM tuyến tính và thực hiện các phép tính rất hiệu quả.

Hạt nhân đa thức

Hóa ra bản đồ tính năng trên tương ứng với hạt nhân đa thức nổi tiếng : . Đặt và Chúng tôi nhận đượcK(x,x)=(xTx)dd=2x=(x1,x2)T

k((x1x2),(x1x2))=(x1x2+x2x2)2=2x1x1x2x2+(x1x1)2+(x2x2)2=(2x1x2 x12 x22) (2x1x2x12x22)

k((x1x2),(x1x2))=ϕ(x)Tϕ(x)

ϕ((x1x2))=(2x1x2x12x22)

Hình dung bản đồ đặc trưng và đường biên kết quả

  • Biểu đồ phía bên trái cho thấy các điểm được vẽ trong không gian được chuyển đổi cùng với mặt phẳng siêu biên giới tuyến tính SVM
  • Biểu đồ bên tay phải hiển thị kết quả trong không gian 2 chiều gốc

nhập mô tả hình ảnh ở đây


Nguồn


4

Rất đơn giản (nhưng chính xác) một hạt nhân là một yếu tố cân nhắc giữa hai chuỗi dữ liệu. Hệ số cân này có thể gán trọng số nhiều hơn cho một " điểm dữ liệu " tại một " điểm thời gian " so với " điểm dữ liệu " khác hoặc gán trọng số bằng nhau hoặc gán thêm trọng lượng cho " điểm dữ liệu " khác, v.v.

Bằng cách này, mối tương quan ( sản phẩm chấm ) có thể chỉ định "tầm quan trọng" ở một số điểm hơn các điểm khác và do đó đối phó với các phi tuyến tính (ví dụ: không gian không phẳng ), thông tin bổ sung, làm mịn dữ liệu , v.v.

Theo một cách khác, hạt nhân là một cách để thay đổi kích thước tương đối (hoặc đơn vị kích thước ) của hai chuỗi dữ liệu để đối phó với những điều được đề cập ở trên.

Theo cách thứ ba (liên quan đến hai cách trước), hạt nhân là cách để ánh xạ hoặc chiếu một chuỗi dữ liệu lên nhau theo cách 1 đến 1 có tính đến thông tin hoặc tiêu chí đã cho (ví dụ: không gian cong, dữ liệu bị thiếu, dữ liệu đặt hàng lại và như vậy). Vì vậy, ví dụ, một hạt nhân nhất định có thể kéo dài hoặc thu hẹp hoặc cắt hoặc bẻ cong một chuỗi dữ liệu để khớp hoặc ánh xạ 1-1 thành cái kia.

Một hạt nhân có thể hoạt động như một Procrustes để " phù hợp nhất "


Tôi nghĩ rằng bạn có thể đang nói về các hạt nhân theo nghĩa ước tính mật độ hạt nhân, chứ không phải các hạt nhân Mercer bán chính xác được sử dụng trong các SVM và các phương pháp liên quan.
Dougal

@Dougal, theo nghĩa của câu trả lời này, hạt nhân là một hàm hoặc thước đo được sử dụng để tương quan dữ liệu theo cách cụ thể hoặc để khai thác các tính năng dữ liệu nhất định, vì vậy các phương pháp hạt nhân SVM cũng được đề cập
Nikos M.
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.