딥러닝:이진분류

학교의 모든 지식. SMwiki
Sam (토론 | 기여)님의 2020년 10월 21일 (수) 09:48 판 (Sam님이 딥러닝이론:이진분류 문서를 딥러닝:이진분류 문서로 이동했습니다)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
둘러보기로 이동 검색으로 이동

틀:딥러닝이론 딥러닝을 위한 자료. 이론에 대해 다룬다.

  1. 딥러닝:개요
  2. 딥러닝:수치예측
  3. 딥러닝:이진분류
  4. 딥러닝:손글씨 분류
  5. 딥러닝:퍼셉트론
  6. 딥러닝:순환 신경망

개요[편집 | 원본 편집]

맞느냐 아니냐 2가지의 분류.

역사[편집 | 원본 편집]

퍼셉트론>아달린>로지스틱회귀[1]

여러 유닛 사용하기. 위에서 본 것은 1차방정식에 대한 가중치만 보았지만... 입력값이 여러개일 때가 있다.

그런 경우엔 y=w_1*x_1 + w_2*x_2 + ...+b 형태로 다양한 입력값을 받아 예상하는 함수를 만들 수 있다. 그리고 뉴런은 이러한 입력값들을 받아 신호를 보내거나, 그렇지 않거나.. 두 가지로만 반응한다. 이렇게 여러 가지 입력을 받는 것은 성공. 그러나, 함수의 형태가 1차방정식(선형)의 형태다. x^2, x^n 형태로 반응할 때에 대해선 대응할 수가 없다. 그래서 이 방정식에 더해 활성화 함수라는 것을 사용한다. 선형방정식만 표현되는 한계를 극복하기 위해 활성화함수는 비선형 방정식을 사용하고, 모든 x^n 형태에 대해 포함하기 위해서 e^x 꼴의 함수를 사용한다. 일반적으로 로지스틱 회귀에선 [1/(1+e^-z)] 형태의 시그모이드 함수를 사용한다.

게다가, 0과 1만 판단하는 함수에서 얼마나 잘 예측하여 정답을 얻은 것인지 판단할 재료가 필요하다. 예측을 얼마나 가깝게 했는지에 따라 학습의 정도를 달리해야 하기 때문에. 또한, 시그모이드함수를 사용하면 0~1 사이의 값을 얻어 예측확률이라 해석할 수도 있다.

시그모이드 함수[편집 | 원본 편집]

시그모이드함수가 만들어지기까지..

오즈비[편집 | 원본 편집]

성공과 실패의 비율을 나타낸 것. 성공확률/(1-성공확률) 의 식이다.

로짓함수[편집 | 원본 편집]

오즈비는 성공확률이 0.9가 되면 급격하게 커진다. 때문에 여기에 자연로그를 취해보는데, 이를 로짓함수라 한다. 성공확률이 0.5일 때 0이 되고, 0, 1일 땐 각각 무한대로 커진다.

로지스틱 함수[편집 | 원본 편집]

로짓함수=z 라 하고, 이를 성공확률에 대해서 정리하면 성공확률은=1/(1+e^-z) 의 관계가 얻어진다. 따라서 이를 성공확률로 해석한다. 그리고 이 모양이 s자 형태가 되는데, 이 모양으로부터 시그모이드 함수라고도 부르게 되었다.

학습은 로지스틱함수의 결과값으로 이루어진다.

이진분류가 목표였기 때문에 -무한~+무한 사이의 값을 통제할 방법이 필요했고, 로지스틱 함수가 조건에 잘 들어맞았다. 그리고 이 값이 0.5보다 크면 1, 작다면 0으로 처리해 이진분류를 할 수 있게 되었다.

이제 손실함수에 대해 정의해야 한다. 다중분류를 위한 크로스엔트로피 손실함수를 이진분류버전으로 개량하여 사용하고 있다. 이 함수를 변형하여 실제 정답에 따라 학습시킨다. 정답이 1인 경우 -ln(활성화함수의 출력값), 정답이 0인 경우, -ln(1-활성화함수의 출력값)

손실함수의 미분은 87에 안내. 가중치와 절편 업데이트는 91페이지에.

  1. Do it! 정직하게 코딩하며 배우는 딥러닝 입문. 77p