목록Python (52)
now is better than never
4-2) Loading Data 복잡한 머신러닝 모델을 학습하려면 엄청난 양의 데이터가 필요 대부분 데이터셋은 수 십만 개의 데이터 제공 엄청난 양의 데이터를 한번에 학습시킬 수는 없음 너무 느리고, 하드웨어 과부하 -> 일부분의 데이터만 학습 - Minibatch Gradient Descent 전체 데이터를 균일하게 나눠서 학습 컴퓨터가 모든 데이터의 cost를 계산하지 않고 각 미니배치의 cost만 계산 후 gradient descent 실행 업데이트마다 계산할 cost 양이 적기 때문에 업데이트 주기가 짧아짐 전체 데이터를 쓰지 않기 때문에 잘못된 방향으로 업데이트 할 수도 있음 - PyTorch Dataset torch.utils.data.Dataset 상속 구현해야 하는 method __len_..
4-1) Multivariable Linear Regression (다항 선형 회귀) - Mulivariable Linear Regression 여러 개의 정보로부터 하나의 추측값을 계산 = x와 W가 여러 개 - Hypothesis Function : Matrix matmul() 로 여러 개의 변수를 한 번에 계산 1. 더 간결 2. x 의 길이가 바뀌어도 코드를 바꿀 일이 없음 3. 속도 빠름 # naive hypothesis = x1_train * w1 + x2_train * w2 + x3_train * w3 + b # matrix hypothesis = x_train.matmul(W) + b # or .mm or @ - Cost Function : MSE, Gradient Descent with ..
3) Gradient Descent - Hypothesis Function (가설 함수) input x 에 대해 어떤 output y 를 예측할지 알려주며, H(x)로 표현 변수 W와 b 를 학습해서 주어진 데이터를 최적화하는 것 - Cost Function : Intuition 모델의 예측값이 실제 데이터와 얼마나 다른지를 나타내는 값 잘 학습 될 수록 낮은 cost Linear Regression에서 쓰이는 cost function은 MSE - MSE (Mean Squared Error) (예측값 - 실제값)^2 의 평균 - Gradient Descent : Intuition ∂cost / ∂W = ∇W ∇ : 그래디언트, 다차원 공간에서 편미분(∂)한 것들을 모아 놓은 것 기울기가 양수일 때는 W를..
2) Linear Regression - Data Definition test dataset 입력 : x_train = hours (공부 시간) 출력 : y_train = points (시험 점수) x_train = torch.FloatTensor([[1], [2], [3]]) y_train = torch.FloatTensor([[2], [4], [6]]) - Hypothesis y = Wx + b 학습 데이터와 가장 잘 맞는 하나의 직선을 찾는 일 W : weight b : bias W = torch.zeros(1, requires_grad=True) b = torch.zeros(1, requires_grad=True) hypothesis = x_train * W + b Weight와 bias를 0으로..
1-2) Tensor Manipulation 2 - Matrix Multiplication View (numpy : Reshape) 원하는 대로 tensor, matrix의 shape를 바꾸는 함수 t = np.array([[[0, 1, 2], [3, 4, 5]], [[6, 7, 8], [9, 10, 11]]]) ft = torch.FloatTensor(t) print(ft.size()) print(ft.view([-1, 3])) # -1 : 정해진 크기에 맞춰서 자동으로 정해짐 print(ft.view([-1, 3]).shape) ''' torch.Size([2, 2, 3]) tensor([[ 0., 1., 2.], [ 3., 4., 5.], [ 6., 7., 8.], [ 9., 10., 11.]]) ..
6) 통계학 맛보기 - 모수적 방법론 (Parametric) 통계적 모델링은 적절한 가정 위에 확률분포를 추정(inference)하는 것 모집단의 분포를 정확하게 알아낸다는 것은 불가능 -> 근사적으로 확률분포를 추정 예측의 불확실성을 최소화하는 것만으로 충분함 데이터가 특정 확률 분포를 따른다고 가정 = a priori 그 분포를 결정하는 모수를 추정하는 방법 = 모수적 방법론 비모수 방법론 : 특정확률분포를 가정하지 않고 모델의 구조 및 모수의 개수가 데이터에 따라 바뀜 =/ 모수가 없다, = 모수가 무수히 많거나 바뀜 기계학습의 많은 방법론이 비모수 방법론 - 확률분포 가정 히스토그램으로 모양 관찰 데이터가 2개의 값(0 또는 1) : 베르누이 분포 n 개의 이산적인 값 : 카테고리 분포, 다항 분..