2020. 3. 19. 02:41ㆍAI (인공지능)
현재 밑바닥부터 시작하는 딥러닝이라는 책을 읽으면서 나온 공식들을 복습하는 겸 글을 써보겠습니다.
파이썬 기본 상식:
a ** b : a를 b제곱으로 하겠다는 의미. pow랑 같은의미
numpy : 배열형태로 사용할 수 있는 라이브러리
numpy.sum : 모든 배열 요소의 합을 반환해주는 함수
numpy.max : 모든 배열 요소중 가장 큰 수를 반환해주는 함수
numpy.log : 모든 배열 요소를 자연상수 e의 로그함수로 반환해주는 함수
numpy.exp : 모든 배열 요소를 자연상수 e의 지수함수로 변환해주는 함수
numpy는 기본적으로 배열형태지만 인덱스를 주지 않고 계산을 했을 떄 모든 요소를 도는 규칙(?)이 있다.
softMax(numpy value)
C = numpy.max(value)
numpy exp_a = numpy.exp(value -C) (모든 배열 요소 돎)
sum_exp_a = numpy.sum(exp_a)
numpy y = exp_a / sum_exp_a (모든 exp_a 배열 요소들을 돎)
return y
반환되는 수의 가장 낮은 수는 0에 가깝고 수들의 합은 1이니 확률처럼 쓸 수 있는 함수입니다.
sum_squares_error(numpy y, numpy t)
return 0.5 * numpy.sum((y-t)**2)
반환되는 값이 작을 수록 답에 가깝고 값이 클수록 오답에 해당되는 함수입니다.
cross_entropy_error(numpy y, numpy t)
delta = 1e-7 (오류가 되지 않기 위해 사용되는 변수)
return -(numpy.sum(t * numpy.log(y+delta))
이 역시 반환되는 값이 작을 수록 답에 가깝고 값이 클수록 오답에 해당되는 함수입니다.