Machine Learning

Ko Hyejung·2021년 7월 13일
0

ML

목록 보기
1/1

Machine Learning

  • 명시적인 programming 없이 컴퓨터가 학습하는 능력을 갖추게 하는 연구 분야
  • 데이터를 통해 다양한 pattern을 감지하고 스스로 학습 가능한 model 개발에 초점

Supervised Learning

  • 주어진 입력으로부터 출력값을 예측할 때 사용
  • 입력과 정답 data를 통해 모델을 학습시킨 후 새로운 input data에 대해 정확한 출력을 예측하도록 하는 것이 목표
  • supervised learning algorithm의 학습 data를 만드는 것 자체가 많은 노력과 resources를 필요로 하지만, high performance 기대 가능

Classification & Regression

  • supervised learning algorithm은 크게 classification과 regression으로 구분
  • classification은 입력 data를 미리 정의된 여러 개의 class 중 하나로 예측
  • regression은 class의 개수가 2개인 binary classification과 3개 이상인 multi-class classfication으로 구분
  • regression은 연속적인 숫자를 예측하는 것으로 예를 들면, 나이, 농작물의 수확량, 주식 가격 등 출력값이 '연속성'을 갖는다면 regression에 해당

Supervised Learning Algorithm

  • Linear Regression
  • Logistic Regression
  • Support Vector Machine
  • K-Nearest Neighbors
  • Decision Tree
  • Ensemble
  • Neural Networks

Unsupervised Learning

  • 원하는 출력 없이 입력 데이터를 사용
  • 입력 데이터의 구조나 패턴을 찾는 것이 목표
  • 미리 정해진 겨로가가 없고 방대한 양의 데이터에서 유용한 insight를 얻을 수 있음

Clustering & Dimensionality Reduction & Association Rules

  • Unsupervised Learning Algorithm은 크게 clustering, dimensionality reduction, association rules로 구분
  • clustering은 공간 상에서 서로 가깝고 유사한 데이터를 클러스터로 그룹화
  • dimensionality reduction은 고차원의 데이터에 대해 너무 많은 정보를 잃지 않으면서 데이터 축소
  • association rules는 데이터에서 특성 간의 연관성이 있는 흥미로운 규칙을 찾는 방법

Unsupervised Learning Algorithm

  • Clustering : K-Means, DBSCAN, Hierarchical Cluster Analysis, Outlier Detection, Novelty Detection
  • Dimensionality Reduction : Principle Component Analysis, Kernel PCA, T-Distributed Stochastic Neighbor Embedding
  • Association Rule Learning : Apriori, Eclat

Semi-supervised Learning

  • label이 있는 것과 없는 것이 혼합된 경우
  • 일반적으로는 일부 데이터에만 레이블이 있음
  • semi supervised learning algorithm의 경우 대부분 supervised learning algorithm과 unsupervised learning algorithm의 combination

Reinforcement Learning

  • 동적 환경과 함께 상호 작용하는 feedback 기반 학습 방법
  • agent가 환경을 관찰하고 행동을 실행하며 reward 또는 penality를 받음
  • agent는 이러한 feedback을 통해 자동으로 학습하고 performance를 향상시킴
  • 어떤 지도가 없이 일정한 goal 수행

Online Learning VS Batch Learning

  • Online Learning : 적은 데이터를 사용해 mini-batch 단위로 점진적 학습, 실시간 시스템이나 메모리 부족의 경우 사용
  • Batch Learning : 전체 데이터를 모두 사용해 offline에서 학습, 컴퓨팅 자원이 풍부한 경우 사용

Instance-based Learning VS Model-based Learning

  • Instance-based Learning : 훈련 데이터를 학습을 통해 기억, 예측을 위해 데이터 사이의 '유사도' 측정, 새로운 데이터와 학습된 데이터를 비교
  • Model-based Learning : 훈련 데이터를 사용해 모델을 훈련, 훈련된 모델을 사용해 새로운 데이터를 예측

Generalization & Overfitting & Underfitting

Generalization

  • 일반적으로 supervised learning model은 학습 데이터로 훈련시킨 뒤 평가 데이터에서도 정확하게 예측하기를 기대함
  • 훈련된 모델이 처음 보는 데이터를 정확하게 예측한다면 이러한 상태의 model을 generalization 되었다고 함
  • 모델이 항상 generalized 는 아님

Overfitting

  • 주어진 훈련 데이터에 비해 complicated model을 사용하면 모델은 훈련 데이터에서만 정확한 performance를 보이고 평가 데이터에서는 lower performance를 보임
  • 즉, 모델이 주어진 훈련 데이터는 잘 예측하지만 일반적인 특징을 학습하지 못해 평가 데이터에서는 lower performance를 보이는 상태를 overfitting이라고 함

Underfitting

  • overfitting과 반대로 주어진 훈련 데이터에 비해 너무 간단한 모델을 사용하면 모델이 데이터에 존재하는 다양한 정보들을 제대로 학습하지 못함
  • 이런 경우 모델은 훈련 데이터에서도 bad performance를 보이고 평가 데이터에서도 lower performance를 보여 underfitting 상태라고 함

Model complexity & size of Data Set

  • 데이터의 다양성이 클수록 더 복잡한 모델을 사용하면 좋은 성능을 get
  • 일반적으로 더 큰 data-set일수록 다양성이 높기 때문에 더 복잡한 모델 사용 가능
  • but 같은 데이터를 중복하거나 비슷한 데이터를 모으는 것은 다양성 증가에 도움이 안 됨
  • 데이터를 더 많이 수집하고 적절한 모델을 만들어 사용하면 supervised learning을 통해 놀라운 결과 get

0개의 댓글