오늘은 이항분류와 다항분류에 대해 살펴보려고 한다.
먼저 이항분류 라고 하는 것을 살펴보자.
데이터 집단에 선을 하나 쫘악~그어서, 그 선을 기준으로, 데이터의 종류를 나누게 되는데, 주로 시그모이드 함수가 사용된다.
왼쪽 그림이 이항분류를 하게 될 데이터 집단(동그라미 집단, 세모 집단)이고, 오른쪽 그림이 시그모이드 함수를 나타낸다.
현재 예로 든 그림은 이차원이므로, 데이터 위치 표현을 위해 2개의 값을 필요로 한다. 이 2개의 값을 각각 (x1, x2)라고 하면, 중간의 분류 선은
f(x1, x2) = 0
으로 나타낼 수 있으며, 이 선에서 멀어질 수록 f(x1, x2) 값의 절대치는 증가 하게된다.
여기서 f(x1, x2) 값을 시그모이드 함수에 대입하게 되면, 선에서 좌측으로 무한이 멀어지면, 그 결과는 0에 접근하고, 우측으로 무한이 멀어지면 그 결과는 1에 접근하게 된다. 즉, f(x1, x2)를 시그모이드 함수에 대입하여, 위치 (x1, x2)에 따른 동그라미일 확률과, 세모일 확률을 도출할 수 있게 하는 것이 이항분류이다.
그렇다면 다항분류란 무엇인가?
간단하다, 선을 여러개 긋는 것이다.
f1(x1, x2), f2(x1, x2)........, fk(x1, x2) = 0
이렇게 선을 여러개 그으면, 여러개의 구역 데이터들을 나눠서 생각해 볼 수 있게 되는데... 이항분류 보다는 조금 더 복잡하게 생각해 봐야한다.
단순히 시그모이드 함수에 fi(x1, x2)를 대입해서 확률을 구하는 것이 아닌, Softmax 라는 (자연수 e)^(선과의 거리) 의 비를 이용한 함수를 사용하게 된다.
(x1, x2 이차원 입력에 대한 softmax 함수)
다음이 위의 데이터와 구분선 fi(x1, x2)으로부터 구해진 Softmax 함수의 결과 값이다. 각 데이터 분포에 있어서, 각각 높은 확률의 P1, P2, P3가 도출되는 것을 확인할 수 있다.
Softmax 함수는 함수 f의 개수 k 에 해당하는 분류에 대한 확률을 표현하게 되는데, 다음과 같은 조건을 가지고 있다.
1) 각 확률 Pi는 0~1 사이의 확률을 가진다.
2) 모든 점 (x1, x2) 에서 Pi들의 합 P1+P2+...+Pk = 1이다. 즉, k개 이외의 분류를 가질 확률은 없다.
3) fi(x1, x2) 가 fj(x1, x2) 보다 크다면, Pi(x1, x2) 는 Pj(x1, x2) 보다 커야 한다.
위의 조건 1), 2)는 금방 이해가 되는데, 3)은 조금 생각해야한다.
즉, 3) 조건은 fi(x1, x2) 중에서 가장 큰 값을 가지는 fk(x1, x2)의 확률 Pk(x1, x2)가 가장 높은 확률을 지녀야 한다는 뜻이다.
이렇게, 이항분류와 다항분류 소프트맥스 함수까지를 살펴보았다. 이항분류는 분류 선과 시그모이드 함수를 통해 확률을 나타내고, 다항분류는 분류 선과 소프트맥스 함수를 통해 확률을 나타내게 된다.
여담)
소프트맥스 함수를 익힌 후, 이항분포의 시그모이드 함수를 보면, 소프트맥스 함수의 부분집합임을 알 수 있다. 소프트맥스 함수의 k를 2로 지정하고 함수를 보면 다음과 같이 표시할 수 있는데
두 함수 중
로 설정하면
로 나타낼 수 있고, 이는 시그모이드 함수에 해당된다.
f2는 x1, x2에 상관없이 기준면(z축이 항상 0)을 나타내므로, f1이 기준면보다 낮으면(0보다 작으면) P1은 0.5보다 낮고, 높으면 0.5보다 높은 시그모이드 함수의 특성을 나타내게 된다.
'공부 > 인공지능' 카테고리의 다른 글
[인공지능] 인공신경망이 갖는 의미 고찰 (0) | 2018.11.21 |
---|---|
[소개] DeepMimic - 사람처럼 움직이도록 학습하기 (0) | 2018.10.01 |
[인공지능] 강화학습 맛보기 (1) | 2018.06.06 |
[인공지능] 인공지능의 한계점과 진화방향에 대한 고찰 (0) | 2017.10.18 |
[고찰] mini batch (0) | 2017.05.22 |
댓글