답변:
커널은 (매우 높은 차원의) 특징 공간에서 두 개의 벡터 및 의 내적을 계산하는 방법 이므로, 커널 기능을 "일반적인 내적 곱"이라고도합니다.y
우리는 매핑이 있다고 가정 우리의 벡터를 제공합니다 일부 기능 공간에 . 이 공간에서 와 의 내적 은 입니다. 커널은 이 내적에 해당 하는 함수 입니다. 즉 입니다.R n R m x y φ( x ) T φ( y )kk( x , y )=φ( x ) T φ( y )
이것이 왜 유용한가요? 커널은이 공간이 무엇인지 가 무엇인지 모른 채 일부 기능 공간에서 내적을 계산하는 방법을 제공합니다 .
예를 들어, 와 함께 간단한 다항식 커널 를 고려하십시오 . 이것은 매핑 함수 에 해당하지 않는 것으로 , 실수를 반환하는 함수일뿐입니다. 및 라고 가정하면 다음 식을 확장 해 보겠습니다.x , y ∈ R 2 φ x = ( x 1 , x 2 ) y = ( y 1 , y 2 )
이것은 두 벡터 와 및 . 따라서 커널 는 내적을 계산합니다. 이 공간을 명시 적으로 방문하지 않고 6 차원 공간.(1,y 2 1 ,y 2 2 , √φ(x)=φ(x1,x2)=(1,x 2 1 ,x 2 2 , √k(x,y)=(1+ x Ty)2=φ(x)Tφ(y)
또 다른 예는 가우시안 커널 입니다. 이 함수를 Taylor 확장하면 의 무한 차원 코 도메인에 해당함을 알 수 있습니다 . φ
마지막으로, Yaser Abu-Mostafa 교수 의 온라인 데이터 "Learning from Data" 를 커널 기반 방법에 대한 좋은 소개로 추천합니다. 특히, "벡터 기계 지원" , "커널 방법" 및 "방사선 기초 함수" 강의 는 커널에 관한 것입니다.
커널에 대한 매우 간단하고 직관적 인 사고 방식 (적어도 SVM의 경우)은 유사 기능입니다. 두 개의 객체가 주어지면 커널은 유사성 점수를 출력합니다. 커널 함수가 비교하는 방법을 알고 있다면, 객체는 두 개의 정수, 두 개의 실제 값 벡터, 트리로 시작하는 것이 될 수 있습니다.
가장 간단한 예는 선형 커널 (dot-product)입니다. 두 벡터가 주어지면, 유사성은 한 벡터가 다른 벡터에 투영되는 길이입니다.
또 다른 흥미로운 커널 예제는 Gaussian 커널입니다. 두 벡터가 주어지면, 반경은 와 함께 유사성이 감소합니다 . 두 객체 사이의 거리는이 반경 매개 변수에 의해 "가중치"됩니다.
커널 학습의 성공 (적어도 SVM의 경우)은 커널의 선택에 따라 크게 달라집니다. 분류 문제에 대한 지식을 간결하게 표현한 것으로 커널을 볼 수 있습니다. 그것은 종종 특정 문제입니다.
커널이 결정 함수 내 에서 사용되므로 커널을 결정 함수라고 부르지 않습니다 . 분류 할 데이터 포인트가 주어지면 의사 결정 함수는 해당 데이터 포인트를 학습 된 매개 변수 의해 가중치를 부여한 여러 지원 벡터와 비교하여 커널을 사용합니다 . 지원 벡터는 데이터 포인트의 도메인에 있고 학습 된 매개 변수에 따라 학습 알고리즘에 의해 발견된다.α
노란색과 파란색 점을 2 차원에서 선형으로 분리 할 수없는 다음 데이터 세트를 고려하십시오.
이 점들이 선형으로 분리 가능한 더 높은 차원의 공간을 찾을 수 있다면 다음을 수행 할 수 있습니다.
이 점들이 선형으로 분리 가능한 더 높은 차원 공간이 있습니다. 여기에 하나의 예가 있습니다
커널 트릭이 시작됩니다. 위의 위대한 답변을 인용
우리는 매핑이 있다고 가정 우리의 벡터를 제공합니다 일부 기능 공간에 . 이 공간에서 와 의 내적 은 입니다. 커널은 이 내적에 해당 하는 함수 입니다. 즉
위의 기능 맵과 동등한 커널 기능을 찾을 수 있다면 선형 SVM에 커널 기능을 연결하고 계산을 매우 효율적으로 수행 할 수 있습니다.
위의 기능 맵은 잘 알려진 다항식 커널에 해당합니다 . . 하자 와 우리가 얻을를
아주 간단하지만 정확하게 커널은 두 데이터 시퀀스 사이 의 계량 요소 입니다. 이 무게 요소는 하나 "에 더 무게 할당 할 수있는 데이터 포인트를 하나의"에서 " 시점 다른"보다는 " 데이터 포인트 ", 또는 동일한 가중치를 할당하거나 다른 "에 더 많은 가중치를 부여 데이터 포인트 등"와.
이러한 방식으로 상관 ( 내적 )은 다른 점보다 일부 지점에서 더 많은 "중요도"를 할당 할 수 있으므로 비선형 성 (예 : 평평하지 않은 공간 ), 추가 정보, 데이터 스무딩 등을 처리 할 수 있습니다.
또 다른 방법으로, 커널은 위에서 언급 한 것들에 대처하기 위해 두 데이터 시퀀스 의 상대적인 차원 (또는 차원 단위 ) 을 변경하는 방법 입니다.
세 번째 방법 (이전 두 가지 관련)에서, 커널은 주어진 정보 또는 기준 (예 : 곡선 공간, 누락 된 데이터, 데이터)을 고려 하여 하나의 데이터 시퀀스를 다른 데이터 시퀀스에 일대일 로 매핑 하거나 투영 하는 방법입니다. 재주문 등). 예를 들어, 주어진 커널은 하나의 데이터 시퀀스를 다른 하나에 맞추거나 매핑하기 위해 하나의 데이터 시퀀스를 늘리 거나 줄이거 나 자르 거나 구부릴 수 있습니다.
커널은 " 최적 "을 맞추기 위해 Procrustes 처럼 행동 할 수 있습니다