minhui study

04. 분류하는 뉴런 만들기 - 이진 분류(1)(2) 본문

딥러닝,인공지능/Do it! 딥러닝입문

04. 분류하는 뉴런 만들기 - 이진 분류(1)(2)

minhui 2021. 4. 4. 15:41

04-1. 초기 인공지능 알고리즘과 로지스틱 회귀

이진분류

→ 임의의 샘플 데이터를 True나 False로 구분하는 문제를 말한다.

(1) 퍼셉트론

퍼셉트론은 선형 회귀와 유사한 구조를 가지고 있지만 마지막 단계에서 샘플을 이진 분류하기 위하여 계단 함수를 사용한다는 점이 다르다. 그리고 계단 함수를 통과한 값을 다시 가중치와 절편을 업데이타하는데 사용한다.

 

다음 수식에 의해 z를 만든다. 이를 '선형 함수'라고 부른다.

계단 함수는 z가 0보다 크면 1로, 0보다 작으면 -1로 분류한다.

즉, 퍼셉트론은 계단 함수의 결과를 사용하여 가중치와 절편을 업데이트한다.

계단 함수 그래프

앞에 3장에서는 특성을 1개(왼쪽그림)만 사용했는데 특성이 2개인 경우(오른쪽 그림) 선형 함수는 다음과 같다.

 

 

(2) 아달린

아달린의 경우 선형 함수 다움에 나온 값 z를 가지고 학습한다. 즉, 역방향 계산이 계단함수 출력 이후에 일어나지 않고 선형 함수 출력 이후에 진행된다.

 

 

 

(3) 로지스틱 회귀

  • 로지스틱 회귀는 선형 함수를 통과시켜 얻은 z를 임계 함수(계단 함수)에 보내기 전에 변형시키는데 바로 이런 함수를 '활성화 함수(activation function)'라고 부른다. 이 활성화 함수를 통과하여 얻은 값을 a라고 한다.
  • 로지스틱 회귀는 마지막 단계에서 임계 함수를 사용하여 예측을 수행한다. 
  • 임계 함수는 아달린이나 퍼셉트론의 계단 함수와 역할 비슷하지만 활성화 함수의 출력값을 사용한다는 점이 다르다.


▶ 활성화 함수는 비선형 함수를 사용한다.

비선형 함수의 한 예

→ 왜 활성화 함수는 비성형 함수를 사용할까? 

  : 만약 활성화 함수가 y = ka라고 한다면 선형 함수와 활성화 함수를 쌓은 수식은 다음과 같으므로 임계 함수 앞에 뉴런은 여러 개 쌓아도 결국 선형 함수일 것이므로 별 의미가 없다. 따라서 활성화 함수는 의무적으로 비선형 함수를 사용한다. 

  * 여기서 로지스틱 회귀에서 사용하는 활성화 함수가 바로 '시그모이드 함수'이다.

 

 

 

04-2. 시그모이드 함수로 확률를 만들자

시그모이드 함수의 역할

로지스틱 회귀의 전체 구조

가장 왼쪽이 있는 뉴런이 선형 함수이고 선형 함수의 출력값 z는 다음과 같다.

그리고 이 출력값 z가 활성화 함수를 통과하게 되면 a가 나오게 된다. 이때 로지스틱 회귀에서 사용하는 활성화 함수인 시그모이드 함수는 z를 0~1 사이의 확률값으로 변환시켜주는 역할을 한다.

* 확률은 보통 a가 0.5(50%)보다 크면 양성 클래스, 그 이하이면 음성 클래스라고 구분한다.

 

 

시그모이드 함수가 만들어지는 과정

오즈 비 > 로직 함수 > 시그모이드 함수

오즈 비(odds ratio)란?

  : 시그모이드 함수는 오즈 비라는 통계를 기반으로 만들어지며 오즈 비는 성공 확률과 실패 확률의 비율을 나타내는 통계이며 다음과 같이 정의한다.

다음 그래프와 같이 p(성공 확률)이 0부터 1까지 증가할 때 오즈 비의 값은 처음에는 천천히 증가하지만 p가 1에 가까워지면 급격히 증가한다.

▷ 로짓 함수란?

: 오즈 비에 로그 함수를 취하여 만든 함수로 로짓 함수의 식은 다음과 같다.

로짓 함수의 그래프

로짓 함수는 p가 0.5일 때 0이 되고 p가 0과 1일 때 각각 무한대로 음수와 양수가 되는 특징을 가진다.

로짓 함수의 세로 축을 z로, 가로 축을 p로 놓으면 확률 p가 0에서 1까지 변할 때 z가 매우 큰 음수에서 매우 큰 양수까지 변하는 것으로 생각할 수 있다. 위 식을 다시 z에 대하여 정리하면 다음의 식이 되고, 이 식을 로지스틱 함수라고 부른다.

( z에 대해 정리하는 이유는 가로 축을 z로 놓기 위해서이다.)

로지스틱 함수를 그래프로 그려보면 로짓 함수의 가로와 세로 축을 반대로 뒤집어 놓은 모양 S자 형태를 띄게 된다.

이 모양에서 착안하여 로지스틱 함수를 시그모이드 함수라고도 부른다.

 

 

로지스틱 회귀 중간 정리

  • 로지스틱 회귀는 이진 분류가 목표이므로 음수무한 부터 양수무한의 범위를 가지는 z의 값을 조절할 방법이 필요했다.
  • 시그모이드 함수를 통과하면 z값이 0과 1 사이 값으로 확률처럼 해석할 수 있기 때문에 시그모이드 함수를 활성화 함수로 사용했던 것이다.
  • 그리고 시그모이드 함수의 확률인 a를 0과 1로 구분하기 위하여 마지막에 임계 함수를 사용했다.
  • 결과적으로 입력 데이터 x는 0 또는 1의 값으로 나누어지게 되는 것이다. 즉, 이진 분류가 이루어진 것이다. 

 

* 이제 '이진 분류를 하기 위한 알고리즘'을 알게 되었다. 하지만 아직 가중치와 절편을 적절하게 업데이트할 수 있는 방법에 대해 공부해보지 않았다. 즉, 로지스틱 회귀에는 어떤 손실 함수를 사용해야 할지 로지스틱 회귀를 위한 손실 함수에 대해 알아보자 

 

 


< 참고 자료 >

Do it! 딥러닝 입문 - 박해선 지음

Comments