1. Classifiaction: 분류
- 분류란 주어진 input data (X)를 분류하고자 하는 target value (y)에 할당하는 방법을 의미한다.
- input data는 일반적으로 벡터 형태이며, target value는 스칼라 값이다.
- 모델을 통해 0 혹은 1로 분류하는 것을 binary classification 이진분류라고 부른다.
- 분류는 지도학습 문제이다.
1-1. Linear Classifier
$ y=Wx+b $ 로 표시되는 선형 함수로 데이터를 분류하는 모델.
이는 하나의 선형식으로 이루어진 선, 평면, 초평면을 이용하여 두 개의 클래스를 분류하는 것을 말한다.
linear classifier로 학습을 했다는 것은 데이터를 잘 나누는 적절한 파라미터 $ W $와 $ b $를 찾았다는 것이고 이 선형식으로 이루어진 것을 `decision boundary`라고 한다.
선형식 $ \bf{y=Wx+b} $ 를 풀어서 작성하면 $ \bf{h(x)= w_1*x_1 + w_2*x_2 +...+ w_n*x_n+b} $이다.
이때 각 $ x $는 feature vector이며, $ h(x) $ 는 output이다.
처음에 랜덤으로 세팅된 파라미터 $ w $를 가지고 하나의 데이터에 대해 $ h(x) $ 값을 계산하고 계산된 $ h(x) $값이 0보다 크거나 같다면 1을, 아니라면 0을 predicted value로 출력한다. 이후 분류에 대한 오차를 시그모이드, 소프트맥스, 크로스엔트로피로 찾게 된다.
이때 0을 기준으로 하는 이유는, 선형식 위에 있는 점인 경우 계산결과가 0이기 때문에 0보다 크냐 작냐에 따라 선형식의 위냐 아래냐를 판단할 수 있기 때문이다.
1-2. Logistic regression
- 주어진 데이터 X를 통해서 사건의 발생 확률 y를 예측하는 모델.
- Linear regression을 분류 모델로써 확장한 모델. -> Linear regression 결과에 적당한 함수를 적용하여 ouput을 0과 1 사이의 값을 변환하여 카테고리가 나올 확률을 예측하는 문제로 변환하는 것이다.
- 회귀로 연속적인 결과를 시그모이드 함수로 표준화시켜서 특정값을 기준으로 분류하는 것
- 이 확률값은 예측값이 1이 될 확률을 의미하여, 변환된 output이 0.5를 넘기면 1로 예측하고, 그렇지 않다면 0으로 예측하는 분류 모델이 된다.
선형회귀를 이용하여 분류하지 않고, 로지스틱 회귀라는 방법을 쓰는 이유를 알아보자. 단순 분류 1/0을 선형으로 표현하게 되었을 때는 문제점이 발생한다. 아래와 같은 사건이 존재할 때 왼쪽의 선형회귀로는 제대로 분류할 수 없음을 볼 수 있다.
위와 같은 로지스틱 함수를 알아보자. 우선, 선형회귀와 같이 $ \bf{z= w_1*x_1 + w_2*x_2 +...+ w_n*x_n+b} $와 같이 각 특성과 가중치들을 이용하여 선형결합 식을 만든다.
여기서 `odds`에 대하여 잠깐 알아보면, odds는 실패확률 대비 성공확률의 비율을 나타낸다. $ \bf{odds= \frac {p}{1-p}} $로 나타낼 수 있다. 이때 p(확률)의 범위가 0~1이기 때문에 odds의 범위는 0~무한대가 되는데 우리는 실수전체에 대한 범위가 포함되어야 하기 때문에 odds에 자연로그함수를 취해주고 그것을 `로짓함수`라고 부른다. $ \bf{Logit(p)=log(\frac {p}{1-p})} $ 이 로짓함수는 실수전체 범위에서 정의가 된다. z에 대하여 정리하면 _시그모이드함수_라는 것이 정의된다.
시그모이드 함수란, $ \sigma(x) = \frac{1}{1 + e^{-x}} $이다. 이제 이 식에 z를 대입하여 얻은 결과 p가 0.5 이상이면 1로, 그렇지 않으면 0으로 분류하게 된다. 시그모이드 함수의 그래프는 아래와 같으며 시그모이드 함수의 출력값은 0~1 사이가 된다.
요약해 보자면 $ \bf{y= w_1*x_1 + w_2*x_2 +...+ w_n*x_n+b} $ 의 식에서 분류를 한다고 할 때 y는 0과 1을 가지고 우변은 실수전체의 범위를 가진다. 따라서 양변의 범위를 맞춰주기 위해서 좌변에 logit변환을 취해주는 것이다.
그러면 $ \bf{log(odds)=log(\frac {p}{1-p})= w_1*x_1 + w_2*x_2 +...+ w_n*x_n+b} $ 가되고 이를 정리하면 $ \bf{p= \frac {1}{1 + e^{-x}}}$ 이런 형태가 되는 것이다.
2. Regression: 회귀
회귀란, 주어진 input data(X)와 target value(y)의 관계를 찾는 방법이다.
머신러닝 모델이 관계식을 찾게되면 train data를 관계식에 대입하여 $\hat{y}$를 구하게 된다.
분류와 다르게 inference한 결과값 자체가 예측값이 된다.
회귀는 supervised learning이다.
대표적인 모델들로는 Linear Regression, Lasso, Ridge, RandomForest, XGBoost, LightGBM,Neural Network 등이 있으며 각각의 모델에 대해서는 따로 포스팅 하도록 하겠다.
'ML & DL > 개념정리' 카테고리의 다른 글
딥러닝 발전 단계 (0) | 2023.12.19 |
---|---|
Decision Tree:의사결정나무 (0) | 2023.12.13 |
Evaluation metric (평가 지표) (1) | 2023.12.11 |
부스팅(Boosting) 알고리즘 (0) | 2023.11.30 |
Clustering: 클러스터링 (0) | 2023.11.28 |