[ML] Linear Classification

Support Vector Machine에 대해 공부하기 전에 알아야 할 것들!

 

Linear function



을 통해 object x= <x1, x2, ... >를 분류하게 된다.

 

이 때, Xfeature들을 vector로 표현한 것이다. bbias이며 wifeature xi의 가중치이다

F(X)의 값이 0보다 크면 Xpositive, 0보다 작으면 negative로 분류된다. 이를 그림으로 표현하면 다음과 같다.


 



그럼 다차원의 공간에서는 어떻게 표현될까!


1) Linear(()선의; 선으로 된) function

2) Quadratic((수학) 이차의) function

3) Polynomial (다항()) function을 비교해보자

 


1) Linear: a sum of weighted features



앞서 살펴본 바와 같이 가중치들을 고려한 feature들의 총합이다.

그러나 Linear functionfeature들 간의 관계는 고려하지 못하는 단점이 있다.

 

그리하여

2) Quadratic: considers also concatenations of two features

Quadratic function은 두 개의 feature의 병합까지 고려한다.



Linear function의 식에


까지 고려하는 것인데, 이는 i번째 xy번째 xconcatenation을 뜻한다.

 Quadratic function2feature의 병합을 고려하듯이 다수의 feature concatenation을 고려할 수 있다.


3)  Polynomial: considers concatenations of multiple features (degree p denotes the size of concatenations)



여기서 p를 어떻게 설정하느냐에 따라 concatenationfeature의 개수가 결정되는데 

p1로 설정한다면 Linear가 될 것이고 2로 설정하면 Quadratic function이 될 것이다.

p의 값이 높을수록 복잡도 또한 커지기 때문에 적당한 값을 찾는 것이 중요하다

(복잡도가 높으면 overfitting될 수도 있기 때문!)

 


linear function을 학습하는 알고리즘은 다음과 같은 과정을 거친다.


 


1. Initiate F by setting w and b randomly

    랜덤하게 w, b를 설정하여 랜덤한 F를 얻는다.

2. For each training point xi, If F misclassifies xi, adjust w and b so that new F correctly classifies xi

          오분류에 대해 w, b 값을 조정해나가면서 새로운 F를 얻어낸다.

3. Repeat Step 2 until F correctly classifies all the training points

 

그러나 이렇게 하면 동일한 입력 값임에도 불구하고 다른 결과 값을 낸다. , Nondeterministic 하다

언제 반복을 멈출 것인지(cut-off), w를 얼마나 조정할 것인지 등이 파라미터로 입력되어 영향을 미친다.

 



 * 참고로 Artificial Neural networks(ANN)도 



layer마다 linear function을 사용하여 구할 수 있다. 여러 개의 layer를 두어 결국에는 unlinear한 형태이지만 각 layerlinear하다고 할 수 있다. 입력 x를 받아 출력된 값을 y'라 한다면(Hidden Layer) 최종 출력값 yy'의 차이가 줄어들게끔 역(back)으로 수정하면서 전달(propagation)시키는 것이다. (Backpropagation 방법)

 

 

지금까지의 내용들을 바탕으로 하는

Support Vector Machines에 관련된 내용은 이어서!


*포항공대 유환조 교수님 강의를 바탕으로 작성

반응형
그리드형

댓글

❤️김세인트가 사랑으로 키웁니다❤️