기계학습

기계학습

CMS419 2021. 9. 3. 13:37
  • 인공지능
    • 사고방식이나 학습 등 인간이 가지는 지적 능력을 컴퓨터를 구현하는 기술
  • 머신러닝
    • 컴퓨터가 스스로 학습하여 인공지능의 성능을 향상 시키는 기술 방법
  • 딥러닝
    • 인간의 뉴런과 비슷한 인공신경망 방식으로 정보를 처리

머신러닝?

  • 데이터에서부터 학습하도록 컴퓨터를 프로그래밍하는 과학(or 예술)

기본 용어

훈련 세트(tranining set): 시스템이 학습하는 데 사용하는 샘플

훈련 사례(training instance or sample) : 각 훈련 데이터

왜 머신러닝이 사용하는 가?

  • 전통적 프로그래밍 기법으로는 규칙이 점점 길고 복잡 해지므로 유지 보수 하기 매우 힘듦
  • 전통적인 방식으로는 너무 복잡하거나 알려진 알고리즘이 없는 분야

장점

  • 하나의 머신러닝 모델이 코드를 간단하게 만들고 전통적인 방법보다 더 잘 수행되도록 할 수 있다.
  • 전통적인 방식으로 해결 방법이 없는 복잡한 문제를 해결 할 수 있다.
  • 새로운 데이터에 적응 가능하다.
  • 복잡한 문제와 대량의 데이터에서 통찰을 얻을 수 있다.

종류

넓은 범주의 분류

사람의 감독하에 훈련하는 것인지 아닌지: 지도, 비지도, 준지도, 강화 학습

실시간 점진적인 학습을 하는지 아닌지 : 온라인 학습과 배치 학습

단순하게 알고 있는 데이터 포인트와 새 데이터 포인트를 비교하는 것인지 아니면 과학자처럼 훈련 데이터셋에서 패턴을 발견하여 예측 모델을 만드는지 : 사례 기반 학습과 모델 기반 학습

지도 학습과 비지도 학습

  • 지도 학습
    • 알고리즘에 주입하는 훈련 데이터에 label 이라는 원하는 답이 포함된다
  • 비지도 학습
    • 훈련 데이터에 레이블이 없어서, 시스템이 아무런 도움 없이 학습해야 한다.

배치 학습과 온라인 학습

  • 배치 학습
    • 시스템이 점진적으로 학습 할 수 없다
  • 온라인 학습
    • 데이터를 순차적으로 한 개씩 또는 미니배치 (mini batch)라 부르는 작은 묶음 단위로 주입하여 시스템을 훈련한다

사례 기반 학습과 모델 기반 학습

머신러닝의 주요 도전 과제 데이터

  • 머신러닝에서는 데이타가 중요하다!!!!!!!!!!!
  • 일반화가 잘되려면 새로운 데이터를 학습 데이터 잘 대표하는 것이 중요하다.
  • 학습에 사용할 좋은 특성을 찾는 것이 중요 --> 특성공학 (feature engineering)
    • 특성 선택(feature selection) : 가지고 있는 특성 중에서 유용한 특성 선택
    • 특성 추출(feature extraction) : 특성을 걸합하여 유용한 특성으로 만듦
  • 머신러닝 알고리즘이 학습데이터에 과대적합(Overfitting) 되지 않아야 함
    • 파라미터 수가 적은 모델을 선택 고차원 다항 모델 보다 선형 모델
    • 학습 데이터에서 특성 수를 줄이거나 , 모델에 제약을 가함
    • 학습 데이터를 더 많이 모음
    • 학습 데이터의 노이즈를 줄임
  • 과소적합(underfitting) 되지 되지 않아야 함
    • 파라미터가 더 많은 모델을 선택
    • 더 좋은 특성을 추가
    • 모델의 제약을 줄임

테스트와 검증

  • 학습 세트 (Train Set): 머신러닝 모델을 학습할 때 사용하는 데이터 셋
  • 검증 셋트 (Validation Set): 모델학습에 필요한 하이퍼파라미터를 찾기위해 사용하는 데이터 셋
  • 테스트 세트 (Test Set): 학습된 모델을 평가하기 위한 데이터 셋