A A
[ML] Machine Learning (λ¨Έμ‹ λŸ¬λ‹) Intro
μ΄λ²ˆκΈ€λΆ€ν„°λŠ” Machine Learning (λ¨Έμ‹ λŸ¬λ‹)에 λ°ν•˜μ—¬ ν•œλ²ˆ μ•Œμ•„λ³΄λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€.

Machine Learning μ†Œκ°œ

Machine Learning (κΈ°κ³„ν•™μŠ΅)은 λ¬΄μ—‡μΌκΉŒμš”?

 

  • λ¨Έμ‹ λŸ¬λ‹μ€ 인곡지λŠ₯의 ν•œ λΆ„μ•Όλ‘œ, λ°μ΄ν„°μ—μ„œ νŒ¨ν„΄μ„ ν•™μŠ΅ν•˜κ³  μ˜ˆμΈ‘ν•˜κ±°λ‚˜ μ˜μ‚¬ 결정을 λ‚΄λ¦¬λŠ” μ•Œκ³ λ¦¬μ¦˜μ„ μ‚¬μš©ν•©λ‹ˆλ‹€.
  • μ‚¬λžŒμ˜ κ°œμž… 없이도 슀슀둜 μ„±λŠ₯을 κ°œμ„ ν•  수 μžˆλŠ” λŠ₯λ ₯을 가진 μ‹œμŠ€ν…œμž…λ‹ˆλ‹€.
  • λ˜ν•œ μ£Όμš” νŠΉμ§•μ€ 데이터λ₯Ό 톡해 ν•™μŠ΅ν•˜λ©΄μ„œ μ§€μ†μ μœΌλ‘œ μ„±λŠ₯을 ν–₯μƒμ‹œν‚€λŠ” λͺ¨λΈμž…λ‹ˆλ‹€.
  • 그러면 ν•œλ²ˆ μ˜ˆμ‹œλ₯Ό λ“€μ–΄μ„œ λ¨Έμ‹ λŸ¬λ‹μ΄ μ—†λ‹€λ©΄ μ–΄λ–»κ²Œ λ κΉŒμš”?

λ¨Έμ‹ λŸ¬λ‹μ΄ μ—†λ‹€λ©΄? (μŠ€νŒΈλ©”μΌ μ˜ˆμ‹œ)

  • 전톡적 μ ‘κ·Ό: 슀팸으둜 μ˜μ‹¬λ˜λŠ” 단어에 λŒ€ν•œ λΈ”λž™λ¦¬μŠ€νŠΈλ₯Ό κ΅¬μΆ•ν•˜κ³ , μƒˆλ‘œμš΄ 단어가 μžˆμ„ λ•Œλ§ˆλ‹€ μΆ”κ°€ν•©λ‹ˆλ‹€.
  • 이 κ³Όμ •μ—λŠ” 슀팸으둜 μ˜μ‹¬λ˜λŠ” 단어λ₯Ό μ •ν•˜κΈ° μœ„ν•΄ μ „λ¬Έκ°€κ°€ ν•„μš”ν•©λ‹ˆλ‹€.

λ¨Έμ‹ λŸ¬λ‹μ΄ μžˆλ‹€λ©΄? (μŠ€νŒΈλ©”μΌ μ˜ˆμ‹œ)

  • λ¨Έμ‹ λŸ¬λ‹ μ ‘κ·Ό: μŠ€νŒΈλ©”μΌμ˜ λ‹¨μ–΄λ“€μ—μ„œ νŒ¨ν„΄μ„ λΆ„μ„ν•˜μ—¬, μŠ€νŒΈλ©”μΌμ—λŠ” 자주 λ“±μž₯ν•˜κ³  μΌλ°˜λ©”μΌμ—λŠ” 자주 λ“±μž₯ν•˜μ§€ μ•ŠλŠ” 단어λ₯Ό μΆ”μΆœν•©λ‹ˆλ‹€. 이 κ³Όμ •μ—μ„œλŠ” μ „λ¬Έκ°€μ˜ κ°œμž…μ΄ ν•„μš”ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

λ¨Έμ‹ λŸ¬λ‹, μ–Έμ œ μ¨μ•Όν•˜μ§€?

그러면, λ¨Έμ‹ λŸ¬λ‹μ€ λ„λŒ€μ²΄ μ–Έμ œ 써야 ν•˜λŠ” κ±΄κ°€μš”? 크게 3κ°€μ§€μ˜ κ²½μš°μ— μ‚¬μš©ν•œλ‹€κ³  λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

 

  • 데이터 νŒ¨ν„΄ 뢄석: μ‚¬λžŒμ΄ 직접 νŒ¨ν„΄μ„ μ°ΎκΈ° νž˜λ“  λŒ€κ·œλͺ¨ 데이터 νŒ¨ν„΄μ„ 뢄석할 λ•Œ.
  • 예츑과 λΆ„λ₯˜: κΈ°μ‘΄ λ°μ΄ν„°λ‘œλΆ€ν„° 미래λ₯Ό μ˜ˆμΈ‘ν•˜κ±°λ‚˜ νŠΉμ • λ²”μ£Όλ‘œ λΆ„λ₯˜ν•΄μ•Ό ν•  λ•Œ.
  • μžλ™ν™”λœ μ˜μ‚¬κ²°μ • ν”„λ‘œμ„ΈμŠ€: 주어진 μž…λ ₯을 λ°”νƒ•μœΌλ‘œ κΈ°λŒ€ν•˜λŠ” 좜λ ₯을 λ°˜ν™˜ν•  λ•Œ.

 λ¨Έμ‹ λŸ¬λ‹ Processλ₯Ό μ§„ν–‰ν•˜κΈ° 전에 확인해봐야 ν•˜λŠ”μ 

Machine Learning Processλ₯Ό μ§„ν–‰ν•˜κΈ° 전에 μš°λ¦¬κ°€ 체크λ₯Ό 해봐야 ν•˜λŠ” 점듀이 μ—¬λŸ¬κ°œ μžˆμŠ΅λ‹ˆλ‹€.

 

  • μ–΄λ–€ 질문(문제)에 λŒ€ν•œ μ–΄λ–€ λ‹΅(ν•΄κ²°)을 μ›ν•˜λŠ”κ°€? β†’ 문제 μ •μ˜μ™€ λͺ©ν‘œ 섀정이 λͺ…ν™•ν•΄μ•Ό ν•©λ‹ˆλ‹€.
  • λ‚΄κ°€ κ°–κ³  μžˆλŠ” 데이터에 닡이 μžˆλŠ”κ°€? β†’ 데이터λ₯Ό λΆ„μ„ν•˜μ—¬ ν•΄κ²°ν•˜κ³ μž ν•˜λŠ” λ¬Έμ œμ— μœ νš¨ν•œμ§€ 확인해야 ν•©λ‹ˆλ‹€.
  • 데이터가 μΆ©λΆ„ν•œκ°€? β†’ ν•™μŠ΅μ— ν•„μš”ν•œ μΆ©λΆ„ν•œ μ–‘μ˜ 데이터가 ν™•λ³΄λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€.
  • μ–΄λ–€ 방법이 λ‚΄ μ§ˆλ¬Έμ„ κ°€μž₯ 잘 ν•΄κ²°ν•΄ 쀄 수 μžˆλŠ”κ°€? β†’ λ‹€μ–‘ν•œ λ¨Έμ‹ λŸ¬λ‹ μ•Œκ³ λ¦¬μ¦˜ 쀑 μ μ ˆν•œ 방법을 선택해야 ν•©λ‹ˆλ‹€.
  • λ‚΄κ°€ λ§Œλ“  λ¨Έμ‹ λŸ¬λ‹ ν”„λ‘œμ„ΈμŠ€μ˜ κ²°κ³Όλ₯Ό μ–΄λ–»κ²Œ 평가할 수 μžˆλŠ”κ°€? β†’ λͺ¨λΈμ˜ μ„±λŠ₯을 평가할 수 μžˆλŠ” μ§€ν‘œμ™€ 방법을 사전에 μ •μ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€.

μ΄λ ‡κ²Œ μš°λ¦¬κ°€ μ–΄λ– ν•œ 사둀에 λ¨Έμ‹ λŸ¬λ‹μ„ μ μš©ν•˜κΈ° μœ„ν•΄μ„œλŠ” 문제 μ •μ˜, 데이터 확보, μ μ ˆν•œ 방법 선택, 그리고 κ²°κ³Ό ν‰κ°€μ˜ ν”„λ‘œμ„ΈμŠ€λ₯Ό 사전에 확인해야 ν•œλ‹€λŠ” 점이 μžˆμŠ΅λ‹ˆλ‹€.


주둜 μ‚¬μš©ν•˜λŠ” λ¨Έμ‹ λŸ¬λ‹ Library

Numpy

NumpyλŠ” κ³Όν•™ 계산을 μœ„ν•œ 핡심 파이썬 라이브러리둜, κ³ μ„±λŠ₯ 닀차원 λ°°μ—΄ 객체와 λ‹€μ–‘ν•œ μˆ˜ν•™ ν•¨μˆ˜λ“€μ„ μ œκ³΅ν•©λ‹ˆλ‹€.
λ¨Έμ‹ λŸ¬λ‹κ³Ό 데이터 λΆ„μ„μ˜ 기초 라이브러리둜 널리 μ‚¬μš©λ©λ‹ˆλ‹€.

μ£Όμš” κΈ°λŠ₯

  • 닀차원 λ°°μ—΄ 객체: 효율적인 닀차원 λ°°μ—΄(ndarray)λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.
  • μˆ˜ν•™ ν•¨μˆ˜: μ„ ν˜• λŒ€μˆ˜, 톡계, 푸리에 λ³€ν™˜ λ“±μ˜ μˆ˜ν•™ ν•¨μˆ˜λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.
  • λ°°μ—΄ μ‘°μž‘: λ°°μ—΄ 생성, λ³€ν™˜, 인덱싱, μŠ¬λΌμ΄μ‹± λ“±μ˜ κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€.
  • λΉ λ₯Έ 계산: C둜 κ΅¬ν˜„λ˜μ–΄ μžˆμ–΄ λΉ λ₯Έ 계산 속도λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.

μž₯점:

  • μ„±λŠ₯: λŒ€κ·œλͺ¨ 데이터 처리λ₯Ό μœ„ν•œ κ³ μ„±λŠ₯ μ—°μ‚°.
  • ν˜Έν™˜μ„±: λ‹€λ₯Έ κ³Όν•™ 계산 및 λ¨Έμ‹ λŸ¬λ‹ λΌμ΄λΈŒλŸ¬λ¦¬μ™€μ˜ ν˜Έν™˜μ„±.
  • μ‚¬μš©μ˜ μš©μ΄μ„±: κ°„λ‹¨ν•œ λ°°μ—΄ μ—°μ‚°μœΌλ‘œ λ³΅μž‘ν•œ μˆ˜ν•™ 계산을 μ‰½κ²Œ μˆ˜ν–‰.

Pandas

PandasλŠ” 데이터 μ‘°μž‘κ³Ό 뢄석을 μœ„ν•œ κ³ μ„±λŠ₯ 라이브러리둜, μ‚¬μš©μ΄ κ°„νŽΈν•œ 데이터 ꡬ쑰와 데이터 뢄석 도ꡬλ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.
주둜 데이터 μ „μ²˜λ¦¬μ™€ 탐색적 데이터 뢄석(EDA)에 μ‚¬μš©λ©λ‹ˆλ‹€.

μ£Όμš” κΈ°λŠ₯

  • 데이터 ν”„λ ˆμž„: ν–‰κ³Ό μ—΄λ‘œ κ΅¬μ„±λœ 2차원 데이터 ꡬ쑰λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.
  • 데이터 μ‘°μž‘: 데이터 μ •μ œ, κ²°μΈ‘κ°’ 처리, 데이터 병합 및 λΆ„ν•  λ“± λ‹€μ–‘ν•œ κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€.
  • 데이터 λ³€ν™˜: 데이터 μ •λ ¬, 필터링, 집계 λ“±μ˜ κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€.
  • μ‹œκ°„ μ‹œκ³„μ—΄ 뢄석: λ‚ μ§œ 및 μ‹œκ°„ 데이터λ₯Ό λ‹€λ£¨λŠ” κΈ°λŠ₯이 μžˆμŠ΅λ‹ˆλ‹€.

μž₯점

  • λ‹€μ–‘ν•œ κΈ°λŠ₯: 데이터 뢄석과 μ „μ²˜λ¦¬λ₯Ό μœ„ν•œ ν’λΆ€ν•œ κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€.
  • ν˜Έν™˜μ„±: λ‹€λ₯Έ 파이썬 라이브러리(Numpy, Scikit-Learn λ“±)μ™€μ˜ ν˜Έν™˜μ„±μ΄ μš°μˆ˜ν•©λ‹ˆλ‹€.

Scikit-Learn

Scikit-Learn은 νŒŒμ΄μ¬μ—μ„œ κ°€μž₯ 널리 μ‚¬μš©λ˜λŠ” λ¨Έμ‹ λŸ¬λ‹ 라이브러리둜, κ°„λ‹¨ν•˜κ³  μΌκ΄€λœ μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ œκ³΅ν•˜λ©° λ‹€μ–‘ν•œ μ•Œκ³ λ¦¬μ¦˜μ„ ν¬ν•¨ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

μ£Όμš” κΈ°λŠ₯

  • 데이터 μ „μ²˜λ¦¬: κ²°μΈ‘κ°’ 처리, 데이터 μŠ€μΌ€μΌλ§, 차원 μΆ•μ†Œ 등을 ν¬ν•¨ν•©λ‹ˆλ‹€.
  • μ§€λ„ν•™μŠ΅ μ•Œκ³ λ¦¬μ¦˜: μ„ ν˜•νšŒκ·€, λ‘œμ§€μŠ€ν‹± νšŒκ·€, μ„œν¬νŠΈ 벑터 λ¨Έμ‹ , μ˜μ‚¬κ²°μ •λ‚˜λ¬΄, 랜덀 포레슀트, k-NN λ“±.
  • λΉ„μ§€λ„ν•™μŠ΅ μ•Œκ³ λ¦¬μ¦˜: k-means, PCA, DBSCAN λ“±.
  • λͺ¨λΈ 평가 및 선택: ꡐ차 검증, ν•˜μ΄νΌνŒŒλΌλ―Έν„° νŠœλ‹, λ‹€μ–‘ν•œ 평가 μ§€ν‘œ.

μž₯점

  • ν’λΆ€ν•œ λ¬Έμ„œν™”: κ΄‘λ²”μœ„ν•œ λ¬Έμ„œμ™€ 예제 μ½”λ“œκ°€ μ œκ³΅λ˜μ–΄ ν•™μŠ΅κ³Ό 적용이 μš©μ΄ν•©λ‹ˆλ‹€.
  • ν™•μž₯μ„±: λ‹€λ₯Έ 파이썬 라이브러리(Numpy, Pandas λ“±)μ™€μ˜ ν˜Έν™˜μ„±μ΄ μ’‹μŠ΅λ‹ˆλ‹€.

λ¨Έμ‹ λŸ¬λ‹ Library Example Code

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# 데이터 생성
from sklearn.datasets import load_iris
from sklearn.datasets import load_digits
from sklearn.datasets import load_breast_cancer
# 데이터 생성
np.random.seed(0)
X = 2 * np.random.rand(100, 1)
y = 4 + 3 * X + np.random.randn(100, 1)
from sklearn.model_selection import train_test_split

# 데이터 λΆ„ν• 
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

print(f"len(X_train): {len(X_train)}")
# len(X_train): 80

 

 

 

ν•™μŠ΅λ°©λ²•κ³Ό λ¨Έμ‹ λŸ¬λ‹

Machine Learning의 ν•™μŠ΅λ°©μ‹μ€ 크게 3κ°œκ°€ μžˆμŠ΅λ‹ˆλ‹€. μ§€λ„ν•™μŠ΅, λΉ„μ§€λ„ν•™μŠ΅, κ°•ν™”ν•™μŠ΅ 3가지가 μžˆλŠ”λ° ν•˜λ‚˜ν•˜λ‚˜ μ„€λͺ…ν•΄ λ³΄κ² μŠ΅λ‹ˆλ‹€.

μ§€λ„ν•™μŠ΅ (Supervised Learning)

μ§€λ„ν•™μŠ΅ (Supervised Learning)은 λ ˆμ΄λΈ”(μ •λ‹΅)이 μžˆλŠ” 데이터λ₯Ό μ‚¬μš©ν•˜μ—¬ λͺ¨λΈμ„ ν•™μŠ΅μ‹œμΌœ μƒˆλ‘œμš΄ 데이터에 λŒ€ν•œ μ˜ˆμΈ‘μ„ μˆ˜ν–‰ν•˜λŠ” λ°©λ²•μž…λ‹ˆλ‹€. μž…λ ₯κ³Ό 좜λ ₯ κ°„μ˜ 관계λ₯Ό ν•™μŠ΅ν•˜μ—¬ μƒˆλ‘œμš΄ μž…λ ₯ 데이터에 λŒ€ν•œ 예츑이 κ°€λŠ₯ν•©λ‹ˆλ‹€.

 

μ˜ˆμ‹œ

  • 이메일 슀팸 필터링: 슀팸과 일반 μ΄λ©”μΌλ‘œ 라벨링된 데이터λ₯Ό μ‚¬μš©ν•˜μ—¬ ν•™μŠ΅λœ λͺ¨λΈμ€ μƒˆλ‘œμš΄ 이메일이 μŠ€νŒΈμΈμ§€ μ•„λ‹Œμ§€ λΆ„λ₯˜ν•©λ‹ˆλ‹€..
  • 주식 가격 예츑: κ³Όκ±° 주식 가격 데이터와 μ‹€μ œ 주식 가격을 μ΄μš©ν•˜μ—¬ ν•™μŠ΅ν•œ λͺ¨λΈμ€ 미래의 주식 가격을 μ˜ˆμΈ‘ν•©λ‹ˆλ‹€..

μ£Όμš” μ•Œκ³ λ¦¬μ¦˜

  • μ„ ν˜•νšŒκ·€ (Linear Regression): 두 λ³€μˆ˜ κ°„μ˜ μ„ ν˜• 관계λ₯Ό λͺ¨λΈλ§.
  • λ‘œμ§€μŠ€ν‹± νšŒκ·€ (Logistic Regression): 이진 λΆ„λ₯˜ 문제λ₯Ό ν•΄κ²°.
  • μ˜μ‚¬κ²°μ •λ‚˜λ¬΄ (Decision Tree): λ°μ΄ν„°μ˜ νŠΉμ„±μ— 따라 μ˜μ‚¬κ²°μ •μ„ 트리 ꡬ쑰둜 λͺ¨λΈλ§.
  • k-NN (k-Nearest Neighbors): κ°€μž₯ κ°€κΉŒμš΄ k개의 이웃 데이터λ₯Ό 기반으둜 예츑.

μž₯점

  • λͺ…ν™•ν•œ λͺ©ν‘œ: μ •λ‹΅(λ ˆμ΄λΈ”)이 λͺ…ν™•νžˆ μ‘΄μž¬ν•˜λ―€λ‘œ λͺ¨λΈμ˜ ν•™μŠ΅ λͺ©ν‘œκ°€ λΆ„λͺ…ν•©λ‹ˆλ‹€.
  • λ‹€μ–‘ν•œ μ‘μš© λΆ„μ•Ό: λΆ„λ₯˜, νšŒκ·€ λ“± λ‹€μ–‘ν•œ λ¬Έμ œμ— 적용이 κ°€λŠ₯ν•©λ‹ˆλ‹€.
  • 높은 μ„±λŠ₯: μΆ©λΆ„ν•œ μ–‘μ§ˆμ˜ 데이터가 제곡될 경우 높은 예츑 μ„±λŠ₯을 λ°œνœ˜ν•©λ‹ˆλ‹€.

단점:

  • 데이터 μ˜μ‘΄μ„±: κ³ ν’ˆμ§ˆμ˜ 라벨링된 데이터가 많이 ν•„μš”ν•©λ‹ˆλ‹€.
  • 과적합 (Overfitting): ν›ˆλ ¨ 데이터에 λ„ˆλ¬΄ 치우쳐 ν•™μŠ΅ν•  경우, μƒˆλ‘œμš΄ 데이터에 λŒ€ν•œ μΌλ°˜ν™” λŠ₯λ ₯이 λ–¨μ–΄μ§ˆ 수 μžˆμŠ΅λ‹ˆλ‹€.
  • λ³΅μž‘μ„± 증가: κ³ μ°¨μ›μ˜ λ°μ΄ν„°λ‚˜ λ³΅μž‘ν•œ λ¬Έμ œμ—μ„œλŠ” λͺ¨λΈμ˜ λ³΅μž‘λ„κ°€ κΈ‰κ²©νžˆ 증가할 수 μžˆμŠ΅λ‹ˆλ‹€.

μ£Όμš” 도전 과제:

  • 데이터 라벨링: λŒ€λŸ‰μ˜ 데이터λ₯Ό λΌλ²¨λ§ν•˜λŠ” 것은 λ§Žμ€ μ‹œκ°„κ³Ό λΉ„μš©μ΄ μ†Œμš”λ©λ‹ˆλ‹€.
  • 데이터 편ν–₯: λ§Œμ•½ 라벨링된 데이터가 νŠΉμ • νŒ¨ν„΄μ— 치우칠 경우, λͺ¨λΈμ΄ 편ν–₯된 μ˜ˆμΈ‘μ„ ν•  κ°€λŠ₯성이 λ†’μŠ΅λ‹ˆλ‹€.
  • λͺ¨λΈ 해석 κ°€λŠ₯μ„±: λ³΅μž‘ν•œ λͺ¨λΈμΌμˆ˜λ‘ 예츑 κ²°κ³Όλ₯Ό ν•΄μ„ν•˜κ³  μ„€λͺ…ν•˜κΈ° μ–΄λ ΅μŠ΅λ‹ˆλ‹€.

λΉ„μ§€λ„ν•™μŠ΅ (Unsupervised Learning)

λΉ„μ§€λ„ν•™μŠ΅ (Unsupervised Learning)은 λ ˆμ΄λΈ”μ΄ μ—†λŠ” λ°μ΄ν„°μ—μ„œ νŒ¨ν„΄μ΄λ‚˜ ꡬ쑰λ₯Ό λ°œκ²¬ν•˜λŠ” ν•™μŠ΅ λ°©λ²•μž…λ‹ˆλ‹€.
λͺ©ν‘œλŠ” 데이터 λ‚΄μ˜ μˆ¨κ²¨μ§„ κ΅¬μ‘°λ‚˜ 관계λ₯Ό μ΄ν•΄ν•˜κ³ , 이λ₯Ό 기반으둜 λ°μ΄ν„°μ˜ λΆ„ν¬λ‚˜ νŠΉμ§•μ„ νŒŒμ•…ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

 

μ˜ˆμ‹œ

  • 고객 μ„ΈλΆ„ν™”: 고객 데이터λ₯Ό κ΅°μ§‘ν™”ν•˜μ—¬ λ§ˆμΌ€νŒ… μ „λž΅μ„ μˆ˜λ¦½ν•©λ‹ˆλ‹€.
  • 이상 탐지: 정상 νŒ¨ν„΄μ—μ„œ λ²—μ–΄λ‚œ 이상 데이터λ₯Ό μ‹λ³„ν•©λ‹ˆλ‹€.
  • 차원 μΆ•μ†Œ: 고차원 데이터λ₯Ό μ €μ°¨μ›μœΌλ‘œ μΆ•μ†Œν•˜μ—¬ 데이터 μ‹œκ°ν™”λ‚˜ 효율적인 데이터 μ²˜λ¦¬μ— ν™œμš©ν•©λ‹ˆλ‹€.

μ£Όμš” μ•Œκ³ λ¦¬μ¦˜:

  • k-means: 데이터λ₯Ό k개의 ν΄λŸ¬μŠ€ν„°λ‘œ λΆ„ν• ν•˜λŠ” ꡰ집화 μ•Œκ³ λ¦¬μ¦˜.
  • PCA (Principal Component Analysis): λ°μ΄ν„°μ˜ 차원을 μΆ•μ†Œν•˜μ—¬ μ£Όμš” νŠΉμ§•μ„ μΆ”μΆœ.
  • DBSCAN (Density-Based Spatial Clustering of Applications with Noise): 밀도 기반 ꡰ집화.
  • 계측적 ꡰ집화: λ°μ΄ν„°μ˜ 계측적 ꡬ쑰λ₯Ό νƒμƒ‰ν•˜λŠ” ꡰ집화 μ•Œκ³ λ¦¬μ¦˜.

μž₯점:

  • 라벨이 ν•„μš” μ—†μŒ: 라벨링된 데이터가 ν•„μš”ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
  • 데이터 탐색: λ°μ΄ν„°μ˜ μˆ¨κ²¨μ§„ κ΅¬μ‘°λ‚˜ νŒ¨ν„΄μ„ λ°œκ²¬ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • λ‹€μ–‘ν•œ μ‘μš© λΆ„μ•Ό: ꡰ집화, 이상 탐지, 차원 μΆ•μ†Œ λ“± λ‹€μ–‘ν•œ λ¬Έμ œμ— μ μš©ν•©λ‹ˆλ‹€.

단점:

  • ν•΄μ„μ˜ 어렀움: λΉ„μ§€λ„ν•™μŠ΅μ˜ κ²°κ³ΌλŠ” ν•΄μ„ν•˜κΈ° μ–΄λ €μš΄ κ²½μš°κ°€ λ§ŽμŠ΅λ‹ˆλ‹€.
  • λͺ¨λΈ ν‰κ°€μ˜ 어렀움: μ§€λ„ν•™μŠ΅μ²˜λŸΌ λͺ…ν™•ν•œ 정닡이 μ—†κΈ° λ•Œλ¬Έμ—, λͺ¨λΈμ˜ μ„±λŠ₯을 ν‰κ°€ν•˜κΈ°κ°€ μ–΄λ ΅μŠ΅λ‹ˆλ‹€.
  • 초기 μ„€μ • 민감도: 초기 νŒŒλΌλ―Έν„° 섀정에 따라 κ²°κ³Όκ°€ 크게 λ‹¬λΌμ§ˆ 수 μžˆμŠ΅λ‹ˆλ‹€.

μ£Όμš” 도전 과제:

  • 졜적의 νŒŒλΌλ―Έν„° μ„€μ •: ꡰ집화 μ•Œκ³ λ¦¬μ¦˜μ˜ 경우, 졜적의 ν΄λŸ¬μŠ€ν„° κ°œμˆ˜λ‚˜ 밀도 νŒŒλΌλ―Έν„°λ₯Ό μ„€μ •ν•˜λŠ” 것이 μ–΄λ ΅μŠ΅λ‹ˆλ‹€.
  • λŒ€κ·œλͺ¨ 데이터 처리: λŒ€κ·œλͺ¨ λ°μ΄ν„°μ…‹μ—μ„œλŠ” 계산 λΉ„μš©μ΄ λ†’μ•„μ§ˆ 수 μžˆμŠ΅λ‹ˆλ‹€.
  • λ…Έμ΄μ¦ˆ 데이터 처리: λ…Έμ΄μ¦ˆλ‚˜ μ΄μƒμΉ˜κ°€ λ§Žμ„ 경우, λͺ¨λΈμ˜ μ„±λŠ₯에 뢀정적인 영ν–₯을 λ―ΈμΉ  수 μžˆμŠ΅λ‹ˆλ‹€.

κ°•ν™”ν•™μŠ΅ (Reinforcement Learning)

κ°•ν™”ν•™μŠ΅ (Reinforcement Learning)은 μ—μ΄μ „νŠΈ(agent)κ°€ ν™˜κ²½(environment)κ³Ό μƒν˜Έμž‘μš©ν•˜λ©΄μ„œ 보상을 μ΅œλŒ€ν™”ν•˜λŠ” 행동(policy)을 ν•™μŠ΅ν•˜λŠ” λ°©λ²•μž…λ‹ˆλ‹€. μ‹œν€€μŠ€ 기반의 μ˜μ‚¬κ²°μ • λ¬Έμ œμ—μ„œ 졜적의 행동을 μ°ΎλŠ” 것이 λͺ©ν‘œμž…λ‹ˆλ‹€.

μ˜ˆμ‹œ:

  • κ²Œμž„ 인곡지λŠ₯: 슀슀둜 ν•™μŠ΅ν•˜μ—¬ 졜적의 μ „λž΅μ„ μ°ΎμŠ΅λ‹ˆλ‹€.
  • λ‘œλ΄‡ μ œμ–΄: νŠΉμ • μž‘μ—…μ„ μˆ˜ν–‰ν•˜λ©΄μ„œ ν™˜κ²½κ³Ό μƒν˜Έμž‘μš©ν•˜μ—¬ 졜적의 λ™μž‘μ„ ν•™μŠ΅ν•©λ‹ˆλ‹€.
  • 자율 μ£Όν–‰: 자율 μ£Όν–‰ μžλ™μ°¨κ°€ λ„λ‘œ ν™˜κ²½μ—μ„œ 졜적의 μ£Όν–‰ 경둜λ₯Ό ν•™μŠ΅ν•©λ‹ˆλ‹€.

κ°•ν™”ν•™μŠ΅ μ£Όμš”κ°œλ…

μ—μ΄μ „νŠΈ(Agent)

  • μ •μ˜: ν™˜κ²½κ³Ό μƒν˜Έμž‘μš©ν•˜λ©° ν•™μŠ΅μ„ μˆ˜ν–‰ν•˜λŠ” μ£Όμ²΄μž…λ‹ˆλ‹€.
  • κΈ°λŠ₯: ν˜„μž¬ μƒνƒœλ₯Ό 기반으둜 행동을 μ„ νƒν•˜κ³ , κ·Έ ν–‰λ™μ˜ 결과둜 보상을 λ°›μœΌλ©°, 이λ₯Ό 톡해 ν•™μŠ΅μ„ μ§„ν–‰ν•©λ‹ˆλ‹€.

ν™˜κ²½(Environment)

  • μ •μ˜: μ—μ΄μ „νŠΈκ°€ μƒν˜Έμž‘μš©ν•˜λŠ” μ™ΈλΆ€ μ‹œμŠ€ν…œ μž…λ‹ˆλ‹€.
  • κΈ°λŠ₯: μ—μ΄μ „νŠΈμ˜ 행동에 따라 μƒνƒœλ₯Ό λ³€ν™”μ‹œν‚€κ³  보상을 제곡 ν•©λ‹ˆλ‹€.

μƒνƒœ(State)

  • μ •μ˜: ν™˜κ²½μ˜ ν˜„μž¬ μƒνƒœλ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ •λ³΄μž…λ‹ˆλ‹€.
  • κΈ°λŠ₯: μ—μ΄μ „νŠΈκ°€ ν˜„μž¬ 상황을 μ΄ν•΄ν•˜κ³ , μ μ ˆν•œ 행동을 μ„ νƒν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€.

행동(Action)

  • μ •μ˜: μ—μ΄μ „νŠΈκ°€ ν˜„μž¬ μƒνƒœμ—μ„œ 선택할 수 μžˆλŠ” ν–‰λ™μž…λ‹ˆλ‹€.
  • κΈ°λŠ₯: μ—μ΄μ „νŠΈλŠ” 주어진 μƒνƒœμ—μ„œ 행동을 μ„ νƒν•˜κ³ , 이 행동은 ν™˜κ²½μ˜ μƒνƒœλ₯Ό λ³€ν™”μ‹œν‚΅λ‹ˆλ‹€.

보상(Reward)

  • μ •μ˜: μ—μ΄μ „νŠΈμ˜ 행동 결과둜 μ œκ³΅ν•˜λŠ” ν”Όλ“œλ°± μž…λ‹ˆλ‹€.
  • κΈ°λŠ₯: μ—μ΄μ „νŠΈμ˜ 행동이 μ–Όλ§ˆλ‚˜ 쒋은지에 λŒ€ν•œ μ§€ν‘œμ΄λ©°, μ—μ΄μ „νŠΈλŠ” 보상을 μ΅œλŒ€ν™”ν•˜λŠ” λ°©ν–₯으둜 ν•™μŠ΅ν•©λ‹ˆλ‹€

μ •μ±…(Policy)

  • μ •μ˜: 주어진 μƒνƒœμ—μ„œ 행동을 μ„ νƒν•˜λŠ” μ „λž΅μž…λ‹ˆλ‹€.
  • κΈ°λŠ₯: 정책은 μƒνƒœλ₯Ό μž…λ ₯λ°›μ•„ 행동을 좜λ ₯ν•˜λ©°, 졜적의 정책은 μ—μ΄μ „νŠΈκ°€ μž₯기적으둜 μ΅œλŒ€ 보상을 얻도둝 ν•©λ‹ˆλ‹€.

κ°€μΉ˜ ν•¨μˆ˜(Value Function)

  • μ •μ˜: νŠΉμ • μƒνƒœλ‚˜ μƒνƒœ-행동 쌍의 κ°€μΉ˜λ₯Ό ν‰κ°€ν•˜λŠ” ν•¨μˆ˜μž…λ‹ˆλ‹€.
  • κΈ°λŠ₯: κ°€μΉ˜ ν•¨μˆ˜λŠ” μž₯기적으둜 얻을 수 μžˆλŠ” λˆ„μ  λ³΄μƒμ˜ κΈ°λŒ€κ°’μ„ λ‚˜νƒ€λ‚΄λ©°, 졜적의 행동을 μ„ νƒν•˜λŠ” 데 도움을 μ€λ‹ˆλ‹€.

 

κ°•ν™”ν•™μŠ΅μ˜ μž₯&단점

κ°•ν™”ν•™μŠ΅μ˜ μž₯점

  • 순차적 μ˜μ‚¬κ²°μ • 문제 ν•΄κ²°: μ‹œν€€μŠ€ 기반의 λ¬Έμ œμ—μ„œ 졜적의 행동을 μ°ΎλŠ” 데 μœ λ¦¬ν•©λ‹ˆλ‹€.
  • 적응성: λ³€ν™”ν•˜λŠ” ν™˜κ²½μ— λŒ€ν•΄ μ§€μ†μ μœΌλ‘œ ν•™μŠ΅ν•˜κ³  적응할 수 μžˆμŠ΅λ‹ˆλ‹€.

κ°•ν™”ν•™μŠ΅μ˜ 단점

  • λ³΅μž‘μ„±: ν•™μŠ΅ 과정이 λ³΅μž‘ν•˜λ©°, λ§Žμ€ 계산 μžμ›μ΄ ν•„μš”ν•©λ‹ˆλ‹€.
  • 보상 섀계: μ μ ˆν•œ 보상 ν•¨μˆ˜λ₯Ό μ„€κ³„ν•˜λŠ” 것이 μ–΄λ €μšΈ 수 μžˆμŠ΅λ‹ˆλ‹€.

 

κ°•ν™”ν•™μŠ΅μ˜ μ£Όμš” 도전 과제

  • λ³΄μƒμ˜ ν¬μ†Œμ„±: νŠΉμ • 행동에 λŒ€ν•œ 보상이 λ“œλ¬Ό 경우, ν•™μŠ΅μ΄ μ–΄λ €μšΈ 수 μžˆμŠ΅λ‹ˆλ‹€.
  • 고차원 μƒνƒœ 곡간: μƒνƒœ 곡간이 맀우 ν¬κ±°λ‚˜ λ³΅μž‘ν•  경우, ν•™μŠ΅μ΄ μ–΄λ €μšΈ 수 μžˆμŠ΅λ‹ˆλ‹€.
  • μž₯κΈ° μ˜μ‘΄μ„± 문제: κΈ΄ μ‹œν€€μŠ€μ˜ μ˜μ‚¬κ²°μ •μ—μ„œ λ°œμƒν•˜λŠ” μ˜μ‘΄μ„±μ„ μ²˜λ¦¬ν•˜λŠ” 것이 μ–΄λ €μŠ΅λ‹ˆλ‹€.
  • μ•ˆμ •μ„±: ν•™μŠ΅ κ³Όμ •μ˜ μ•ˆμ •μ„±μ„ ν™•λ³΄ν•˜λŠ” 것이 μ€‘μš”ν•˜λ©°, λΆˆμ•ˆμ •ν•œ ν•™μŠ΅μ€ 잘λͺ»λœ μ •μ±…μœΌλ‘œ μ΄μ–΄μ§ˆ 수 μžˆμŠ΅λ‹ˆλ‹€.

Summary

κ°•ν™”ν•™μŠ΅μ€ μ—μ΄μ „νŠΈκ°€ ν™˜κ²½κ³Ό μƒν˜Έμž‘μš©ν•˜λ©° 보상을 μ΅œλŒ€ν™”ν•˜λŠ” λ°©ν–₯으둜 ν•™μŠ΅ν•˜λŠ” λ°©λ²•μž…λ‹ˆλ‹€.
μ—μ΄μ „νŠΈ, ν™˜κ²½, μƒνƒœ, 행동, 보상, μ •μ±…, κ°€μΉ˜ ν•¨μˆ˜μ™€ 같은 μ£Όμš” κ°œλ…λ“€μ„ μ΄ν•΄ν•˜κ³ , 이λ₯Ό 톡해 순차적 μ˜μ‚¬κ²°μ • 문제λ₯Ό ν•΄κ²°ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
κ·ΈλŸ¬λ‚˜ λ³΅μž‘μ„±, 보상 섀계, λ³΄μƒμ˜ ν¬μ†Œμ„±, 고차원 μƒνƒœ 곡간, μž₯κΈ° μ˜μ‘΄μ„± 문제, μ•ˆμ •μ„±κ³Ό 같은 도전 과제λ₯Ό ν•΄κ²°ν•΄μ•Ό ν•©λ‹ˆλ‹€.