목록인공지능 (30)
59doit

선형 회귀를 위한 뉴런 (파이썬클래스) # 1. 뉴런 클래스 만들기 class Neuron : def __init__(self): # 초기화 작업 수행 ... # 필요한 메서드 추가 ... ▶ 우선, 생성자에서 필요한 변수를 선언하고 초기화한다. # 2. 생성자 ( __init__()매서드 작성) def __init__(self) : self.w = 1.0 self.b = 1.0 ▶ 가중치 w, 절편 b 임의 지정 여기서 1.0은 임의로 선정한 수이다. 다른 수여도 아무런 문제가 없다. # 3. 정방향 계산 만들기 _ (예측값을 계산하는 과정 = 기울기와 절편을 예측) def forpass(self, x) : y_hat = x * self.w + self.b # 직선방정식 = 1차방정식 return y_..

손실함수와 경사하강법의 관계 손실 함수란? 손실 함수는 쉽게 말해 예상한 값과 실제 타깃 값의 차이를 함수로 정의한 것이다 제곱 오차? 제곱 오차는 타깃값과 예측값을 뺀 다음 제곱한 것이다. SE = (y - y_hat)^2 제곱 오차가 최소가 되면 산점도 그래프를 가장 잘 표현한 직선이 그려진다. 제곱 오차 함수의 최솟값을 알아내려면 기울기에 따라 함수의 값이 낮은 쪽으로 이동해야한다. 기울기를 구하려면 제곱 오차를 가중치나 절편에 대해 미분하면 된다.

경사하강법 훈련데이터 -> (x : 입력데이터, y : 타킷데이터) y = ax + b (a : 기울기, b : 절편) y_hat : 예측값 y_hat = wx + b (w : 가중치, b : 절편) 모델이 데이터를 잘 표현할 수 있도록 기울기를 사용하여 모델을 조정하는 최적화 알고리즘 즉 w와 b를 찾기 위한 방법 # 1. 훈련데이터 준비하기 x = diabetes.data[:,2] # 세번째 특성만 뽑아내기 y = diabetes.target # 2. 훈련데이터의 첫번재 샘플로 y_hat 구하기 # (2-1) w, b 무작위로 정하기 w = 1.0 b = 1.0 # (2-2) x[0] 에 대한 y_hat 구하기 y_hat = x[0]*w + b # 3. 타깃과 예측 데이터 비교하기 print(y_ha..

딥러닝의 기초가 되는 머신러닝 알고리즘들을 직접 만들기 선형회귀 선형 회귀는 특정 데이터를 모아 놓고 이에 맞는 함수를 찾아내는 과정이다. 즉 절편과 기울기를 찾는것 이다. ex) 당뇨병 데이터로 실습하기 from sklearn.datasets import load_diabetes diabetes = load_diabetes() ▶ scikit-learn 설치 사이킷런의 데이터 세트 중 당뇨병 환자이 데이터 세트를 사용한다. 사이킷런의 datasets모듈에 있는 loadd_diabetes 함수를 매개변수 값을 넣지 않은 채 함수로 호출하면 diabetes에 당뇨병 데이터가 저장된다. diabetes.data diabetes.target numpy 배열로 입력데이터와 타킷데이터가 저장되어 있다. diabe..