Nói chung, hàm là hàm kernel hợp lệ (theo nghĩa của thủ thuật kernel) nếu nó thỏa mãn hai thuộc tính chính:k(x,y)
đối xứng: k(x,y)=k(y,x)
tích cực bán dứt khoát.
Tham khảo: Trang 4 của http: //www.cs.ber siêu.edu / ~ jordan / cifts / 213B-spring04 / lectures / lec3.pdf
Kiểm tra đối xứng thường đơn giản bằng cách kiểm tra. Xác minh phân tích bán xác định tích cực đôi khi có thể khá nhiều lông. Tôi có thể nghĩ ra hai chiến lược để kiểm tra thực tế này:
- (1) Kiểm tra đại diện "sản phẩm bên trong"
Xét . Chúng ta có thể tìm thấy một số φ ( một ) mà k ( x , y ) = φ ( x ) T φ ( y ) ? Một chương trình toán nhỏ mà e x + y = e x e y , vì vậy hãy φ ( một ) = e một và chúng tôi đang thực hiện.k(x,y)=ex+yϕ(a)k(x,y)=ϕ(x)Tϕ(y)ex+y=exeyϕ(a)=ea
Nếu bạn gặp may mắn, bạn sẽ tuân theo phân tích này. Nếu không, bạn có thể sử dụng tùy chọn (2):k()
- (2) Kiểm tra tính xác định dương bằng mô phỏng ngẫu nhiên.
Xét hàm trên các vectơ -dim k ( → x , → y ) = ∑ D d = 1 min ( x d , y d ) , trong đó mỗi vectơ → x , → y phải không âm và tổng thành một. Đây có phải là một hạt nhân hợp lệ?Dk(x⃗ ,y⃗ )=∑Dd=1min(xd,yd)x⃗ ,y⃗
Chúng ta có thể kiểm tra điều này bằng cách mô phỏng. Vẽ một tập hợp các vectơ ngẫu nhiên { → x i } N i = 1 và xây dựng ma trận Gram K trong đó K i j = k ( → x i , → x j ) . Sau đó kiểm tra xem K có dương (bán) xác định không.N{x⃗ i}Ni=1KKij=k(x⃗ i,x⃗ j)K
Cách tốt nhất để thực hiện số này là tìm giá trị riêng của ma trận (sử dụng các thư viện số tốt hiện có như scipy hoặc matlab) và xác minh rằng giá trị riêng nhỏ nhất lớn hơn hoặc bằng 0 . Nếu có, ma trận là psd Nếu không, bạn không có kernel hợp lệ.K
Mã MATLAB / Octave mẫu:
D=5;
N=100;
X = zeros(N,D);
for n = 1:N
xcur = rand(1,D);
X(n,:) = xcur/sum(xcur);
end
K = zeros(N,N);
for n = 1:N; for m = 1:N
K(n,m) = sum( min( X(n,:), X(m,:) ) );
end; end;
disp( min( eig(K) ) );
Đây là một thử nghiệm rất đơn giản, nhưng hãy cẩn thận . Nếu thử nghiệm thất bại, bạn có thể chắc chắn rằng kernel không hợp lệ, nhưng nếu nó vượt qua kernel vẫn có thể không hợp lệ.
ND
k(x⃗ ,y⃗ )=∑Dd=1max(xd,yd)
Tôi thực sự thích tùy chọn thứ hai này vì nó khá nhanh và dễ gỡ lỗi hơn nhiều so với các bằng chứng chính thức được tổng hợp. Theo slide 19 của Jitendra Malik , hạt nhân giao lộ được giới thiệu vào năm 1991 nhưng không được chứng minh là đúng cho đến năm 2005. Bằng chứng chính thức có thể rất khó khăn!