[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 #절편 업데이트