부스트캠프 AI Tech 2기/Precourse

부스트캠프 AI Tech 2기/Precourse

Deep Learing TIPS

Maximum Likelyhood Estimation(MLE) 최대 가능도(우도) 추정 압정을 땅에 던졌을때 납작한부분이 바닥으로 떨어지는 (class1) 위로 떨어지는 (class2)가 존재 베르누이 분포 (매 시행마다 오직 두 가지의 가능한 결과만 일어난다고 할 때, 이러한 실험을 1회 시행하여 일어난 두 가지 결과에 의해 그 값이 각각 0과 1로 결정되는 확률변수 X에 대해서 를 만족하는 확률변수 X가 따르는 확률분포를 의미하며, 이항 분포의 특수한 사례에 속한다.) n = 100 k = 27 (class1의 횟수) -> n,k는 observation 압정외 확률분포를 결정하는 쎄타를 구해야함 likelyhood가 맥시멈값이 되는곳을 찾는다 Y값이 최대가 되는 지점을 찾아보니 쎄타는 0.27이된다 ..

부스트캠프 AI Tech 2기/Precourse

Softmax Classification

Softmax Classification Discrete Probability Distribution: 이산적인 확률분포 주사위 이산확률분포의 PMF는 아래와 같음 (이미지출처: Boostcourse ai tech pre course) Softmax 내가 가위를 냈을 때 상대방이 무언가를 낼 확률 P(주먹|가위) = ? P(가위|가위) = ? P(보|가위) = ? 합쳐서 1이되는 값으로 변환하여 줌 z = torch.FloatTensor([1,2,3]) hypothesis = F.softmax(z,dim=0) hypothesis -> tensor([0.0900, 0.2447, 0.6652]) hypothesis.sum() -> tensor(1.) Cross Entropy Loss z = torch.ran..

부스트캠프 AI Tech 2기/Precourse

Logistic Regression

Logistic Regression Logistic Classification과 동일 binary classification으로 결과값이 0과 1중에 한개일거다 P(x=1) = 1-P(x=0) -> X가 1일확률 = 1- X가 0일확률 (이미지 출처: Boostcourse AI Tech Pre Course) H(x) = P(x=1;w) = 1 - P(x=0;w) weight update Gradient Discent (이미지 출처: Boostcourse AI Tech Pre Course) import torch import torch.nn as nn import torch.nn.functional as F import torch.optim as optim # 항상 같은 결과를 주기위해 seed torch..

부스트캠프 AI Tech 2기/Precourse

Minibatch Gradient Descent

Minibatch Gradient Descent 복잡한 머신러닝 모델을 학습하려면 엄청난 양의 데이터가 필요 대부분 데이터셋은 적어도 수십만개의 데이터를 제공 많은 양의 데이터를 한번에 학습시킬 수 없음 너무 느리거나 하드웨어적으로 불가능 일부분의 데이터만 갖고 학습하면됨! (이미지 출처: boostcourse ai tech pre course) 한번의 업데이트마다 계산할 코스트의 양은 줄어들고 업데이트의 주기가 빨라짐 모델이 코스트를 계산할 때 전체데이터를 쓰지 않기 때문에 모델이 가끔 잘못된 방향으로 학습할 수 있기 때문에 거칠게 줄어든다 (이미지 출처: boostcourse ai tech pre course) Pytorch Dataset import torch import torch.nn as nn..

부스트캠프 AI Tech 2기/Precourse

Multivariate Linear Regression

다항 선형 회귀 (Multivariable Linear Regression) ex) 3개의 퀴즈성적(x)과 파이널 시험(y)성적을 예측해보자 H(x) = w1x1 + w2x2 + w3x3 + b | quiz1 | quiz2 | quiz3 | final(y) | |:----------:|:----------:|:----------:||:----------:| | 73 | 80 | 75 | 152 | | 93 | 88 | 93 | 185 | | 89 | 91 | 80 | 180 | | 96 | 98 | 100| 196 | | 73 | 66 | 70 | 142 | nn.Module 인공신경망을 편하게 만들 수 있음 nn.Linear(3,1) 입력차원:3 출력차원:1 forward( )에서 hypothesis를..

부스트캠프 AI Tech 2기/Precourse

Gradient Descent 심화

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..

부스트캠프 AI Tech 2기/Precourse

Linear Regression

예제 공부시간에 따른 점수데이터가 아래와 같이 존재할 때 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..

부스트캠프 AI Tech 2기/Precourse

Tensor Manipulation 2

Pytorch View numpy의 reshape와 동일 t = np.array([[[0,1,2],[3,4,5]], [[6,7,8],[9,10,11]]] ft = torch.FloatTensor(t) ft -> tensor([[[ 0., 1., 2.], [ 3., 4., 5.]], [[ 6., 7., 8.], [ 9., 10., 11.]]]) ft.shape -> torch.Size([2, 2, 3]) ft.view([-1,3]).shape -> torch.Size([4, 3]) ft.view([4,1,3]).shape -> torch.Size([4, 1, 3]) Squeeze 차원이 1인 경우에는 해당 차원을 제거함 ft = torch.FloatTensor([[0],[1],[2]]) ft.shape -..

모플로
'부스트캠프 AI Tech 2기/Precourse' 카테고리의 글 목록