Post

기계학습 - 개요

기계학습

1. 개요

기계학습(Machine Learning)이란 주어진 데이터로 하여금 기계가 규칙을 찾아 예측하는 것을 말한다.
데이터를 기반으로 규칙을 찾아낸다는 점에서 데이터 마이닝과 비슷하다고 생각할 수 있지만 찾는것에 중점을 두는 데이터 마이닝과는 달리, 기계학습은 찾아낸 규칙으로 하여금 알고리즘을 발전시켜 더 나은 예측을 하는 것을 목표로 한다.

2. 종류

현재 나와있는 기계학습의 종류는 아래와 같다.

1) 지도 학습

a. 분류

이 분류 방식도 이진 분류이냐, 다중 분류이냐로 나뉘는데 이진 분류는 두 개중 하나의 답을 선택하는 경우이고 다중 분류는 다수의 답 중 하나를 선택하는 것이다.
대부분 이진 분류는 어떤 문제에 대해 참, 거짓에 대해 답변하고, 다중 분류는 어떤 분류에 속하냐에 대해 답한다.

자주 쓰이는 알고리즘은 아래와 같다.

  • Logistic Regression
  • Support Vector Machine
  • Random Forest
  • Decision Tree
  • K-Nearest Neighbors (KNN)
  • Naive Bayes

b. 회귀

연속적인 값의 범위 내에서 예측값이 나오는 경우를 말한다.
입력 받은 값에 의해 적합한 모델을 생성하고 해당 모델을 기준으로 앞으로의 값을 예측한다.

자주 쓰이는 알고리즘은 아래와 같이 있다.

  • Linear Regression
  • Polynomial Regression
  • Ridge Regression
  • Lasso Regression
  • Decision tree
  • Random Forest

2) 비지도 학습

a. 군집화

유사성에 따라 데이터를 군집으로 그룹화하는 방식이다. 이러한 군집화의 경우 레이블이 지정된 예제가 필요 없이 데이터의 패턴과 관계를 식별하는 데 사용한다.

자주 쓰이는 알고리즘은 아래와 같이 있다.

  • K-Means Clustering algorithm
  • Mean-shift algorithm
  • DBSCAN Algorithm
  • Principal Component Analysis
  • Independent Component Analysis

b. 연관 규칙 학습

연관 규칙 학습은 데이터 세트의 항목 간 관계를 발견하는 방법으로, 특정 확률로 한 항목의 존재가 다른 항목의 존재를 암시한다는 것을 나타내는 규칙을 찾아내는 방법이다.

  • Apriori Algorithm
  • Eclat
  • FP-growth Algorithm

3) 자기 지도 학습

레이블이 없는 데이터가 입력되면 모델이 데이터에 레이블을 붙여서 학습하는 방식이다.

자주 쓰이는 알고리즘은 아래와 같다.

  • work2Vec : 워드 임베딩
  • BERT : 언어 모델 학습

4) 반 지도 학습

라벨이 붙어 있는 데이터와 붙어있지 않은 데이터를 모두 사용한다.

a. 그래프 기반 반지도 학습

이 접근 방식은 데이터 포인트 간의 관계를 그래프로 표현한다. 이 그래프를 사용하여 라벨이 지정된 데이터 포인트에서 라벨이 없는 데이터 포인트로 라벨을 전파한다.

b. 라벨 전파

이 접근 방식은 데이터 포인트 간의 유사성을 기반으로, 라벨이 지정된 데이터 포인트에서 라벨이 없는 데이터 포인트로 반복적으로 라벨을 전파한다.

c. 공동 학습 (Co-training)

이 접근 방식은 서로 다른 하위 데이터셋을 사용하여 두 개의 머신러닝 모델을 훈련한다. 그 후, 두 모델이 서로의 예측을 라벨링하는 방식으로 학습을 진행한다.

d. 자기 학습 (Self-training)

이 접근 방식은 라벨이 지정된 데이터로 머신러닝 모델을 먼저 훈련한 후, 해당 모델을 사용하여 라벨이 없는 데이터의 라벨을 예측한다. 그 후, 예측된 라벨과 기존 라벨 데이터를 함께 사용하여 모델을 다시 훈련한다.

e. 생성적 적대 신경망 (GANs)

GAN은 합성 데이터를 생성할 수 있는 딥러닝 알고리즘의 한 유형이다. GAN은 생성자(Generator)와 판별자(Discriminator)라는 두 개의 신경망을 훈련하여 반지도 학습을 위한 라벨이 없는 데이터를 생성하는 데 사용할 수 있다.

5) 강화학습

a. Q-러닝 (Q-learning)

Q-러닝은 모델 기반이 아닌 강화 학습 알고리즘으로, 상태(state)와 행동(action)을 매핑하는 Q-함수를 학습한다. Q-함수는 특정 상태에서 특정 행동을 취했을 때 기대되는 보상(expected reward)을 추정한다.

b. SARSA (State-Action-Reward-State-Action)

SARSA는 또 다른 모델 기반이 아닌 강화 학습 알고리즘으로, Q-함수를 학습한다. 그러나 Q-러닝과 달리, SARSA는 최적 행동이 아니라 실제 수행된 행동에 대해 Q-함수를 업데이트한다.

c. 심층 Q-러닝 (Deep Q-learning)

심층 Q-러닝은 Q-러닝과 딥러닝을 결합한 방법이다. 심층 Q-러닝은 Q-함수를 신경망으로 표현하여, 상태와 행동 간의 복잡한 관계를 학습할 수 있도록 한다.

※ 본 포스팅은 추가적으로 업데이트 될 예정이다. 내가 제대로 정리한게 맞는지 검증이 필요하다.

참고 자료

This post is licensed under CC BY 4.0 by the author.