본문 바로가기
Data Science/Machine Learning

[ML] 머신러닝(Machine Learning)이란?

by VAMOSSS 2022. 2. 6.
반응형

머신러닝

인공지능, 머신러닝, 딥러닝 관계

기계 학습(機械學習) 또는 머신 러닝(machine learning)은 경험을 통해 자동으로 개선하는 컴퓨터 알고리즘의 연구이고, 인공지능의 한 분야로 간주됩니다.

 

머신러닝에서 알고리즘은 대규모 데이터 세트에서 패턴과 상관관계를 찾고 분석을 토대로 최적의 의사결정과 예측을 수행합니다.

궁극적으로는 의사 결정 기준에 대한 구체적인 지침을 소프트웨어에 직접 코딩해 넣는 것이 아닌, 대량의 데이터와 알고리즘을 통해 컴퓨터 그 자체를 ‘학습’시켜 작업 수행 방법을 익히는 것을 목표합니다.

 

참고로 인공지능과 머신러닝, 딥러닝은 위의 포함 관계가 있다고 생각하시면 됩니다.

 

장점

전통적인 프로그래밍 기법과 알고리즘은 시간이 지나면서 업데이트하거나 수정해야 해서 유지 보수가 힘듭니다.

 

하지만 머신러닝은 데이터가 업데이트되면 머신러닝 알고리즘 훈련을 통해 자동적으로 변화된 기준을 인식하고 평가하여 알고리즘을 수정하지 않고도 데이터를 기반으로 패턴을 학습하고 결과를 추론하는 알고리즘 기법입니다.

 

그리고 전통적인 방식으로는 해결 방법이 없거나 너무 복잡한 문제에 적용할 수 있고, 대용량의 데이터를 분석하여 겉으로는 보이지 않는 패턴을 발견하여 사용할 수도 있습니다.

 

현실에는 사람이 다룰 수 없는 방대한 양의 데이터가 존재하기 때문에 머신러닝으로 분석하고 예측을 진행합니다.

 

머신러닝의 종류

머신러닝의 종류는 지도 학습 / 비지도 학습 / 준지도 학습 / 강화 학습으로 나눠집니다.

지도학습

알고리즘에 넣는 훈련 데이터에 레이블(원하는 답)을 포함되어있는 학습방법입니다.예시로는 다음이 있습니다.

  • 분류
  • 회귀
  • 시각/음성 인지

 

비지도 학습

지도 학습과 다르게 훈련 데이터에 레이블이 없는 학습방법입니다.

즉, 정답이 존재하지 않습니다.

 

예시로는 다음이 있습니다.

  • 군집화 : 비슷한 데이터를 그룹으로 묶는 것
  • 시각화 : 데이터를 도식화가 가능한 2D, 3D 표현
  • 차원 축소 : 너무 많은 정보를 잃지 않으면서 데이터를 간소화
  • 연관 규칙 학습 : 대량의 데이터에서 특성 간의 관계를 찾는 것
  • 이상치 탐지 : 데이터셋에서 이상한 값을 탐지, 제거

 

준지도 학습

지도 학습과 비지도 학습의 조합입니다.일부는 레이블이 존재하고 일부는 레이블이 존재하지 않습니다.

이 모델의 핵심은 레이블이 지정된 데이터를 통해 시스템이 학습을 시작하게 하며, 학습 속도와 정확성을 상당한 수준으로 개선하도록 하는 것입니다.

 

Hard Label vs Soft Label

  • Hard Label : 각 클래스가 명확히 분류되는 라벨
  • Soft Label : 하나의 데이터가 여러 클래스에 해당할 수 있고, 확률을 사용하여 분류되는 라벨

준지도 학습을 하는 분류 모델의 경우, 분류기를 hard labeling 된 데이터로 학습시킨 후 정답이 라벨링 되지 않은 데이터 또한 soft labeling 기법으로 학습합니다.

 

강화 학습

agent가 환경을 관찰해서 행동을 실행하고 그 결과로 보상(reward) 또는 페널티를 받는 학습 방법입니다.

 

알고리즘의 원하는 목표가 고정되어 있거나 양자택일인 경우 머신은 예시를 통해 학습할 수 있습니다.

그러나 원하는 목표가 변동 가능한 경우에는 경험과 보상을 통해 학습해야 합니다.

시행착오(Trial-and-error)와 지연 보상(delayed reward)은 다른 기법과 구별되는 강화 학습만의 특징입니다.

 

과정은 다음과 같습니다.

관찰  정책에 따라 행동 선택 및 실행  보상 or 페널티  정책 수정 (학습)  최적의 정책을 찾을 때까지 반복

 

머신러닝 관련 용어

  • training set / train data (훈련 세트) : 시스템이 학습하는 데 사용하는 샘플
    • sample (training instance) : 각 훈련 사례
  • test set / test data (테스트 세트) : 답을 얻고 싶은 데이터이거나, 모델을 평가하기 위한 데이터.
  • validation (검증)
    • 다양한 모델 중 해당 데이터에 대하여 어떤 모델을 선택해야 할지 결정하는 데 사용
    • 일반화 오차가 가장 낮은 모델을 만드는 최적의 하이퍼 파라미터를 찾는 과정에서 사용
    • 모델을 선택하는 과정에서 결과를 얻고 싶은 테스트를 사용하면 비교가 정확하지 않으니 훈련 세트를 지정한 비율로 나눠 훈련, 검증을 진행. [예시] train set 70% : 모델 훈련, train set 30% : validation 사용
  • estimation (평가)
    • 훈련 세트를 사용해 모델을 훈련하고, 테스트 세트를 사용하여 모델을 테스트
    • 테스트 세트에서 모델을 평가함으로써 새로운 샘플에 대한 오류 비율(일반화 오차)에 대해 추정 값을 얻음

 

머신러닝 프로젝트 진행 시의 문제점

데이터

  • 충분하지 않은 양의 훈련 데이터
  • 대표성 없는 훈련 데이터
    • 샘플이 작으면 ➡ 샘플링 잡음 (noise) : 우연에 의해 대표성 없는 데이터가 생기는 것
    • 샘플이 크면 ➡ 표본 추출 방법이 잘못되었을 시 샘플링 편향 (bias)
  • 낮은 품질의 데이터
    • 에러, 이상치 잡음을 제거하고 데이터를 정제해야
    • 일부 샘플에 특성 몇 개가 빠져 있다면, (1) 이를 모두 무시 (2) 이 샘플을 무시 (3) 빠진 값을 평균/최빈값 등으로 채울지 (4) 특성을 넣은 모델과 제외한 모델을 따로 훈련시킬 것인지 결정해야 함
  • 관련 없는 특성 (feature)
    • 특성 선택 : 가지고 있는 특성 중 훈련에 가장 유용한 특성 선택
    • 특성 추출 : 특성을 결합하여 더 유용한 특성을 만듦
    • 새로운 데이터를 수집해 새 특성을 만듦

알고리즘

  • 과대 적합 : 모델이 훈련 데이터에 너무 잘 맞지만 일반성이 떨어짐. 훈련 데이터에 있는 잡음의 양에 비해 모델이 너무 복잡할 때 발생 (훈련 데이터만을 위한 모델이 된다고 생각)
    • 훈련 데이터를 더 많이 모음
    • 훈련 데이터의 잡음을 줄임
    • 파라미터 수가 적은 모델을 선택하거나, 훈련 데이터에 있는 특성 수를 줄임
    • 모델에 제약을 가하여(규제) 단순화시킴
  • 과소 적합 : 모델이 너무 단순해서 데이터의 내재된 구조를 학습하지 못할 때
    • 모델 파라미터가 더 많은 강력한 모델을 선택
    • 학습 알고리즘에 더 좋은 특성을 제공
    • 모델의 제약을 줄임 (규제 하이퍼 파라미터를 감소시킴)
“최고의 알고리즘을 찾는 단 하나의 확실한 방법은 모든 알고리즘을 시도해보는 것”

 

반응형

댓글