Minibatch Gradient Descent 복잡한 머신러닝 모델을 학습하려면 엄청난 양의 데이터가 필요 대부분 데이터셋은 적어도 수십만개의 데이터를 제공 많은 양의 데이터를 한번에 학습시킬 수 없음 너무 느리거나 하드웨어적으로 불가능 일부분의 데이터만 갖고 학습하면됨! (이미지 출처: boostcourse ai tech pre course) 한번의 업데이트마다 계산할 코스트의 양은 줄어들고 업데이트의 주기가 빨라짐 모델이 코스트를 계산할 때 전체데이터를 쓰지 않기 때문에 모델이 가끔 잘못된 방향으로 학습할 수 있기 때문에 거칠게 줄어든다 (이미지 출처: boostcourse ai tech pre course) Pytorch Dataset import torch import torch.nn as nn..
Hypothesis 인공신경망을 나타냄 EX) Linear Regression W와 b라는 변수를 학습해서 주어진 데이터에 최적화함 (이미지출처: boostcourse ai tech pre course) Simpler Hypothesis Function 이번엔 Bias를 제거한 H(x) = Wx 로 실험해보자 아래와 같은 데이터가 존재할 때 Hour(x) Points(y) 1 1 2 2 3 3 (이미지출처: boostcourse ai tech pre course) CostFunction: 모델의 예측값이 실제값과 얼마나 다른지 나타냄, 좋은모델일수록 낮은값을 가짐 Linear Regression에서 사용되는 Costfunction은 MSE(Mean Squared Error)를 사용 CostFunction..
예제 공부시간에 따른 점수데이터가 아래와 같이 존재할 때 4시간 공부했을 경우 점수를 예측해보자 시간 점수 1 2 2 4 3 6 4 ??? Hypothesis(가설) y = Wx + b x_train = torch.FloatTensor([[1],[2],[3]]) y_train = torch.FloatTensor([[4],[5],[6]]) W = torch.zeros(1, requires_grad=True) b = torch.zeros(1, requires_grad=True) hypothesis = x_train * W + b weight와 bias를 0으로 초기화 항상 출력 0을 예측 requires_grad = True 학습할 것이라고 명시 Compute Loss MSE를 사용 (이미지출처: boost..
matplotlib pyplot 객체를 사용하여 데이터를 표시 pyplot 객체에 그래프를 쌓은 다음 show로 flush argument를 kwargs로 받기 때문에 alt+tab으로 확인이 어려움 그렇기때문에 메뉴얼을봄 import matplotlib.pyplot as plt X = range(100) Y = [value**2 for value in X] plt.plot(X,Y) plt.show() #color code #linestyle #title #legend - label X1 = range(100) Y1 = [value**2 for value in X] X = range(100) Y = [value+5 for value in X] plt.plot(X,Y, color="r", linestyle..
모수 통계적 모델링은 적절한 가정 위에서 확률분포를 추정(inference)하는 것이 목표이며 기계학습과 통계학이 공통적으로 추구하는 목표 그러나 유안한 개수의 데이터만 관찰해서 모집단의 분포를 정확하게 알아낸다는 것은 불가능하므로, 근사적으로 확률 분포를 추정할 수 밖에없음 예측모형의 목적은 분포를 정확하게 맞추는 것보다는 데이터와 추정방법의 불확실성을 고려해서 위험을 최소화하는 것 데이터가 특정 확률분포를 따른다고 선험적으로(a priori) 가정한 후 그 분포를 결정하는 모수(parameter)를 추정하는 방법을 모수적(par 방법론이라고함 정규분포의 확률분포를 모델링한다면 정규분포의 모수로는 평균,분산이 있음, 평균과 분산을 추정하는 방법을 통해서 데이터를 학습하는 방법을 모수적 방법이라함 특정 ..