머신러닝 기초

1 minute read

인공지능은 인간이 지닌 지적 능력의 일부 또는 전체를 인공적으로 구현한 것입니다. 인공지능에는 몇가지 기술이 있는데, 첫번째는 기계학습입니다. 기계학습은 기본적인 규칙만 주어지고, 입력받은 정보를 활용해 스스로 학습하는 것입니다. 두번째는 인공 신경망인데, 인간의 뉴런 구조를 본 떠 만든 기계학습 모델입니다. 세번째로는 딥 러닝인데, 입력과 출력 사이에 있는 인공 뉴런들을 여러개 층층히 샇고 연결한 인공신경망 기법을 주로 다루는 연구입니다.

가장 큰 범주에 인공지능이 있고 그 안에 머신러닝, 그 안에 딥러닝이 존재합니다.

여기서 머신러닝과 딥러닝의 큰 차이점은 딥러닝은 분류에 사용할 데이터를 스스로 학습할 수 있지만, 머신러닝은 학습 데이터를 수동으로 제공해야한다는 점에서 차이가 있습니다.

머신러닝에도 여러 분야가 있는데, K-Fold Cross Validation, 즉 교차검증은 k개의 fold를 만들어서 진행하는 교차검증인데,

  1. Traing Set 과 Test Set으로 나누고, Traing을 K개의 fold로 나눕니다.
  2. 한 개의 Fold에 있는 데이터를 k개로 쪼갠 후 , k-1 개는 Training Data, 마지막 한개는 Validation Data로 지정합니다.
  3. 모델을 생성하고 예측하여, 에러값을 추출하고 다음 fold에서는 Validation 을 바꿔 지정하고, 이전 Fold에서 Validation역할을 햇던 set은 다시 Training set으로 활용합니다.
  4. 이와 같은 과정을 K번 반복합니다.

Fold의 시도에서 에러를 바탕으로 최적의 모델을 찾습니다. 해당 모델을 바탕으로 전체 Training set의 학습을 진행하고 처음에 분할했던 Test set을 활용해 평가합니다.

K-Nearest Neighbors, 즉 KNN은 특정공간내에서 입력과 제일 근접한 K개 요소를 찾아 더 많이 일치하는 것으로 분류하는 알고리즘입니다.

Support Vector Machine, SVM은 패턴인식, 자료분석을 위한 지도학습 모델인데, 주로 분류와 회귀 분석을 위해 사용되며, 주어진 데이터 집합을 바탕으로 새로운 데이터가 어느 카테고리에 속할것인지 판단하는 이진 선형분류 모델을 만들어 분류하는 알고리즘을 사용합니다.