일반적으로 함수 는 두 가지 주요 속성을 만족하는 경우 유효한 커널 함수입니다 (커널 트릭의 의미에서).k(x,y)
대칭 : k(x,y)=k(y,x)
양의 반정도.
참조 : http://www.cs.berkeley.edu/~jordan/courses/281B-spring04/lectures/lec3.pdf의 4 페이지
대칭 점검은 일반적으로 점검을 통해 간단합니다. 분석적으로 양의 반 정확성을 확인하는 것은 때때로 털이 될 수 있습니다. 이 사실을 확인하기위한 두 가지 전략을 생각할 수 있습니다.
k(x,y)=ex+yϕ(a)k(x,y)=ϕ(x)Tϕ(y)ex+y=exeyϕ(a)=ea
운이 좋으면 를이 분석에 사용할 수 있습니다. 그렇지 않은 경우 옵션 (2)를 사용할 수 있습니다.k()
- (2) 랜덤 시뮬레이션을 통한 긍정적 인 확실성 확인.
dim 벡터 k ( → x , → y ) = ∑ D d = 1 분 ( x d , y d ) 의 함수를 고려하십시오. 여기서 각 벡터 → x , → y 는 음이 아니어야하며 1로 합산되어야합니다. 이것이 유효한 커널입니까?Dk(x⃗ ,y⃗ )=∑Dd=1min(xd,yd)x⃗ ,y⃗
N{x⃗ i}Ni=1KKij=k(x⃗ i,x⃗ j)K
K
샘플 MATLAB / Octave 코드 :
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) ) );
이것은 매우 간단한 테스트이지만 조심하십시오 . 테스트가 실패하면 커널이 유효 하지 않은지 확인할 수 있지만 통과해도 커널 이 유효 하지 않을 수 있습니다.
ND
k(x⃗ ,y⃗ )=∑Dd=1max(xd,yd)
컴파일 된 형식 증명보다 훨씬 빠르고 디버깅하기 쉽기 때문에이 두 번째 옵션이 정말 좋습니다. Jitendra Malik의 슬라이드 19 에 따르면 , 교차로 커널은 1991 년에 도입되었지만 2005 년까지는 제대로 입증되지 않았습니다. 공식적인 증거는 매우 어려울 수 있습니다!