Làm thế nào để SVM 'tìm thấy' một không gian tính năng vô hạn nơi luôn có thể phân tách tuyến tính?


36

Trực giác đằng sau thực tế là một SVM với Hạt nhân Gaussian có không gian đặc trưng chiều nào?


1
Tôi không thực sự hiểu câu hỏi. Bạn có muốn một lời giải thích tại sao không gian tính năng tương ứng của nó là chiều vô hạn hoặc một sự giải thích về ý nghĩa của siêu phẳng kết quả không?
Marc Claesen

1
Tôi sẽ không nghe cả hai!
dùng36162

5
Tôi nghĩ rằng đây là một câu hỏi thú vị (+1)

Câu trả lời:


39

Câu trả lời này giải thích như sau:

  1. Tại sao luôn có thể phân tách hoàn hảo với các điểm khác biệt và hạt nhân Gaussian (có băng thông đủ nhỏ)
  2. Cách phân tách này có thể được hiểu là tuyến tính, nhưng chỉ trong một không gian tính năng trừu tượng khác biệt với không gian nơi dữ liệu sống
  3. Làm thế nào ánh xạ từ không gian dữ liệu đến không gian tính năng được "tìm thấy". Spoiler: nó không được tìm thấy bởi SVM, nó được định nghĩa ngầm bởi kernel bạn chọn.
  4. Tại sao không gian tính năng là vô hạn chiều.

1. Đạt được sự tách biệt hoàn hảo

Luôn luôn có thể phân tách hoàn hảo với hạt nhân Gaussian (với điều kiện không có hai điểm nào từ các lớp khác nhau giống hệt nhau) vì các thuộc tính cục bộ của hạt nhân, dẫn đến ranh giới quyết định linh hoạt tùy ý. Đối với băng thông hạt nhân đủ nhỏ, ranh giới quyết định sẽ trông giống như bạn chỉ vẽ các vòng tròn nhỏ xung quanh các điểm bất cứ khi nào cần thiết để phân tách các ví dụ tích cực và tiêu cực:

Something like this

(Tín dụng: Khóa học máy trực tuyến của Andrew Ng ).

Vì vậy, tại sao điều này xảy ra từ góc độ toán học?

Hãy xem xét thiết lập tiêu chuẩn: bạn có hạt nhân Gaussian và đào tạo dữ liệu ( x ( 1 ) , y ( 1 ) ) , ( x ( 2 ) , y ( 2 ) ) , ... , ( x ( n ) ,K(x,z)=exp(||xz||2/σ2) nơi y ( i ) giá trị là ± 1 . Chúng tôi muốn tìm hiểu một chức năng phân loại(x(1),y(1)),(x(2),y(2)),,(x(n),y(n))y(i)±1

y^(x)=iwiy(i)K(x(i),x)

Bây giờ làm thế nào chúng ta sẽ chỉ định trọng lượng ? Chúng ta có cần không gian vô hạn và thuật toán lập trình bậc hai không? Không, bởi vì tôi chỉ muốn chứng tỏ rằng tôi có thể tách các điểm một cách hoàn hảo. Vì vậy, tôi làm σ một nhỏ hơn so với việc tách nhỏ tỷ lần | | x ( i ) - x ( j ) | | giữa bất kỳ hai ví dụ đào tạo nào và tôi chỉ đặt w i = 1 . Điều này có nghĩa rằng tất cả các điểm đào tạo là một tỷ sigmas ngoài xa như hạt nhân là có liên quan, và mỗi điểm hoàn toàn kiểm soát dấu hiệu của ywiσ||x(i)x(j)||wi=1y^trong khu phố của nó. Chính thức, chúng tôi có

y^(x(k))=i=1ny(k)K(x(i),x(k))=y(k)K(x(k),x(k))+iky(i)K(x(i),x(k))=y(k)+ϵ

nơi là một số giá trị tùy tiện nhỏ. Chúng ta biết ε là rất nhỏ vì x ( k ) là một tỷ sigmas xa bất kỳ điểm nào khác, vì vậy cho tất cả i k chúng tôi cóϵϵx(k)ik

K(x(i),x(k))=exp(||x(i)x(k)||2/σ2)0.

Kể từ khi là quá nhỏ, y ( x ( k ) ) chắc chắn có dấu hiệu tương tự như y ( k ) , và phân loại đạt độ chính xác hoàn hảo trên dữ liệu huấn luyện.ϵy^(x(k))y(k)

2. Kernel SVM học tập như tách tuyến tính

Thực tế là điều này có thể được hiểu là "phân tách tuyến tính hoàn hảo trong không gian đặc trưng chiều vô hạn" xuất phát từ thủ thuật kernel, cho phép bạn diễn giải kernel như một sản phẩm bên trong trong không gian tính năng (có khả năng vô hạn):

K(x(i),x(j))=Φ(x(i)),Φ(x(j))

nơi là ánh xạ từ không gian dữ liệu vào không gian đặc trưng. Nó sau ngay lập tức rằng y ( x ) có chức năng như một hàm tuyến tính trong không gian đặc trưng:Φ(x)y^(x)

y^(x)=iwiy(i)Φ(x(i)),Φ(x)=L(Φ(x))

trong đó hàm tuyến tính được xác định trên các vectơ không gian đặc trưng vL(v)v

L(v)=iwiy(i)Φ(x(i)),v

Hàm này là tuyến tính trong vì nó chỉ là sự kết hợp tuyến tính của các sản phẩm bên trong với các vectơ cố định. Trong không gian đặc trưng, ranh giới quyết định y ( x ) = 0 chỉ là L ( v ) = 0 , tập mức của một hàm tuyến tính. Đây là định nghĩa của một siêu phẳng trong không gian tính năng.vy^(x)=0L(v)=0

3. Hiểu bản đồ và không gian đặc trưng

Lưu ý: Trong phần này, ký hiệu đề cập đến một tập hợp n điểmtùy ývà không phải dữ liệu huấn luyện. Đây là toán học thuần túy; dữ liệu đào tạo không nằm trong phần này!x(i)n

Phương pháp hạt nhân chưa bao giờ thực sự "tìm thấy" hoặc "tính toán" không gian đặc trưng hoặc ánh xạ một cách rõ ràng. Các phương pháp học hạt nhân như SVM không cần chúng để làm việc; họ chỉ cần hàm nhân K .ΦK

Điều đó nói rằng, người ta có thể viết ra một công thức cho . Không gian tính năng Φ ánh xạ là loại trừu tượng (và có khả năng vô hạn chiều), nhưng về cơ bản, ánh xạ chỉ là sử dụng hạt nhân để thực hiện một số kỹ thuật tính năng đơn giản. Về kết quả cuối cùng, mô hình mà bạn kết thúc học, sử dụng hạt nhân không khác gì kỹ thuật tính năng truyền thống được áp dụng phổ biến trong hồi quy tuyến tính và mô hình GLM, như lấy nhật ký của biến dự báo dương trước khi đưa nó vào công thức hồi quy. Toán học chủ yếu chỉ ở đó để giúp đảm bảo hạt nhân chơi tốt với thuật toán SVM, có lợi thế được khoe khoang về độ thưa và tỷ lệ tốt cho các bộ dữ liệu lớn.ΦΦ

Nếu bạn vẫn quan tâm, đây là cách nó hoạt động. Về cơ bản, chúng tôi mất bản sắc chúng tôi muốn giữ, , và xây dựng một không gian và sản phẩm bên trong như vậy mà nó giữ theo định nghĩa. Để làm điều này, chúng ta định nghĩa một bản tóm tắt không gian vector V trong đó mỗi vector là một hàm từ không gian cuộc sống dữ liệu trong, X , với số thực R . Vectơ f trong V là một hàm được hình thành từ sự kết hợp tuyến tính hữu hạn của các lát nhân: f ( xΦ(x),Φ(y)=K(x,y)VXRfV Đó là thuận lợi để ghi f gọn hơn là f =

f(x)=i=1nαiK(x(i),x)
f nơiKx(y)=K(x,y)là một hàm cho một "lát" của hạt nhân tạix.
f=i=1nαiKx(i)
Kx(y)=K(x,y)x

Sản phẩm bên trong không gian không phải là sản phẩm chấm thông thường, mà là sản phẩm bên trong trừu tượng dựa trên nhân:

i=1nαiKx(i),j=1nβjKx(j)=i,jαiβjK(x(i),x(j))

Với không gian đặc trưng được xác định theo cách này, là một ánh xạ XV , lấy mỗi điểm x đến "lát hạt nhân" tại thời điểm đó:ΦXVx

Φ(x)=Kx,whereKx(y)=K(x,y).

Bạn có thể chứng minh rằng là không gian sản phẩm bên trong khi K là hạt nhân xác định dương. Xem bài viết này để biết chi tiết. (Kudos cho f coppens vì đã chỉ ra điều này!)VK

4. Tại sao không gian tính năng là vô hạn chiều?

Câu trả lời này đưa ra một lời giải thích đại số tuyến tính tốt đẹp, nhưng đây là một viễn cảnh hình học, với cả trực giác và bằng chứng.

Trực giác

Đối với bất kỳ điểm cố định , chúng ta có hàm lát nhân K z ( x ) = K ( z , x ) . Đồ thị của K z chỉ là một vết sưng Gaussian tập trung tại zzKz(x)=K(z,x)Kzz. Bây giờ, nếu không gian đặc trưng chỉ là chiều hữu hạn, điều đó có nghĩa là chúng ta có thể lấy một bộ va chạm hữu hạn tại một tập hợp các điểm cố định và tạo thành bất kỳ vết sưng Gaussian nào ở bất kỳ nơi nào khác. Nhưng rõ ràng không có cách nào chúng ta có thể làm điều này; bạn không thể tạo ra một vết sưng mới từ những vết sưng cũ, bởi vì vết sưng mới có thể thực sự khác xa với vết sưng cũ. Vì vậy, cho dù chúng ta có bao nhiêu vectơ đặc trưng (bumps), chúng ta luôn có thể thêm các bumps mới và trong không gian tính năng, đây là các vectơ độc lập mới. Vì vậy, không gian tính năng không thể là chiều hữu hạn; nó phải là vô hạn

Bằng chứng

Chúng tôi sử dụng cảm ứng. Giả sử bạn có một bộ tùy ý các điểm như vậy mà vectơ Φ ( xx(1),x(2),,x(n)độc lập tuyến tính trong không gian đặc trưng. Bây giờ hãy tìm một điểm x ( n + 1 ) khác biệt vớinđiểm này, trên thực tế là một tỷ sigmas cách xa tất cả chúng. Chúng tôi cho rằngΦ( x ( n + 1 ) )Φ(x(i))x(n+1)nΦ(x(n+1))là tuyến tính độc lập từ đầu vectơ tính năng Φ ( x ( i ) ) .nΦ(x(i))

Chứng minh bằng mâu thuẫn. Giả sử ngược lại

Φ(x(n+1))=i=1nαiΦ(x(i))

Bây giờ lấy sản phẩm bên trong ở cả hai bên với một tùy ý . Bởi bản sắc Φ ( z ) , Φ ( x ) = K ( z , x ) , ta đượcxΦ(z),Φ(x)=K(z,x)

K(x(n+1),x)=i=1nαiK(x(i),x)

Ở đây là một biến tự do, vì vậy phương trình này là một danh tính cho biết hai hàm giống nhau. Cụ thể, nó nói rằng một Gaussian tập trung tại x ( n + 1 ) có thể được biểu diễn dưới dạng kết hợp tuyến tính của Gaussian tại các điểm khác x ( i ) . Rõ ràng về mặt hình học, người ta không thể tạo ra một vết sưng Gauss tập trung tại một điểm từ sự kết hợp hữu hạn của các va chạm Gaussian tập trung tại các điểm khác, đặc biệt khi tất cả các va chạm Gaussian khác cách xa một tỷ sigmas. Vì vậy, giả định của chúng tôi về sự phụ thuộc tuyến tính đã dẫn đến một mâu thuẫn, như chúng tôi đặt ra để hiển thị.xx(n+1)x(i)


6
Sự tách biệt hoàn hảo là không thể. Ví dụ: (0,0, ClasssA), (0,0, ClassB). Chúc may mắn tách bộ dữ liệu này!
Anony-Mousse

4
Đó là ... đúng về mặt kỹ thuật, loại đúng nhất! Có một upvote. Tôi sẽ thêm một ghi chú trong bài viết.
Paul

3
(Tôi nghĩ rằng quan điểm của bạn có ý nghĩa nếu bạn cần một khoảng cách tối thiểu giữa các mẫu của các tầng lớp khác nhau Nó có thể là giá trị chỉ ra rằng trong tình huống này, các SVM trở thành một phân loại gần nhất-người hàng xóm.)
Anony-Mousse

1
Tôi chỉ giải quyết trường hợp tập huấn hữu hạn, vì vậy luôn có khoảng cách tối thiểu giữa các điểm một khi chúng tôi được cung cấp một tập huấn gồm điểm khác biệt để làm việc. n
Paul

@Paul Về phần 2 của bạn, tôi có một câu hỏi. Để cho là representer trong RKHS của chúng tôi cho điểm đào tạo x ( i )k x cho độc đoán mới điểm x để y ( x ) = Σ i w i y ( i )k i , k x= Σ i w i y ( i ) k i ( x ) nên hàm kix(i)kxxy^(x)=iwiy(i)ki,kx=iwiy(i)ki(x)đối với một sốzhạnh phúc trong không gian cột củaXcho hồi quy tuyến tính và là nơi tuyến tính thực sự đến từ đâu. Liệu mô tả này có vẻ chính xác? Tôi vẫn còn học rất nhiều thứ RKHS này. y^=iziki . Đối với tôi đây là giống như phiên bản không gian chức năng của yziRy^X
15:30

12

Ma trận hạt nhân của hạt nhân Gaussian luôn có thứ hạng đầy đủ cho . Điều này có nghĩa là mỗi lần bạn thêm một ví dụ mới, thứ hạng sẽ tăng thêm 1 . Cách dễ nhất để thấy điều này nếu bạn đặt σ rất nhỏ. Sau đó, ma trận hạt nhân gần như là đường chéo.x1,...,xm1σ

Thực tế là cấp bậc luôn tăng bởi một phương tiện mà tất cả các dự trong không gian đặc trưng là tuyến tính độc lập (không trực giao, nhưng độc lập). Do đó, mỗi ví dụ thêm một chiều mới cho khoảng của các hình chiếu Φ ( x 1 ) , . . . , Φ ( x m ) . Vì bạn có thể thêm vô số ví dụ vô hạn, không gian tính năng phải có kích thước vô hạn. Thật thú vị, tất cả các hình chiếu của không gian đầu vào vào không gian đặc trưng đều nằm trên một hình cầu, vì | | Φ ( x ) | |Φ(x)Φ(x1),...,Φ(xm). Tuy nhiên, hình dạng của hình cầu là phẳng. Bạn có thể đọc thêm về điều đó trong||Φ(x)||H²=k(x,x)=1

Burges, CJC (1999). Hình học và bất biến trong các phương pháp dựa trên hạt nhân. Trong B. Schölkopf, CJC Burges, & AJ Smola (Eds.), Những tiến bộ trong phương pháp hạt nhân hỗ trợ việc học vectơ (trang 89 phản ứng). Báo chí MIT.


Tôi vẫn không hiểu điều đó, nhưng dù sao bạn cũng kiếm được một upvote :)
stmax

Ý bạn là, bạn không hiểu tại sao hình học phẳng hay tại sao nó là chiều vô hạn? Cảm ơn các upvote.
fabee

Nếu tôi có 100 ví dụ, không gian tính năng của tôi là 100 chiều hay đã là vô hạn chiều? Tại sao tôi có thể thêm "vô số" vô số ví dụ? Đó không phải là một vô số đếm được? Tại sao vấn đề đếm được / không đếm được ở đây? Tôi thậm chí còn chưa thử nghĩ về "quả cầu phẳng": D Cảm ơn lời giải thích của bạn!
stmax

5
Tôi hy vọng bạn tin tôi rằng mọi ví dụ mới đều độc lập tuyến tính với tất cả các ví dụ trước (ngoại trừ cùng một ). Trong R n, bạn không thể làm điều đó: Mọi điểm ngoài n phải phụ thuộc tuyến tính vào các điểm khác. Đối với RKHS Gaussian, nếu bạn có 100 ví dụ khác nhau, chúng trải rộng một không gian con 100 chiều của không gian vô hạn. Vì vậy, nhịp là chiều hữu hạn, nhưng không gian đặc trưng mà chúng sống là vô hạn. Vô hạn là không thể đếm được, bởi vì mỗi điểm mới trong R n là một chiều mới và có vô số điểm trong R n . xRnnRnRn
fabee

@fabee: Tôi đã thử nó theo một cách khác, bạn có vẻ như bạn biết rất nhiều về nó, bạn có thể xem câu trả lời của tôi cho dù tôi hiểu nó nhiều hay ít 'đúng'?

5

Đối với nền và các ký hiệu tôi tham khảo câu trả lời Làm thế nào để tính ranh giới quyết định từ các vectơ hỗ trợ? .

Vì vậy, các tính năng trong không gian 'gốc' là các vectơ , kết quả nhị phân y i{ - 1 , + 1 } và các số nhân Lagrange là α i .xiyi{1,+1}αi

Được biết, các hạt nhân có thể được viết như ('K(x,y)=Φ(x)Φ(y) ' đại diện cho sản phẩm bên trong.) Trường hợp Φ là một (ngầm và chưa biết) chuyển đến một tính năng mới không gian.Φ

Tôi sẽ cố gắng đưa ra một số lời giải thích 'trực quan' về những gì vẻ thích, vì vậy câu trả lời này là không có bằng chứng chính thức, nó chỉ muốnđưa ra một số cảm giác như thế nào tôi nghĩ rằng tác phẩm này. Đừng ngần ngại sửa tôi nếu tôi sai. Cơ sở cho lời giải thích của tôi là phần 2.2.1 củapdf nàyΦ

Tôi phải 'biến đổi' không gian tính năng của mình (vì vậy ) của tôi thành không gian tính năng 'mới' trong đó phân tách tuyến tính sẽ được giải quyết.xi

Đối với mỗi quan sát , tôi xác định các hàm ϕ i ( x ) = K ( x i , x ) , vì vậy tôi có một hàm ϕ i cho mỗi phần tử của mẫu đào tạo của tôi. Những chức năng φ i trải rộng trên một không gian vectơ. Không gian véc tơ kéo dài bởi φ i , lưu ý nó V = s p một n ( φ i , i = 1 , 2 , ... N ) . ( Nxiϕi(x)=K(xi,x)ϕiϕiϕiV=span(ϕi,i=1,2,N)N là kích thước của mẫu đào tạo).

Tôi sẽ cố gắng tranh luận rằng không gian vectơ này là không gian vectơ trong đó có thể phân tách tuyến tính. V Theo định nghĩa của nhịp, mỗi vector trong không gian vector có thể được viết như là một sự kết hợp tuyến tính của φ i , tức là: Σ N i = 1 γ i φ i , nơi γ i là số thực. Vì vậy, trên thực tế, V = { v = Σ N i = 1 γ i φ i | ( Γ 1 , γVϕii=1NγiϕiγiV={v=i=1Nγiϕi|(γ1,γ2,γN)RN}

(γ1,γ2,γN)vV

NVNϕiϕi(x)=K(xi,x)ϕV

ϕi(x)=K(xi,x)VN

V

Φ:xiϕi(x)=K(xi,x)

ΦΦxiVϕii

xiVi=1Nγiϕiγi

f(x)f(x)=iyiαiϕi(x)+bf(x)=0

f(x)ϕi f(x)=0Vγi namely γi=αiyi !

The yi are known from our observations, the αi are the Lagrange multipliers that the SVM has found. In other words SVM find, through the use of a kernel and by solving a quadratic programming problem, a linear separation in the V-spave.

This is my intuitive understanding of how the 'kernel trick' allows one to 'implicitly' transform the original feature space into a new feature space V, with a different dimension. This dimension depends on the kernel you use and for the RBF kernel this dimension can go up to the size of the training sample. As training samples may have any size this could go up to 'infinite'. Obviously, in very high dimensional spaces the risk of overfitting will increase.

So kernels are a technique that allows SVM to transform your feature space , see also What makes the Gaussian kernel so magical for PCA, and also in general?


+1 this is solid. I translated this material into my own expository style and added it to my answer.
Paul

5

Unfortunately, fcop's explanation is quite incorrect. First of all he says "It is known that the Kernel can be written as... where ... is an (implicit and unknown) transformation to a new feature space." It's NOT unknown. This is in fact the space the features are mapped to and this is the space that could be infinite dimensional like in the RBF case. All the kernel does is take the inner product of that transformed feature vector with a transformed feature vector of a training example and applies some function to the result. Thus it implicitly represents this higher dimensional feature vector. Think of writing (x+y)^2 instead of x^2+2xy+y^2 for example. Now think what infinite series is represented implicitly by the exponential function... there you have your infinite feature space. This has absolutely nothing to do with the fact that your training set could be infinitely large.

The right way to think about SVMs is that you map your features to a possibly infinite dimensional feature space which happens to be implicitly representable in yet another finite dimensional "Kernel" feature space whose dimension could be as large as the training set size.

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.