본문 바로가기

SVM4

31. SVM (Support Vector Machine) 사용하기 SVM을 사용할때 선택해야 하는 내용이 두가지 있습니다.하나는 prarmeter C를 선택해야 하고 또 하나는 kernel을 선택해야 합니다. 커널이 없는 경우는 linear kernel이라고 하며 이것은 f 함수(similarity function)을 사용하지 않고 x features 를 사용하는 것입니다. 주로 n 이 크고 m이 작은 즉 features는 많은데 dataset 사이즈가 적은 경우에 사용이 됩니다.그리고 우리가 배운 Gaussian kernel을 사용하는 경우에는 앞에서 배운것처럼 아래 그림의 하단 공식과 같이 표현이 가능하며 이때에는 sigma^2 값을 선택해야 합니다. 이것은 n 이 작고 m 이 큰 non-linear 에서 유용하게 사용이 됩니다. SVM에서 Kernel functi.. 2016. 8. 15.
30. SVM (Support Vector Machine) - Kernel에 대하여 Kernel이번에는 non-linear 에 대해서 알아보겠습니다. 아래 그림과 같이 dataset이 있고 h 함수가 오른쪽 공식과 같습니다. x 에 대한 다항식을 f로 치환하면 아래쪽의 함수와 같이 나타낼 수 있었습니다. 여기서 f를 어떻게 하면 잘 선택을 할 수 있을지에 대해서 살펴보려고 합니다. 임의로 세개의 점을 아래 그래프와 같이 지정을 해보겠습니다. 이 점들을 l 이라고 표현하고 landmarks라고 읽습니다. 어떠한 data x에 대해서 f를 x, l에 대한 similarity(유사성)의 함수라고 하겠습니다. 이것은 또 수학적으로 표현을 하면 다음과 같이 됩니다.exp(- (|| x - l1 ||^2 ) / 2σ^2)이것의 의미는 x와 l1과의 euclidean distance 값에 제곱을 s.. 2016. 8. 14.
29. SVM (Support Vector Machine) - Margin에 대하여 SVM의 강점인 Large Margin에 대해서 벡터를 이용해서 한번 원리를 이해해보도록 하겠습니다. 어떤 원리로 margin이 생기는지를 알면 더 효율적으로 알고리즘을 사용할 수 있을 것 같습니다.아래 그림과 같이 두개의 벡터 u, v가 있습니다. 각각 2개의 값을 가지고 있고 이 두개의 벡터의 곱에 대해서 생각해보겠습니다. 각각의 벡터를 그래프 상에 표현을 하면 아래 왼쪽과 같이 됩니다. u 벡터는 파란색의 u1, u2의 좌표를 갖는 원점에서 시작하는 벡터가 되고 v 벡터는 v1, v2의 좌표를 향하는 원점에서의 벡터로 분홍색으로 표시가 되었습니다. 여기서 v 벡터를 u 벡터에 투영을 한다고 생각을 하고 녹색의 직각의 선을 그어볼 수 있습니다. 그럼 빨간색으로 표현된 길이만큼의 새로운 p가 생깁니다... 2016. 8. 13.
28. SVM (Support Vector Machine) - 강력한 classification 지금까지 우리는 Supervised learning algorithms 에 대해서 알아보았습니다. 여러가지 알고리즘이 있었고 성능상에도 알고리즘들간에 큰 차이가 없다는 것을 알았습니다.이번에는 조금 다른 알고리즘에 대해서 알아보려고 합니다. 현재 널리 이용되고 있으면서 강력한 알고리즘으로 유명한 Support Vector Machine 혹은 Large Margin Classification 이라고 불리우는 알고리즘 입니다. 이 알고리즘은 logistic regression이나 neural network과 비교해서도 보다 복잡한 non-linear functions을 처리하는데 유용합니다.SVM을 설명하기 위해서 logistic regression에서 시작하여 어떻게 변하여 만들어지는지 하나씩 살펴보겠습니.. 2016. 8. 9.