deffit(self, x, y, epochs=100)for i inrange(epochs):# 에포크만큼 반복합니다.for x_i, y_i inzip(x,y):# 모든 샘플에 대해 반복
y_hat = self.forpass(x_i)# 정방향 계산
err =-(y_i - y_hat)# 오차 계산
w_grad, b_grad = self.backprop(x_i, err)# 역방향 계산
self.w -= w_grad # 가중치 업데이트
self.b -= b_grad # 절편 업데이트
로지스틱 회귀
: 분류 알고리즘
모델 ( y=wx+b) → 활성화 함수(시그모이드) → 임계함수(계단) → 결과
아달린
버나드 위드로우 & 테드 호프 적응형 선형 뉴런 발표
시그모이드 함수
odds ratio(오즈) : 1−pp(p=성공확률)
logit (로짓함수): log(1−pp)=log(오즈)
시그모이드 함수 : 1+e−z1
로지스틱 손실 함수
( 이진 크로스 엔트로피 | 로지스틱 손실 함수 )두가지 사용
L=−(ylog(a)+(1−y)log(1−a))
로지스틱 손실함수를 미분
L을 a에 대해 미분
a를 z에 대해 미분
z를 w에 대해 미분
= ∂wi∂L=∂a∂L∂z∂a∂wi∂z=−(y−a)xi
※ 우리는 이걸 체인 룰(Chain Rule)이라고 하기로 했어요.
경사하강법의 종류
확률적 경사하강법 : 1개의 샘플을 중복되지 않도록 무작위 선택
미니배치 경사하강법 : 전체 샘플 중 몇개의 샘플을 중복되지 않도록 무작위 선택
배치 경사 하강법 : 전체 샘플을 모두 선택 → 그레이디언트 계산 (에포크)
훈련 노하우
학습률이 높을때 : 가중치의 변화가 커서 전역 최솟값을 지나칠 수 있다.
학습률이 적절할때 : 가중치의 변화가 안정적이므로 전역 최솟값에 잘 도착한다.
학습률이 낮을때 : 최솟값에 수렴하기까지 걸리는 시간이 오래걸린다. 로컬 미니멈에 빠질 수 있다.