[Do it! 딥러닝 입문] 3장 4절 "선형 회귀를 위한 뉴런 만들기"
2022. 7. 15. 16:59ㆍ인공지능,딥러닝,머신러닝 기초
1. __init__()메서드 작성하기
- self : 객체 자기자신
-> n=Neuron () -> n.__init__ 호출하면 n을 참조해서 __init__함수 내부 사용가능
- 예측값 계산
- 역방향 계산(가중치 업데이트)
-----------------------------------------------------------------------------------
<전체 코드>
class Neuron:
def __init__(self):
#초기화 작업 수행
self.w = 1.0
self.b = 1.0
# 정방향 계산 만들기 = 예측값 계산 만들기
def forpass(self, x):
y_hat = x*self.w + self.b
return y_hat
#역방향 계산 만들기
def backprop(self,x,err):
w_grad = x*err
b_grad = 1*errr
return w_grad,b_grad
#훈련을 위한fit() 메서드 구현
def fit(self, x, y, epochs=100):
for i in range(epochs):
for x_i,y_i in zip(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.w = self.w-w_grad
self.b -= b_grad #절편 업데이트
'인공지능,딥러닝,머신러닝 기초' 카테고리의 다른 글
[Do it! 딥러닝 입문] 4장 1절~2절 로지스틱 회귀와 시그모이드 함수 (0) | 2022.07.17 |
---|---|
머신러닝 스태킹 앙상블(stacking ensemble)이란? _ CV(Kfold) (0) | 2022.07.16 |
[Do it!딥러닝 입문] 경사 하강법( Gradient descent ) (0) | 2022.07.14 |
[Do it!딥러닝 입문] 선형 회귀(linear regression) (0) | 2022.07.14 |
다중 분류 모델 성능 측정 방법 (0) | 2022.03.01 |