인공지능 머신러닝의 기초, 개념, 종류

반응형

머신러닝이란?

  • 일반적인 정의
    • 명시적인 프로그래밍 없이 컴퓨터가 학습하는 능력을 갖추게하는 연구 분야
  • 공학적인 정의
    • 어떤 작업 T에 대한 컴퓨터 프로그램의 성능을 P로 측정했을 때 경험 E로 인해 성능이 향상됐다면, 이 컴퓨터 프로그램은 작업 T와 성능 측정 P에 대해 경험 E로 학습한 것
  • 훈련 세트(training set) : 시스템이 학습하는 데 사용하는 샘플
  • 훈련 사례(training instance) : 훈련 사례 (혹은 샘플)
  • 훈련 데이터(training data) : 예를 들면 스팸 메일 분류에서 작업T는 새로운 메일이 스팸인지 구분하는 것, 경험 E는 훈련 데이터
  • 성능 측정 P : 직접 정의, 스팸 메일 분류에서 정확히 분류된 메일의 비율을 P로 사용
  • 정확도(accuracy) : 성능 측정의 척도, 분류 작업에 자주 사용

머신러닝을 사용하는 이유?

  • 전통적인 접근 방법 : 문제가 생기면 문제 해결을 위한 규칙이 점점 길어지고 복잡해지므로 유지 보수가 어려움
  • 머신러닝 접근 방법 : 머신러닝을 사용하면 프로그램이 훨씬 짧아지고 유지 보수하기 쉬우며 대부분의 정확도가 높음
    • 데이터 마이닝(data mining) : 머신러닝 기술을 적용해서 대용량의 데이터를 분석하면 겉으로는 보이지 않던 패턴을 발견하는 과정


머신러닝의 종류

  1. 지도, 비지도, 준지도, 강화 학습 : 사람의 감독하에 훈련하는 것인지 그렇지 않은 것인지
  2. 온라인 학습과 배치 학습 : 실시간으로 점진적인 학습을 하는지 아닌지
  3. 사례 기반 학습과 모델 기반 학습 : 단순하게 알고 있는 데이터 포인트와 새 데이터 포인트를 비교하는 것인지 아니면 과학자들이 하는 것처럼 훈련 데이터셋에서 패턴을 발견하여 예측 모델을 만드는지

1-1. 지도 학습

  • 지도 학습(supervised learning) : 알고리즘에 주입하는 훈련 데이터에 레이블(label)이라는 원하는 답이 포함된 것
    • 분류(classification) : 훈련 데이터로 훈련되어야 하며 어떻게 분류할지 학습하는 것 (예: 스팸 필터)
    • 회귀(regression) : 예측 변수(predictor variable)라 부르는 특성(feature)을 사용해 타깃(target) 수치를 예측 하는 것 (예: 중고차 가격, 특성(주행거리, 연식, 브랜드 등) / 타깃(중고차 가격)
      • 로지스틱 회귀(logistic regression) : 분류 알고리즘을 회귀에 사용 할 때 널리 쓰이는 지도 학습 알고리즘 (예: 스팸일 가능성 20%)
  • 지도 학습의 알고리즘 종류
    • k-최근접 이웃(k-nearest neighbors)
    • 선형 회귀(linear regression)
    • 로지스틱 회귀(logistic regression)
    • 서포트 벡터 머신(support vector machine)(SVM)
    • 결정 트리(decision tree)와 랜덤 포레스트(random forest)
    • 신경망(neural networks)

1-2. 비지도 학습

  • 비지도 학습(unsupervised learning) : 훈련 데이터에 레이블이 없는 것, 즉 시스템에 아무런 도움 없이 학습해야 하는 것
  • 비지도 학습의 알고리즘 종류
    • 군집(clustering) : 각 그룹을 더 작은 그룹으로 세분화하는 것
      • k-평균(k-means)
      • DBSCAN
      • 계층 군집 분석(hierarchical cluster analysis(HCA)
    • 이상치 탐지(outlier detection)와 특이치 탐지(novelty detection)
      - 이상치 탐지 : 데이터셋에서 이상한 값을 자동으로 제거하는 것
      - 특이치 참조 : 훈련 세트에 있는 모든 샘플과 달리 보이는 새로운 샘플을 탐지하는 것
      • 원-클래스(one-class SVM)
      • 아이솔레이션 포레스트(isolation forest)
    • 시각화(visualization)와 차원 축소(dimensionality reduction)
      - 시각화 : 레이블이 없는 대규모의 고차원 데이터를 넣으면 도식화가 가능한 2D나 3D 표현을 만들어주는 것
      - 차원 축소 : 너무 많은 정보를 잃지 않으면서 데이터를 간소화하는 것, 두 특성을 하나의 특성으로 합침(특성 추출(feature extraction))
      • 주성분 분석(principal component analysis)(PCA)
      • 커널(kernel) PCA
      • 지역적 선형 임베딩(locally-linear embedding)(LLE)
      • t-SNE(t-distributed stochastic neighbor embedding)
    • 연관 규칙 학습(association rule learning) : 대량의 데이터에서 특성 간의 흥미로운 관계를 찾는 것
      • 어프라이어리(Apriori)
      • 이클렛(Eclat)

1-3. 준지도 학습

  • 준지도 학습(semisupervised learning) : 레이블이 없는 샘플과 레이블된 샘플, 일부만 레이블이 있는 데이터를 다루어 학습하는 것
  • 비지도 학습의 알고리즘 종류 (대부분의 준지도 학습 알고리즘은 지도 학습과 비지도 학습의 조합으로 구성)
    • 심층 신뢰 신경망(deep belief netword)(DBN)
    • 제한된 볼츠만 머신(restricted Bolzmann machine)(RBM) : 비지도 학습으로 순차적으로 훈련된 다음 전체 시스템이 지도 학습 방식으로 세밀하게 조정하는 것

1-4. 강화 학습

  • 강화 학습(reinforcement learning) : 환경을 관찰해서 행동을 실행하고 그 결과로 가장 큰 보상을 얻기 위해 최상의 전략을 스스로 학습하는 것 (예: 알파고)
    - 에이전트 : 학습하는 시스템
    - 보상 : 환경을 관찰해서 행동을 실행한 결과
    - 정책 : 시간이 지나면서 가장 큰 보상을 얻기 위한 전략

2-1. 배치 학습

  • 배치 학습(batch learning)
    • 시스템이 점진적으로 학습 불가, 가용한 데이터를 모두 사용해 훈련 시키는 것
    • 일반적으로 시간과 자원을 많이 소모하므로 보통 오프라인 학습 수행, 즉 학습한 것을 단지 적용만 함
    • 오프라인 학습(offline learning) : 먼저 시스템을 훈련시키고 시스템에 적용하여 더 이상의 학습 없이 실행하는 것

2-2. 온라인 학습

  • 온라인 학습(online learning)
    • 데이터를 순차적으로 한 개씩, 또는 작은 묶음(미니 배치(mini-batch)) 단위로 주입하여 시스템을 훈련시키는 것
    • 매 학습 단계가 빠르고 비용이 적게 들어 시스템은 데이터가 도착하는 대로 즉시 학습 가능
    • 외부 메모리(out-of-core) 학습 : 컴퓨터 한 대의 메인 메모리에 들어갈 수 없는 아주 큰 데이터셋을 학습 할 때 알고리즘이 데이터 일부를 읽어 들이고 훈련 단계를 수행하여 전체 데이터가 모두 적용할 때까지 과정을 반복하는 것
    • 학습률(learning rate) : 변화하는 데이터에 얼마나 빠륵 적응할 것인지의 척도
      • 학습률을 높게 하면 시스템이 데이터에 빠르게 적응하지만 예전 데이터를 금방 잊어버림
      • 반대로 학습률이 낮으면 시스템의 관성이 더 커져서 더 느리게 학습
  • 온라인 학습의 가장 큰 문제점은 시스템에 나쁜 데이터가 주입되었을 때 시스템 성능이 점진적으로 감소

3-1. 사례 기반 학습과 모델 기반 학습

  • 사례 기반 학습(instance-based learning) : 유사도를 측정해서 새로운 데이터와 학습한 샘플을 비교하여 일반화하는 것
  • 모델 기반 학습(model-based learning) : 샘플들의 모델을 만들어 예측에 사용하는 것
반응형