• 머신러닝이란

    2022. 6. 14.

    by. haong_

    머신러닝이란?

    데이터에서부터 학습하도록 컴퓨터를 프로그래밍 하는 것

    훈련 세트에 데이터를 모아 학습 알고리즘에 주입. 학습 알고리즘이 모델 기반이면 훈련세트에 모델을 맞추기 위해 모델 파라미터 조정하고 새로운 데이터에서도 좋은 예측을 만들거라 기대. 알고리즘이 사례 기반이면 샘플을 기억하는 것이 학습이고 유사도 측정을 사용하여 학습한 샘플과 새로운 샘플을 비교하는 식으로 일반화.

    어떤 문제에 사용할까?

    • 기존 솔루션으로는 많은 수동 조정과 규칙이 필요한 문제
    • 전통적인 방식으로 해결 방법이 없는 복잡한 문제
    • 유동적인 환경 (새로운 데이터에 적응)
    • 복잡한 문제와 대량의 데이터에서 통찰 얻기

    머신러닝 시스템 종류

    • 지도 학습 : 정답을 알려주며 학습 (분류, 회귀)
    • 비지도 학습 : 정답 label 없이 비슷한 데이터끼리 군집화 (클러스터링)
    • 반지도 학습 : 일부만 label이 있는 경우

    머신러닝의 주요 도전과제

    • 훈련 세트가 너무 작음
    • 대표성이 없는 데이터
    • 잡음이 많고 관련 없는 특성으로 오염된 데이터(garbage in garbage out)
    • 훈련데이터에 과소적합이나 과대적합되서 일반화가 안된 경우

    테스트와 검증

    데이터를 훈련과 테스트 셋으로 나눠서 훈련 셋으로 훈련, 테스트 셋으로 평가
    홀드 아웃 검증 : 훈련 셋의 일부를 떼어낸 검증 셋으로 평가하는 방법
    교차 검증(cross validation) : 검증 셋 마다 나머지 데이터로 훈련한 모델을 평가

    일반적인 학습, 평가 과정 : 훈련데이터로 모델 학습 > 검증 데이터로 검증 > 높은 성능을 내는 모델 선택 후 훈련, 검증 데이터를 합해 다시 훈련 > 마지막으로 테스트 셋으로 평가

    일련의 과정은 모델이 새로운 데이터에서 어느정도 일반화 된 성능을 보여주게 만들기 위한 과정!

    학습시 주의할점

    데이터 누수 data leakage

    테스트 데이터의 분포가 훈련 데이터로 섞여 들어가는 것

    테스트 데이터는 모델의 일반화를 위해 마지막에 한번도 보지 못한 데이터로 평가하는데에 목적이 있다. 그러나 데이터 전처리 등 과정에서 테스트 데이터의 분포가 노출되서 학습에 영향을 미치게 된다면 테스트 셋으로 평가할때 일반화가 잘되었는지 정확도를 신뢰할 수 없게 되버리는 문제가 생긴다. 전처리 전에 데이터 셋을 먼저 나눠주고 파이프라인의 사용으로 누수를 방지해야 한다. 

    '머신러닝' 카테고리의 다른 글

    결정 트리 Decision Tree  (0) 2022.06.14
    로지스틱 회귀 logistic regression  (0) 2022.06.14
    L1, L2 Regularization  (0) 2022.06.14
    회귀 Regression  (0) 2022.06.14
    분류 Classification  (0) 2022.06.14

    댓글