SimpleRNN 텐서플로에서 가장 기본적인 순환층은 SimpleRNN 클래스이다. 다음과 같이 만들 수 있다. 필요한 클래스 임포트하기 from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, SimpleRNN 모델 만들기 model = Sequential() model.add(SimpleRNN(32, input_shape=(100, 100))) model.add(Dense(1, activation='sigmoid')) model.summary() 입력은 원-핫 인코딩 된 100차원 벡터이고 셀 개수가 32개이므로 W_1x 행렬 요소의 개수는 100 x 32가 된다. W_1h 행렬의 요소 개수도 32..
이진 분류
시그모이드 역할 z = b + ∑ w_i x_i로 표현할 수 있다. z는 활성화 함수를 통과하여 a가 된다. 이때 시그모이드 함수는 z를 0~1 사이의 확률 값으로 변환시켜준다. 시그모이드 함수는 오즈비 → 로짓 함수 → 시그모이드 함수를 거쳐 탄생한다. 오즈비 오즈 비는 성공확률과 실패 확률의 비율을 나타내는 통계이다. 오즈 비를 그래프로 그리면 다음과 같다. 성공 확률이 0부터 1까지 증가할 때 오즈 비의 값은 처음에는 천천히 증가하지만 1에 가까워지면 급격히 증가한다. 로짓 함수 오즈 비에 로그 함수를 취하여 만든 함수를 로짓 함수라고 한다. 로짓 함수는 p가 0.5일 때 0 이되고 p가 0과 1일 때 각각 무한대로 음수와 양수가 된다. 이제부터 logit(p)를 z라 하자 로지스틱 함수 위 식을 ..
로지스틱 회귀를 제대로 이해하기 위해서는 먼저 알아볼 개념이 몇 가지 있다. 그중 하나는 퍼셉트론이다. 퍼셉트론이란? 1957년 코넬 항공 연구소의 프랑크 로젠블라트는 이진 분류 문제에서 최적의 가중치를 학습하는 알고리즘을 발표했다 이것이 퍼셉트론이다. 선형 회귀와 유사하게 직선 방정식을 사용한다. 하지만 퍼셉트론은 마지막 단 게에서 샘플을 이진 분류하기 위하여 계단 함수를 사용한다. 계단 함수를 통과한 값을 다시 가중치와 절편을 업데이트하는 데 사용한다. 위 구조를 방정식으로 표현하면 w1x1 + w2x2 + b = z이다. z가 0보다 크거나 같으면 1로, 0보다 작으면 -1로 분류한다. 이때 1로 분류되는 걸 양성 클래스, -1을 음성 클래스라고 한다. 아달린 퍼셉트론에서 조금 더 개선한 적응형 선..