머신러닝이란? 왜 머신러닝인가?

머신러닝을 간단하고도 공학적으로 정의한 문장이 있다.

어떤 작업 T에 대한 컴퓨터 프로그램의 성능을 P로 측정했을 때 경험 E로 인해 성능이 향상 됐다면, 이 컴퓨터 프로그램은 작업 T와 성능 측정 P에 대해 경험 E로 학습한 것이다.

머신러닝을 사용하면 하드 코딩으로는 구현하기 힘들고 복잡한 문제도 비교적 쉽게 처리할 수 있다. 스팸 메일을 분류하는 프로그램을 만들고자 할 때 스팸 메일으 모든 특징을 코드로 구현한다고 생각해보자!


머신러닝 시스템의 분류

머신러닝은 다양한 기준에 따라 분류할 수 있다.

  1. 훈련 지도 방식
    • 지도 학습: ex. 분류, 회귀
    • 비지도 학습: ex. 군집화, 시각화, 이상치 탐지
    • 준지도 학습: 레이블이 일부만 있음.
    • 자기 지도 학습: 레이블이 전혀 없는 데이터셋에서 레이블이 완전히 부여된 데이터셋을 생성. 훈련하는 동안 생성된 레이블을 사용하므로 지도 학습에 더 가까움.
    • 강화 학습: 에이전트가 보상을 통해 정책을 학습. ex. 알파고
  2. 실시간으로 점진적인 학습을 하는지 여부
    • 배치 학습: 데이터셋 전체를 이용해 학습.
    • 온라인 학습: 미니배치를 이용해 실시간으로 점진적 학습.
  3. 단순하게 알고 있는 데이터 포인트와 새 데이터 포인트를 비교하는지 아니면 패턴을 인식하여 예측 모델을 만드는지 여부
    • 사례 기반 학습: 훈련 샘플을 기억해서 유사도를 측정.
    • 모델 기반 학습: 훈련 샘플을 바탕으로 예측 모델을 만듦.

위 1, 2, 3은 배타적이지 않다. 즉, 하나의 프로그램이 ‘지도 학습’을 사용하면서 ‘온라인 학습’인 동시에 ‘모델 기반 학습’일 수 있다.

모델 기반 학습의 예시로 GDP를 이용해 행복도를 예측하는 학습을 실습하였다.

GDP를 이용해 행복도 예측



별도의 출처 표시가 있는 이미지를 제외한 모든 이미지는 강의자료에서 발췌하였음을 밝힙니다.

댓글남기기