Phương pháp Nystroem cho xấp xỉ hạt nhân


12

Tôi đã đọc về phương pháp Nyström cho phép ước lượng hạt nhân cấp thấp. Phương pháp này được triển khai trong scikit-learn [1] như một phương pháp để chiếu các mẫu dữ liệu đến một xấp xỉ thứ hạng thấp của ánh xạ tính năng hạt nhân.

Để theo sự hiểu biết của tôi, cho một tập huấn luyện {xTôi}Tôi= =1n và một hàm kernel, nó tạo ra một xấp xỉ-rank thấp của n×n hạt nhân ma trận K bằng cách áp dụng SVD để WC .

K=[WK21TK21K22] C=[WK21] ,WRl×tôi

Tuy nhiên, tôi không hiểu làm thế nào xấp xỉ thứ hạng thấp của ma trận Kernel có thể được sử dụng để chiếu các mẫu mới vào không gian tính năng hạt nhân gần đúng . Các giấy tờ tôi đã tìm thấy (ví dụ [2]) không giúp ích nhiều, vì chúng ít mang tính mô phạm.

Ngoài ra, tôi tò mò về độ phức tạp tính toán của phương pháp này, cả trong giai đoạn đào tạo và thử nghiệm.

[1] http://scikit-learn.org/urdy/modules/kernel_approimumation.html#nystroem-kernel-approx

[2] http://www.jmlr.org/ con / volume13 / kumar12a / kumar12a.pdf

Câu trả lời:


15

Hãy lấy ra xấp xỉ Nyström theo cách làm cho câu trả lời cho câu hỏi của bạn rõ ràng hơn.

Giả định chính trong Nyström là hàm kernel có thứ hạng . (Thực sự chúng tôi cho rằng nó xấp xỉ thứ hạng m , nhưng để đơn giản, bây giờ hãy giả vờ nó chính xác là thứ hạng m .) Điều đó có nghĩa là bất kỳ ma trận hạt nhân nào cũng sẽ có thứ hạng nhiều nhất là m , và đặc biệt là K = [ k ( x 1 , x 1 ) ... k ( x 1 , x n ) k ( x nmmmm, hình dạngn×m, và giá trị riêng được sắp xếp theoΛ, mộtm×mma trận đường chéo. là hạngm. Do đó cómgiá trị riêng khác không, và chúng tôi có thể viết eigendecomposition củaKK=UΛUT với vector riêng lưu trữ trongU

K= =[k(x1,x1)Giáo dụck(x1,xn)k(xn,x1)Giáo dụck(xn,xn)],
mmK
K= =BạnΛBạnT
Bạnn×mΛm×m

Vì vậy, hãy chọn các yếu tố, thường là thống nhất ngẫu nhiên nhưng có thể theo các sơ đồ khác - tất cả những gì quan trọng trong phiên bản đơn giản này là K 11 có thứ hạng đầy đủ. Khi chúng tôi thực hiện, chỉ cần dán lại các điểm để chúng tôi kết thúc với ma trận hạt nhân theo các khối: K = [ K 11 K T 21 K 21 K 22 ] , trong đó chúng tôi đánh giá từng mục trong K 11 (đó là m × mmK11

K= =[K11K21TK21K22],
K11m×m ) và ( ( n - m ) × mK21(n-m)×m), nhưng không muốn đánh giá bất kỳ mục nào trong .K22

Bây giờ, chúng ta cũng có thể phân tách eigendecro theo cấu trúc khối này: nơiU1m×mU2(n-m)×m. Nhưng lưu ý rằng bây giờ chúng ta cóK11=U1ΛU T 1 . Vì vậy, chúng ta có thể tìm thấy

K= =BạnΛBạnT= =[Bạn1Bạn2]Λ[Bạn1Bạn2]T= =[Bạn1ΛBạn1TBạn1ΛBạn2TBạn2ΛBạn1TBạn2ΛBạn2T],
Bạn1m×mBạn2(n-m)×mK11= =Bạn1ΛBạn1T Λ bằng cách kết hợp ma trận đã biết K 11 .Bạn1ΛK11

Chúng tôi cũng biết rằng . Ở đây, chúng ta biết tất cả mọi thứ trong phương trình này ngoại trừ U 2 , vì vậy chúng tôi có thể giải quyết cho những gì giá trị riêng mà ngụ ý: phải nhân cả hai bên bởi ( Λ U T 1 ) - 1 = U 1 Λ - 1 để có được U 2 = K 21 U 1 Λ - 1 .K21= =Bạn2ΛBạn1TBạn2(ΛBạn1T)-1= =Bạn1Λ-1

Bạn2= =K21Bạn1Λ-1.
Bây giờ chúng tôi có mọi thứ chúng tôi cần để đánh giá : K 22K22
K22= =Bạn2ΛBạn2T= =(K21Bạn1Λ-1)Λ(K21Bạn1Λ-1)T= =K21Bạn1(Λ-1Λ)Λ-1Bạn1TK21T= =K21Bạn1Λ-1Bạn1TK21T(*)= =K21K11-1K21T(**)= =(K21K11-12)(K21K11-12)T.

Trong (*), chúng tôi đã tìm thấy một phiên bản nhúng Nyström mà bạn có thể đã xem đơn giản là định nghĩa. Điều này cho chúng ta biết các giá trị hạt nhân hiệu quả mà chúng ta đang áp dụng cho khối .K22

Trong (**), chúng ta thấy rằng ma trận tính năng , đó là hình dạng(n-m)×K21K11-12 , tương ứng với các giá trị hạt nhân được liệt kê này. Nếu chúng ta sử dụng K 1(n-m)×mchomđiểm, chúng ta có một tập hợp cácmchiều tính năng Φ=K1112mm

Φ=[K1112K21K1112].
Chúng ta có thể chỉ một cách nhanh chóng xác minh rằng tương ứng với ma trận kernel đúng: Φ Φ TΦ
ΦΦT= =[K1112K21K11-12][K1112K21K11-12]T= =[K1112K1112K1112K11-12K21TK21K11-12K1112K21K11-12K11-12K21T]= =[K11K21TK21K21K11-1K21T]= =K.

mΦK

xΦ

ϕ(x)=[k(x,x1)k(x,xm)]K1112.
x[k(x,x1)k(x,xm)]K21K21K1112ϕ(x)K11K11K1112=K1112Φxnew
Φtest=Ktest,1K1112.
m[KtrainKtrain,testKtest,trainKtest]mKtestK22


Ở trên, chúng tôi giả định rằng ma trận hạt nhân chính xác bậc m . Điều này thường không phải là trường hợp; cho một hạt nhân Gaussian, ví dụ, Kluôn bậc n , nhưng giá trị riêng sau thường thả ra khá nhanh chóng, vì vậy nó sẽ là gần một ma trận cấp bậc m , và tái tạo của chúng ta về K 21 hoặc K thử nghiệm , 1 đang đi để gần với các giá trị thực nhưng không hoàn toàn giống nhau. Họ sẽ được tái tạo tốt hơn gần hơn eigenspace của K 11 được cho rằng củaKmKnmK21Ktest,1K11KNhìn chung, đó là lý do tại sao chọn đúng m điểm rất quan trọng trong thực tế.

Cũng lưu ý rằng nếu có bất kỳ giá trị riêng nào bằng 0, bạn có thể thay thế nghịch đảo bằng giả và mọi thứ vẫn hoạt động; bạn chỉ cần thay thế K 21 trong việc tái thiết với K 21 K 11 K 11K11K21K21K11K11 .

Kmax(λi,1012)


1
AUΛUTAUΣVTA12=VΣ12VTAAVΣ12VT=UΣVTVΣ12VT=UΣ12VT=A12

1
UΣ12VT=K12UVK11UΣVTVΣ12UT=UΣ12UT

1
x12=1/xVVT

1
xm

1
xxRdxXk:X×XRϕ:XRmk(x,xi)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.