커널이 무엇인지 직관적으로 설명하는 방법?


96

많은 머신 러닝 분류기 (예 : 벡터 머신 지원)를 사용하면 커널을 지정할 수 있습니다. 커널이 무엇인지 설명하는 직관적 인 방법은 무엇입니까?

내가 생각한 한 가지 측면은 선형 커널과 비선형 커널의 구별입니다. 간단히 말해서 '선형 결정 함수', '비선형 결정 함수'에 대해 말할 수 있습니다. 그러나 커널을 '결정 함수'라고 부르는 것이 좋은 아이디어인지 확실하지 않습니다.

제안?

답변:


112

커널은 (매우 높은 차원의) 특징 공간에서 두 개의 벡터 및 의 내적을 계산하는 방법 이므로, 커널 기능을 "일반적인 내적 곱"이라고도합니다.yxy

우리는 매핑이 있다고 가정 우리의 벡터를 제공합니다 일부 기능 공간에 . 이 공간에서 와 의 내적 은 입니다. 커널은 이 내적에 해당 하는 함수 입니다. 즉 입니다.R n R m x y φ( x ) T φ( y )kk( x , y )=φ( x ) T φ( y )φ:Rn→RmRnRmxyφ(x)Tφ(y)kk(x,y)=φ(x)Tφ(y)

이것이 왜 유용한가요? 커널은이 공간이 무엇인지 가 무엇인지 모른 채 일부 기능 공간에서 내적을 계산하는 방법을 제공합니다 .φ

예를 들어, 와 함께 간단한 다항식 커널 를 고려하십시오 . 이것은 매핑 함수 에 해당하지 않는 것으로 , 실수를 반환하는 함수일뿐입니다. 및 라고 가정하면 다음 식을 확장 해 보겠습니다.x , y ∈ R 2 φ x = ( x 1 , x 2 ) y = ( y 1 , y 2 )k(x,y)=(1+xTy)2x,y∈R2φx=(x1,x2)y=(y1,y2)

k(x,y)=(1+xTy)2=(1+x1y1+x2y2)2==1+x12y12+x22y22+2x1y1+2x2y2+2x1x2y1y2

이것은 두 벡터 와 및 . 따라서 커널 는 내적을 계산합니다. 이 공간을 명시 적으로 방문하지 않고 6 차원 공간.(1,y 2 1 ,y 2 2 , √(1,x12,x22,2x1,2x2,2x1x2)φ(x)=φ(x1,x2)=(1,x 2 1 ,x 2 2 , √(1,y12,y22,2y1,2y2,2y1y2)k(x,y)=(1+ x Ty)2=φ(x)Tφ(y)φ(x)=φ(x1,x2)=(1,x12,x22,2x1,2x2,2x1x2)k(x,y)=(1+xTy)2=φ(x)Tφ(y)

또 다른 예는 가우시안 커널 입니다. 이 함수를 Taylor 확장하면 의 무한 차원 코 도메인에 해당함을 알 수 있습니다 . φk(x,y)=exp⁡(−γ‖x−y‖2)φ

마지막으로, Yaser Abu-Mostafa 교수 의 온라인 데이터 "Learning from Data" 를 커널 기반 방법에 대한 좋은 소개로 추천합니다. 특히, "벡터 기계 지원" , "커널 방법" 및 "방사선 기초 함수" 강의 는 커널에 관한 것입니다.


2
현재 태그 정의 : "직관적 : 통계에 대한 개념적 또는 비 수학적 이해를 추구하는 질문" 개념이 수학이 아닌 것과 동의어로 취급되는지 여부는 명확하지 않습니다.
— rolando2

40

커널에 대한 매우 간단하고 직관적 인 사고 방식 (적어도 SVM의 경우)은 유사 기능입니다. 두 개의 객체가 주어지면 커널은 유사성 점수를 출력합니다. 커널 함수가 비교하는 방법을 알고 있다면, 객체는 두 개의 정수, 두 개의 실제 값 벡터, 트리로 시작하는 것이 될 수 있습니다.

가장 간단한 예는 선형 커널 (dot-product)입니다. 두 벡터가 주어지면, 유사성은 한 벡터가 다른 벡터에 투영되는 길이입니다.

또 다른 흥미로운 커널 예제는 Gaussian 커널입니다. 두 벡터가 주어지면, 반경은 와 함께 유사성이 감소합니다 . 두 객체 사이의 거리는이 반경 매개 변수에 의해 "가중치"됩니다.σ

커널 학습의 성공 (적어도 SVM의 경우)은 커널의 선택에 따라 크게 달라집니다. 분류 문제에 대한 지식을 간결하게 표현한 것으로 커널을 볼 수 있습니다. 그것은 종종 특정 문제입니다.

커널이 결정 함수 내 에서 사용되므로 커널을 결정 함수라고 부르지 않습니다 . 분류 할 데이터 포인트가 주어지면 의사 결정 함수는 해당 데이터 포인트를 학습 된 매개 변수 의해 가중치를 부여한 여러 지원 벡터와 비교하여 커널을 사용합니다 . 지원 벡터는 데이터 포인트의 도메인에 있고 학습 된 매개 변수에 따라 학습 알고리즘에 의해 발견된다.ααα


내적과 투영은 동일하지 않습니다.
— ttnphns

SVM의 경우, 커널은 다른 공간에서의 거리 측정이라고 생각합니다. 이것은 SVM이 지원 벡터 분류기를 일반화한다는 생각과 일치합니다. 일반적으로 커널은 더 복잡 할 수 있습니다.
— aginensky

29

직감에 도움이되는 시각적 예

노란색과 파란색 점을 2 차원에서 선형으로 분리 할 수없는 다음 데이터 세트를 고려하십시오.

여기에 이미지 설명을 입력하십시오

이 점들이 선형으로 분리 가능한 더 높은 차원의 공간을 찾을 수 있다면 다음을 수행 할 수 있습니다.

  • 원래 기능을 더 높은 변압기 공간에 맵핑하십시오 (기능 맵핑)
  • 이 더 높은 공간에서 선형 SVM 수행
  • 결정 경계 초평면에 해당하는 가중치 세트를 얻습니다.
  • 이 초평면을 원래 2D 공간으로 다시 매핑하여 비선형 결정 경계를 얻습니다.

이 점들이 선형으로 분리 가능한 더 높은 차원 공간이 있습니다. 여기에 하나의 예가 있습니다

x1,x2:→z1,z2,z3
z1=2x1x2  z2=x12  z3=x22

커널 트릭이 시작됩니다. 위의 위대한 답변을 인용

우리는 매핑이 있다고 가정 우리의 벡터를 제공합니다 일부 기능 공간에 . 이 공간에서 와 의 내적 은 입니다. 커널은 이 내적에 해당 하는 함수 입니다. 즉φ:Rn→RmRnRmxyφ(x)Tφ(y)kk(x,y)=φ(x)Tφ(y)

위의 기능 맵과 동등한 커널 기능을 찾을 수 있다면 선형 SVM에 커널 기능을 연결하고 계산을 매우 효율적으로 수행 할 수 있습니다.

다항식 커널

위의 기능 맵은 잘 알려진 다항식 커널에 해당합니다 . . 하자 와 우리가 얻을를K(x,x′)=(xTx′)dd=2x=(x1,x2)T

k((x1x2),(x1′x2′))=(x1x2′+x2x2′)2=2x1x1′x2x2′+(x1x1′)2+(x2x2′)2=(2x1x2 x12 x22) (2x1′x2′x1′2x2′2)

k((x1x2),(x1′x2′))=ϕ(x)Tϕ(x′)

ϕ((x1x2))=(2x1x2x12x22)

기능 맵 및 결과 경계선 시각화

  • 왼쪽 그림은 SVM 선형 경계 하이퍼 평면과 함께 변환 된 공간에 표시된 점을 보여줍니다.
  • 오른쪽 그림은 원래 2 차원 공간의 결과를 보여줍니다.

여기에 이미지 설명을 입력하십시오


출처


4

아주 간단하지만 정확하게 커널은 두 데이터 시퀀스 사이 의 계량 요소 입니다. 이 무게 요소는 하나 "에 더 무게 할당 할 수있는 데이터 포인트를 하나의"에서 " 시점 다른"보다는 " 데이터 포인트 ", 또는 동일한 가중치를 할당하거나 다른 "에 더 많은 가중치를 부여 데이터 포인트 등"와.

이러한 방식으로 상관 ( 내적 )은 다른 점보다 일부 지점에서 더 많은 "중요도"를 할당 할 수 있으므로 비선형 성 (예 : 평평하지 않은 공간 ), 추가 정보, 데이터 스무딩 등을 처리 할 수 ​​있습니다.

또 다른 방법으로, 커널은 위에서 언급 한 것들에 대처하기 위해 두 데이터 시퀀스 의 상대적인 차원 (또는 차원 단위 ) 을 변경하는 방법 입니다.

세 번째 방법 (이전 두 가지 관련)에서, 커널은 주어진 정보 또는 기준 (예 : 곡선 공간, 누락 된 데이터, 데이터)을 고려 하여 하나의 데이터 시퀀스를 다른 데이터 시퀀스에 일대일 로 매핑 하거나 투영 하는 방법입니다. 재주문 등). 예를 들어, 주어진 커널은 하나의 데이터 시퀀스를 다른 하나에 맞추거나 매핑하기 위해 하나의 데이터 시퀀스를 늘리 거나 줄이거 나 자르 거나 구부릴 수 있습니다.

커널은 " 최적 "을 맞추기 위해 Procrustes 처럼 행동 할 수 있습니다


SVM 및 관련 방법에 사용되는 양의 반음계 Mercer 커널이 아니라 커널 밀도 추정의 관점에서 커널에 대해 이야기하고 있다고 생각합니다.
— Dougal

@Dougal,이 답변의 의미에서 커널은 데이터를 특정 방식으로 상관 시키거나 특정 데이터 기능을 활용하는 데 사용되는 계량 기능 또는 측정치이므로 SVM 커널 방법도 다루고 있습니다.
— Nikos M.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.