본문 바로가기

🤖AI

(32)
[딥러닝] train/dev/test sets 딥러닝 모델을 학습할 때 data를 train data, developement data, test data로 나눈다. train sets 딥러닝 모델의 가중치 값을 조절하는데 사용되는 data dev sets 모델 학습을 할 때 dev data의 error값도 같이 측정해보면 train data의 error값처럼 감소했다가 증가하는 경우가 발생할 수 있다. 이를 overfitting이 발생했다고 한다. train data에만 과적합한 문제라면 overfitting이 발생할 수 있으므로 train data와 독립적인 development data를 train할 때 같이 사용한다. test sets train, dev data와 완전히 독립적인 test data를 이용해서 와전히 독립적으로 학습된 모델의 ..
[딥러닝] 파라미터(Parameter)와 하이퍼 파라미터(Hyper parameter) 하이퍼 파라미터와 파라미터를 혼용해서 사용하는 사람들이 많다. 내가 그랬다. 하지만 파라미터와 하이퍼 파라미터는 명확히 다른 개념이다. 그래서 한번 정리해 보려고 한다. 본 글은 Machine Learning Mastery의 What is the Difference Between a Parameter and a Hyperparameter?를 번역해서 요약한 글이다. 파라미터(Parameter) 파라미터는 한국어로 매개변수로 모델 내부에서 결정되는 변수이다. 파라미터의 값은 데이터로부터 결정된다. 파라미터는 사용자의 의해 조정되지 않는다. 모델링에 의해 자동적으로 결정된다. ex. 선형 회귀의 계수 하이퍼 파라미터(Hyper Parameter) 하이퍼 파라미터는 모델링할 때 사용자가 직접 세팅해주는 값을 ..
[딥러닝] [Tensorflow] 모델학습 관련 개념 Epoch 전체 데이터를 몇 번 반복하여 학습할 것인지를 결정해주는 숫자 verbose=0을 사용하면 epoch과정을 보여주지 않는다. model.fit(독립, 종속, epochs=1000, verbose=0) Step 1 step당 Weight와 Bias를 1회씩 업데이트하게 된다. batch size만큼의 dataset을 학습시키는 양 Batch Size 1 step에서 사용한 데이터의 수 ex. Batch Size가 100, Step이 10이면 약 1000개의 데이터를 이용 Learning rate 경사 하강법에서 학습 단계별로 움직이는 학습 속도
[딥러닝] MNIST dataset MNIST dataset은 0부터 9까지의 수를 손글씨로 나타낸 이미지 dataset이다. 필기체 숫자의 분류를 위한 학습 데이터 셋으로 이미지와 이미지에 대한 라벨로 구성되어 있다. 이미지는 784(28x28)차원의 벡터이고 라벨은 0~9이다. 예시 mnist = input_data.read_data_sets("MNIST_data")는 MNIST_data 폴더 안에 mnist 파일들이 다운받아지고 다운받진 mnist 파일들을 load 한다는 의미이다. one_hot=True는 one hot encoding을 해준다는 의미이다. one hot encoding은 범주형 데이터를 0 또는 1의 데이터로 바꿔주는 과정이다. 만약 label이 1이면 1의 자리만 1이고 나머지 자리는 모두 0으로 나타낸다. x,..
[부스트코스] [파이토치로 시작하는 딥러닝 기초] Basic ML ~ DNN 이 글은 파이토치로 시작하는 딥러닝 기초를 수강하고 작성하는 글입니다. 패키지들의 대략적인 사용 목적 torch: Pytorch 패키지를 불러온다. torchvision: Pytorch에서 이미지 데이터 로드와 관련된 여러가지 편리한 함수들을 제공 matplotlib.pyplot: 데이터 시각화를 위해 사용 numpy: Scientific computing과 관련된 여러 편리한 기능들을 제공해주는 라이브러리 하이퍼파라미터 뉴럴 네트워크를 통하여 학습되는 것이 아니라 학습율(learning rate), 사용할 레이어의 수 등 설계자가 결정해줘야 하는 값들을 의미 torchvision의 transforms 모듈 다양한 이미지 전처리를 쉽게 사용할 수 있다. ToTensor(): 이미지의 픽셀 값을 0~1 사..
[부스트코스] [머신러닝을 위한 파이썬] 완강 후기 tensorflow나 pytorch로 머신러닝을 처음 접했던 사람들에게 매우 필요한 강의이다. 교수님께서 tensorflow나 pytorch로 머신러닝을 처음 접했던 사람들이 어떤 어려움을 겪었을지 매우 잘 알고 계셔서 세세하게 잘 설명해주신다. 머신러닝을 위한 파이썬 강좌를 통해서 numpy와 pandas를 다루는 방법을 알게 되었다. Quiz와 과제를 통해서 잘 이해하고 수업을 따라가고 있는지 확인할 수 있어서 좋다. 한 가지 아쉬운 점은 numpy와 관련된 lab assignment는 많았지만 pandas와 관련된 lab assignment는 조금 적은 느낌이었다. 하지만 완강하고 나면 논문의 수식들을 코드로 나타낼 수 있겠다는 자신감이 생길 것이다. 또 데이터를 다루는 방법을 조금 익힐 수 있을 ..
[부스트코스] [머신러닝을 위한 파이썬] ML Overview 이 글은 머신러닝을 위한 파이썬 강의를 수강하고 작성하는 글입니다. Model: 예측을 위한 수학 공식, 함수, 1차 방정식, 확률분포, condition rule Algorithms: 어떠한 문제를 풀기 위한 과정, Model을 생성하기 위한 (훈련) 과정 모델을 학습할 때 영향을 주는 것들 y값에 영향을 주는 x값은 여러개일 수 있다. x변수의 실제 데이터는 특징(feature)을 나타낸다. Feature 머신 러닝에서 데이터의 특징을 나타내는 변수 독립변수, input 변수 등과 동일의미로 사용된다. 일반적으로 Table 상에 Data를 표현할 때, Column을 의미한다. 하나의 data instance (실제 테이터)는 feature vector로 표현한다. 논문에서 Scalar는 보통 이텔릭체..
[머신러닝] Pandas로 데이터 다루기 본 글은 생활코딩의 머신러닝야학 강의를 듣고 작성한 글입니다. 1. 라이브러리 import pandas as pd 2. 파일 읽어오기 데이터 = pd.read_csv(파일경로) 3. 데이터 모양 확인하기 print(데이터.shape) 4. 데이터 칼럼 이름 확인하기 print(데이터.columns) 5. 칼럼 선택해서 독립변수와 종속변수 분리하기 독립 = 데이터[['칼럼명1', '칼럼명2', '칼럼명3']] 종속 = 데이터[['칼럼명4']] 6. 맨 위 4개 관측치 출력하기 print(데이터.head())