1 minute read

1. Logistic regression

1.1 Logistic regression에 대한 설명

image

Logistic regression의 출발은 이와 같은 \(H(X) = WX \) linaer한 Hypothesis를 가지고 시작했습니다.

  • 이 가설의 return 값은 실수값이기 때문에 binary classification의 목적에 맞지 않았습니다. (0인지 1인지를 고르는)
  • 그래서 이 가설을 z로 놓고 g라는 함수로 z의 값을 0 ~ 1사이가 나오도록 하는 것을 목표로 두었습니다.

image

그래서 g(z)에 대한 함수를 만들어 냈습니다. 이 함수는 시그모이드 또는 로지스틱이라고 부르기도 합니다. \[g(z) = \frac{1}{1+e^{-z}} \]


수식이 많아질수록 복잡해지므로 이것을 간단하게 그림으로 나타내면 다음과 같습니다. image

  • x라는 입력이 있고, 계산하는 유닛이 w를 가지고 계산을 합니다. 여기서는 우리는 WX라는 간단한 계산을 합니다.
  • 그런 다음 나오는 출력값 z가 나오고, z값(실수값)을 시그모이드 함수에 통과시킨 다음에 나오는 출력값은 0~1 사이의 값이다.
  • 통상적으로 나오는 값을 Y의 hat이라고 합니다. 실제 y는 학습데이터에서 가지고 있는 realdata이기 때문에 예측값과 구분하기 위해 \(\bar{y} \)으로 둡니다.

위의 그림에 대한 추가필기 image


1.2. Logistic regression의 역할

image

x의 값을 x1, x2 두 가지를 가지고 있다. 그리고 분류해야 할 데이터가 네모와 X표가 있습니다.

  • 이 W를 학습시킨다. 즉, Logistic classification을 학습시킨다는 말은 데이터의 종류 2가지를 구분하는 선을 찾아내는 것입니다. 현재는 2차원이지만 다차원 데이터의 기준으로 하이퍼플레인(hyper plane)이라고도 불립니다.

2. Multinomial classification

image

여러 개의 분류될 클래스가 있는것이다.

image

binary classification 개념만 사용하고도 Multinomial classification을 만들 수 있다.

  • C이거나 C가 아닌 선을 찾는다.
  • B거나 B가 아닌 선을 찾는다.
  • A거나 A가 아닌 선을 찾는다.

이런 식으로 3개의 각각 다른 binary classification을 가지고도 구현이 가능합니다.

image

x가 있고, 어떤 처리를 해서 \(\bar{y} \)이 나온다고 가정을 합시다.

  • 첫 번째 그림에서는 (그래프 그림에선 3번째) A인지 아닌지만 확인하는 classifier입니다.
  • 똑같은걸 3개 가지면 되는데 x가 주어지고 A, B, C 각각에 대해 classifier가 있으면 됩니다.
  • 3개의 독립된 classifier들을 가지고 Multinomial classification이 구현이 가능합니다.

image

image

이 classifier들을 구현할 때는 실제로는 행렬을 사용합니다.

3개의 독립적인 벡터를 가지고 계산을 해내면 되는겁니다. 그런데, 독립적으로 계산하면 복잡합니다. 그래서 이것을 하나로 합치게 됩니다.

image

그러면 이런 형태의 행렬 모양이 됩니다. 위의 식대로 행렬곱을 진행하게 되면 다음처럼 결과가 나오게 됩니다. image

image 이 값들이 우리가 원했던 가설의 값(prediction 값)이 나오게 됩니다.

  • \(\bar{y_A} \) = \(H_{A}(X) \)
  • etc..

위처럼 3개의 독립된 classification을 구해도 되지만, 하나의 벡터로 처리를 하게 되면 한 번에 계산이 가능합니다. 그리고 독립된 classification처럼 동작하게 됩니다. 그리고 \(\bar{y} \)로 나오게 된 값은 실수로 나오게 때문에 각각을 sigmoid로 처리해야합니다. 하지만, 이를 간단히 하기 위해 다음 강의에서 배울 softmax에 대해서 배우게 됩니다.