머신러닝

머신러닝의 이해

바닷가쟤 2024. 8. 19. 18:36
  1. 문제 정의
  2. 정의와 관련된 경험
  3. 평가지표

지도학습(Supervised Learning)

특징과 라벨 간의 관계를 학습하여 새로운 데이터의 라벨을 예측하는 것이 목표이다.

지도할 수 있는 사람이 있거나 레이블링된 데이터가 있는 상태.

우리가 관측하지 못한 새로운 데이터의 라벨을 잘 예측하는 것이 목표이다.

주어진 입력(특징, 특징벡터)과 출력(라벨) 간 관계를 학습하여 새로운 입력에 대해 적절한 출력을 내는 머신러닝의 대표적 과제이다.

특징 벡터 x를 입력으로 하고 라벨 y를 출력으로 하는 y=f(x)를 찾아내어 새로운 특징에 대한 라벨을 예측하는 과제이다.

모델학습은 손실 함수(loss function)가 최소화되도록 모델의 파라미터(parameter)를 추정하는 작업니다.

비지도학습(Unsupervised Learning)

라벨이 없어 데이터의 숨겨진 구조나 특징을 발견하는 것이 목표이다.

스스로 특징 도출을 유도할 수 있다.

지도학습과 다르게 라벨을 주지 않는 머신러닝 과제이다.

데이터에숨겨진 특징이나 구조를 발견하는 데 주로 활용된다.

파라미터(parameter)

모델의 예측값에 영향을 주는 변수이다.

손실함수(Loss Function)

각 테스크나 문제의 특성에 맞는 최적의 학습을 유도하기 위해 사용한다.

학습 과정에서 최적화해야 할 목표를 정의하므로 문제의 특성을 잘 반영하는 손실 함수를 사용하면 효율적인 학습이 가능하다.

과소적합(Over Fitting) / 과대적합(Under Fitting)

  • 과소적합

학습이 덜 된 상황

모델이 단순할수록 가능성이 높다.

  • 과대적합

과하게 학습된 상황

데이터 대비 모델이 넓은 공간(많은 특징 수, 상태 공간의 크기가 큼) 파라미터가 많을수록 가능성이 높다.

샘플 수가 많을 수록 가능성이 감소한다.

학습데이터 / 평가데이터

통상적으로는 6:4, 7:3 정도의 비율이 되게 나눈다.

평가 데이터는 탐색, 전처리, 파라미터 추정 등 모델을 학습하는 전 과정에서 활용해서는 안 된다.

전처리가 잘 된 데이터로 학습에 사용하는 샘플이 많을수록 일반화 능력이 뛰어난 모델을 학습할 가능성이 크다.

하지만 모델이 평가 데이터에 과적합될 위험이 있기 때문에 객관적이지 않을 수 있다.

K-FOLD Cross Validation(K겹 교차 검증)

객관적인 평가가 필요할 때 사용하는 기법으로 데이터를 서로 겹치지 않는 k개의 데이터 폴드(fold)로 분할한 뒤, 각각의 폴드를 평가 데이터로사용하고 나머지 폴드의 합집합을 학습 데이터로 사용하는 방식이다.

최종 결과가만족스러운 모델에 대해서 전체 데이터를 가지고 재학습하는 것이 보통이다.

군집화(Clustering)

유사한 샘플을 하나의 그룹으로 묶고 유사하지 않은 샘플을 다른 그룹으로 묶는 비지도 학습 과제이다.

상황에 맞는 거리 및 유사도 척도와 군집화 알고리즘을 선정해야 한다.

ex) 유클리드(Euclidean) 거리, 코사인(cosine)거리, 매칭(matching) 유사도

군집화 결과는 다른 비지도 학습과 마찬가지로 어느 결과가 좋은지 객관적으로 평가할 수 없으며 도메인 지식에 의존해서 평가해야 한다.

이상 탐지(Anomaly Detection)

데이터에서 이상한 샘플을 찾아내는 비지도학습 과제이다.

문제가 있는 샘플이 아니라 다른 샘플과 많이 다른 샘플일 수 있다는 것을 주의해야 한다.

(반드시 도메인 지식을 활용해야 함!)

머신러닝 프로세스

문제 정의 → 데이터 수집 → 데이터 탐색 → 데이터 전처리 → 모델링 → 모델 평가 → 모델 적용

각 단계가 차례대로 끝나지 않고, 모델 평가에서 그 결과가 마음에 들지 않거나 하면 데이터 전처리와 모델링 단계로 되돌아가서 성능을 만족할 때까지 반복적인 작업을 하게 된다.

728x90