본문 바로가기

CS(Computer Science)/인공지능9

5. 뉴런 생성 & 시그모이드 함수 뉴런 생성 by Class from sklearn.datasets import load_diabetes import matplotlib.pyplot as plt diabetes = load_diabetes() x = diabetes.data[:,2] y = diabetes.target 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 *err return w_grad, b_grad def fit(self, x, y, epochs=100): f.. 2023. 3. 18.
4. 경사하강법 Gradient Descent - 가장 일반적인 최적화 알고리즘 중에 하나 - 함수의 최소값을 찾기 위한 방법 - 현재 위치에서의 기울기 (gradient)를 구하고, 그 기울기가 가리키는 방향으로 이동하여 함수의 최소값을 찾음 1) 초기값 설정 : 가중치(weight)나 편향(bias)과 같은 모델의 매개변수를 초기값으로 설정 2) 기울기 계산 : 초기값으로 설정된 매개변수에서의 함수의 기울기(gradient) 계산 / 기울기 방향, 크기 알수 있음 3) 매개변수 업데이트 : 함수의 기울기 방향으로 매개변수를 업데이트 / 학습률(learning rate)라는 하이퍼 파리미터에 따라 업데이트 양이 결정된다 4) 종료조건 확인 : 일정한 반복 횟수나, 기울기의 크기가 충분히 작아졌을 때, 최적화 종료 5).. 2023. 3. 18.
3. 선형 회귀 Linear Regression => 입력변수와 출력변수 간의 선형관계를 모델링하는 지도 학습 알고리즘 입력변수 x와 출력변수 y간의 선형 관계를 모델링한다. ex) y = w0 + w1 * x1 + w2 * x2 + ... + wn * xn w0, w1, w2, ... wn : 모델의 가중치(weight) => 학습 데이터를 통해 추정 오차 제곱합(SSE: Sum of Squared Errors)을 최소화하는 가중치를 찾는 최소제곱법(Least Squares Method)를 사용한다 일부의 경우, 경사 하강법(Gradient Descent) 나 정규 방정식 (Normal Equation)를 사용한다 장점 - 모델이 매우 단순하며, 이해하기 쉽다 - 모델의 결과를 해석하기 쉽다 - 입력변수와 출력변수 간.. 2023. 3. 18.
2. 딥러닝을 위한 도구 matplotlib 라이브러리 => 여러가지 그래프를 그려주는 함수들이 들어있는 라이브러리 import matplotlib.pyplot as plt Ex) import matplotlib.pyplot as plt years = [1950, 1960, 1970, 1980, 1990 , 2000, 2010] gdp = [67, 80, 257, 1686, 6505, 11865, 22105] plt.plot(years, gdp) => 선 그래프를 그린다 (x축 : years, y축 : gdp) plt.title(' GDP per capita') => 제목을 설정한다 plt.ylabel('dollars') => y축에 레이블 달기 plt.xlabel('year') => x축에 레이블 달기 plt.savefig('.. 2023. 3. 18.
728x90