백인감자

[인공지능] Learning from Examples - 3 본문

인공지능

[인공지능] Learning from Examples - 3

백인감자 2017. 5. 31. 11:48

용어


dot product  : 내적


parametric model : 파라미터를 통해 설명가능한 학습모델


nonparametric model : 데이터가 제한된 파라미터 집합으로 특성화 될 수 없는 경우

instance-based(memory-based) learning 이 그런 예시이다. instance-based(memory-based) learning 에는 k-nearest neighbor algorithm 등이 있다.


Nonparametric Regression

1. k-NN regression : 

k-NN average : 가장 가까운 k 개 선택후 평균값을 반영.

k-NN linear regression : k 개 example 뽑아서 linear regression 수행하는 것. k-NN average 에 비해 증감추세를 파악 가능해서 더 좋다. 그러나 불연속적인 단점이 있다.


2. Locally weighted regression : 가설함수의 불연속을 해결할 수 있다. 커널 함수에 의해 가중치가 결정된다.쿼리 포인트와의 거리가 멀어 질수록 가중치가 점차 감소한다. 비선형적인 형태이다.  weight update rule 계산식이 변경되었기 때문에 각 query point 마다 가중치를 계산해야하지만 모든 point 에 대해 할 필요가 없이 몇 개의 point 에만 하면 된다. (대칭적인 형태로 나오기 때문인 것 같다.)




Kernel function : 0을 기준으로 대칭적인 형태이다. 0 에서 최대값을 가진다. 최적의 커널 width 는 cross-validation 을 통해 얻어진다.

이 regression 방식의 문제는 모든 쿼리 포인트에 대해 계산해야 하지만 쿼리 포인트의 수가 많지 않다.








SVM (Support Vector Machine)

classification 에 관련된 일종의 알고리즘이다. margin 을 최대로 하는 선형구분자(linear seperator)를 찾아 classification 하는 것이 목표이다.

margin 에 맞물리는 점들을 support vector 라고 부른다.

이전까지는 데이터 분류를 1,0 으로 했는데 SVM 에서는 1,-1 로 분류한다.

kernel trick  : 선형분류가 불가능한 데이터를 처리할 때  고차원 벡터로 사상시키는데 고차원에서 내적을 수행하면 계산량이 많아져서 비효율적이다. 따라서  커널함수를 통해 original 공간에서 미리 내적을 수행하고 고차원으로 사상시키면 계산량이 적어서 효율적이다.

x가 n차원에서의 데이터 이면 F(x) 는 n+ a 차원에서의 데이터이다. 


고차원으로의 매핑되는 함수 F(x) 


혹여나 F(x) 를 모른다면 원래공간에서 커널함수를 통해 계산할 수 있으므로 좋다.



참고 : http://blog.daum.net/tlos6733/136



Ensemble Learning (앙상블 학습)

여러가지 학습 모델들을  이용하여 결과를 얻어내는 방식. 단일 모델에 비해 더 좋은 classification 을 얻을 수 있다.

예시로는 Boosting 이 있다.

Boosting : 약한 분류기들을 모아서 강한 분류기를 만드는 개념이다.


AdaBoost algorithm : Boosting 의 한 종류이다.  학습을 통해 잘못 분류된 example 에 대해서 가중치를 높이고 다른 학습모델에 적용하는 방식이다. 에러가 발생한 것에 대해 비중을 둔다고 보면 된다. 학습 모델 수(K) 가 높아질수록 과적합이 생긴다 생각할 수 있지만 Boosting 은 margin 을 늘려주기 때문에 결과적으로 성능이 향상된다.

Comments