앎을 경계하기

Machine Learning 4

DEEP LEARNING WITH PYTORCH: A 60 MINUTE BLITZ - NEURAL NETWORKS

NEURAL NETWORKSNeural Networks는 torch.nn 패키지를 사용해서 만들 수 있다.매우 유명한 Yann Lecun의 LeNet-5 CNN 구조이다.구조는 굉장히 간단하다.32*32 필기체 숫자 이미지를 넣으면 Convolution layer와 Fully Connected layer를 거쳐 최종적으로 필기체로 쓴 숫자가 무엇인지 output이 출력된다.이러한 뉴럴 네트워크 모델들이 학습이 되는 과정은 일반적으로 다음과 같다.학습가능한 파라미터들로 이뤄진 뉴럴넷을 만든다.반복적으로 입력 데이터셋을 뉴럴넷에 전달한다.정답과 예측값 간 차이, 즉 loss를 계산한다.backpropagation 과정을 통해 뉴럴넷의 파라미터들의 각 gradient를 계산한다.네트워크의 weights를 gr..

Machine Learning 2021.03.08

[머신러닝 개념정리] Normalization/Standardization/Regularization

Normalization/Standardization/Regularization Data preprocessing을 위해 Normalization, Standardization과 같은 방법을 사용한다. model의 weight가 overfitting하는 것을 막기 위해 Regularization을 사용한다. Normalization original data distribution을 (0, 0)으로 shift 한 후, 분포의 범위를 [0,1]로 rescale 하는 방법 $$ \frac{X-\min(X)}{\max(X)-\min(X)} \ or \ \frac{X-\mu}{\sigma} \ \text{2번째는 standardization이기도 함.} $$ 사용하는 이유 Local minimum에 빠질 가능성을..

Machine Learning 2020.04.08

[머신러닝 개념 정리] learning rate

Learning Rate cost function(loss function)의 global minimum을 찾기 위해서 Gradient descent를 사용한다. $$ \mathbf{W} := \mathbf{W} - \alpha \frac{\partial}{{\partial}\mathbf{W}}loss(\mathbf{W}) $$ 위 gradient descent에서 곱해지는 $\alpha$ 값이 learning rate이다. learning rate가 큰 경우 Overshooting 발생 learning rate가 작은 경우 training 속도가 너무 느림 보통 learning rate는 0.01로 설정 후 학습해보고 학습 결과가 발산하면 값을 줄이고, 학습 시간이 너무 오래걸리면 큰 값으로 설정한다.

Machine Learning 2020.04.08

Scikit-learn Datasets 관련 정리

Scikit-learn Benchmark용 Dataset example Data preprocessing Supervised Learning Unsupervised Learning Model evaluation and selection sklearn.datasets : 예제 데이터셋 제공 load 계열 : scikit-learn 패키지에 같이 포함된 데이터 fetch 계열 : 인터넷에서 다운로드할 수 있는 대량의 데이터 make 계열 : 확률분포를 사용해 가상의 데이터 생성 load_boston : 보스턴 집값 (회귀 분석용) load_diabetes : 당뇨병 (회귀 분석용) load_linnerud : linnerud (회귀 분석용) load_iris : 붓꽃 (분류용) load_digits : 숫자..

Machine Learning 2020.02.14