전체 글

전체 글

    [Python] Colab이란? Colab 구글 드라이브에서 사용하기

    colab.research.google.com/notebooks/intro.ipynb# Google Colaboratory colab.research.google.com 데이터 분석을 하다보면(특히나 딥러닝을 사용할 때) GPU를 사용하거나 큰 메모리를 사용해야 하는 경우가 종종 있다. 로컬 환경에서는 그러한 메모리를 전부 감당하기 버거울 때가 있는데, 그래서 구글에서는 위와 같은 Colab, 즉 Colavoratory라는 환경을 제공했다. Google Colab이란? 데이터 과학자, 또는 학생, 도는 AI 개발자들을 위해 구글에서 제공하는 무료 클라우드 서비스를 말한다. 위 Colab, 즉 Colaboratory를 사용하면 브라우저에서 Python을 작성하고 실행할 수 있다. GPU를 무료 엑세스 할 ..

    [파이토치로 시작하는 딥러닝 기초]07_MLE, Overfitting, Regularization, Learning Rate

    Maximum Likelihood Estimation(MLE, 최대우도추정법) observation을 가장 잘 설명하는 theta를 찾아내는 과정 우리가 관찰한 데이터를 가장 잘 설명하는 어떤 확률 분포의 함수의 파라미터를 찾아내는 과정 Optimization via Gradient Descent 𝜃←𝜃−𝛼∇𝜃𝐿(𝑥;𝜃) Overfitting 과도한 훈련으로 모델이 훈련셋에만 최적화 되어있을 떄 훈련셋과 테스트셋을 나누어서 학습할 때 오버피팅을 낮출 수 있다. 오버피팅을 해결하는 방법, Regularization Early Stopping : Validation Loss가 더이상 낮아지지 않을 때 학습을 멈추는 것 Reducing Network Size : neural network의 사이즈를 줄이는 것..

    [파이토치로 시작하는 딥러닝 기초]06_Softmax Classification

    Softmax Classification softmax Cross Entropy Low-level Implementation High-level Implementation Traing Example Discrete Probability Distribution(이산확률분포) Discrete Probability Distribution이란, 이산적인 확률 분포를 이른다. ex) 주사위를 돌려서 나오는 숫자의 값에 대한 확률 분포 이산 값에 대한 확률이 정확하게 나오며, 연속형 확률분포와 달리 x 값이 정수값으로 떨어져 있다. Softmax Convert numbers to probabilitis with softmax $${P(class = i) = \frac{e^i}{\sum e^i}}$$ pytorch ..

    [파이토치로 시작하는 딥러닝 기초]05_ Logistic Regression

    Logistic Regression Computing Hypothesis Computing Cost Function Evaluation Higher Implementation Logistic Regression Hypothesis $${H(X) = \frac{1}{1 + e^{-W^TX}}}$$ Cost $${cost(W) = -\frac{1}{m}\sum ylog(H(x)) + (1-y)(log(1-H(x)))}$$ if ${y \simeq H(x)}$, cost is near 0 if ${y \ne H(x)}$, cost is high ${P(x = 1) = 1- P(X = 0)}$ X : ${m\times d}$ 차원, W : ${d\times 1}$ 차원 sigmoid 함수를 이용하여 0과 1에 ..

    [파이토치로 시작하는 딥러닝 기초]04.02_Loading Data

    Loading Data Minibatch Gradient Descent 이론 Pytorch Dataset and Data Loader 사용법 Data in the Real World 복잡한 머신러닝 모델을 학습하려면 엄청난 양의 데이터가 필요하다 대부분 데이터셋은 적어도 수십만개의 데이터를 제공한다. 엄청난 양의 데이터를 한번에 학습시킬 수 없다. 이유는? 너무 느리고 하드웨어적으로 불가능하기 때문 그렇다면 일부분의 데이터로만 학습하면 어떨까? Minibatch Gradient Descent 전체 데이터를 작은 Minibatch라는 작은 양으로 균일하게 나누어서 minibatch 하나씩 학습하는 방법 그러면 컴퓨터가 dataset의 모든 데이터의 cost를 다 계산한 후 gradient descent를 ..