선형분류 방법 중 하나이다.
이름에 리그레션이 있다고해서 리그레션에 사용되는 알고리즘이 아니다.
분류에 사용되는 알고리즘.
퍼셉트론 : 데이터의 양수 음수 sign에 대한 정보를 활용했다.
SVM : margin을 사용했는데, 큰 의미로는 distance (minimum distance)이다.
margin은 최대화시키는데
worst한 데이터를 멀리 떨어뜨리는 방법으로 boundary가 설정이 된다. ( 모든데이터를 사용한 것이 아니다. )
모든 데이터의 거리 정보를 사용하면 어떨까?
logistic regression
모든 데이터를 사용해서 Linear classificaiton의 boundary를 결정하는것이다.
예시
왼쪽의 분류가 나은가, 오른쪽의 분류가 나은가?
예를 들어
왼쪽 h2 = 2
왼쪽 h1 = 2
오른쪽 h2 = 3
오른쪽 h1 = 1
라고 할때,
직선으로부터의 거리를 더해보자.
2+2 = 3+1
왼쪽과 오른쪽 거리가 같다. 왼쪽과 오른쪽을 구별할수 없다.
곱하면
2*2 > 3*1
왼쪽이 오른쪽보다 좋고,
좋은 이유는 왼쪽의 곱한 값이 크다.
아래와 같은 산술기하평균을 배운적이 있다.
등호가 성립하는 조건은 h1와 h2가 같을때이다. (maximum이 된다는 의미이다)
우리가 원하는 $ g(x) = 0$ 가 center로 가게되는 조건이 h1 = h2이다.
Outlier가 새롭게 추가될 경우
검은색 point로만 학습된 선형분류기가 아래와 같이 있다.
새로운 데이터 포인트(outlier)가 추가되었을때 새롭게 학습할 경우
boundary가 어떻게 될까?
SVM의 경우는 margin이 중요하다.
가장 가까운 포인트의 폭을 고려한다. 나머지 data point는 고려하지 않는다.
멀리있는 데이터는 margin에 영향을 미치지 않는다. 직선이 변하지 않는다.
Logistic regression은 모든 거리를 다 생각하기 때문에,
거리를 center로 만든다고 하니 오른쪽으로 어느정도 shift가 될 것이다.
SVM과 Logistic regression 둘다
거리를 고려하는 리니어 classifier긴 하지만,
logistic regression은 모든 데이터 point를 고려하는것이 근본적 차이.
'머신러닝과 딥러닝' 카테고리의 다른 글
퍼셉트론(Perceptron) (2) (0) | 2020.01.04 |
---|---|
퍼셉트론(Perceptron) (1) (0) | 2020.01.04 |
최소자승법과 직교투영 (0) | 2019.12.31 |
다원 일차 연립방정식 (0) | 2019.12.31 |
CVXPY를 사용한 최적화 문제 풀기 (2) (0) | 2019.12.31 |