AI(ML & DL)

[기계학습] ML(Machine Learning) 시스템의 종류

ch010104 2025. 3. 14. 13:59

머신 러닝은 다양한 기준에 따라 분류할 수 있다.  대표적인 분류 기준으로는 3가지가 있다.

 

기준1: 사람의 지도/감독 하에 훈련하는 것인지 여부

( 지도(Supervised) vs 비지도(unsupervised) vs 준지도(semi-supervised) vs 강화(reinforcement) 학습 )


기준2: 실시간으로 주어지는 데이터에 대한 점진적인 학습 가능 여부

( 온라인 학습(Online Learning) vs 배치 학습(Batch Learning))

 

기준3:훈련을 통해 알고 있는 데이터 포인트와 새로운 데이터 포인트를 비교하는 방식인지, 아니면 훈련 데이터셋에서 패턴을 발견하고 그에 기반한 예측 모델을 만드는 것인지

( 사례 기반 학습(Instance-based Learning) vs 모델 기반 학습(Model_based Learning) )

 

위의 기준들은 서로 상호 배타적이지 않기 때문에 용도에 맞게 다양하게 조합이 가능하다.

 

예를 들어, 이전의 스팸 메일의 필터의 경우 사람이 제공한 spam과 ham 메일 훈련 데이터로 학습된 심층 신경망 모델이다. 또한, 실시간으로 주어지는 메일을 이용하여 모델을 학습시킨다. 이 경우에 해당 ML은 지도 학습 + 온라인 학습 + 모델 기반 학습 이라고 할 수 있다.


기준1: 사람의 지도/감독 하에 훈련하는 것인지 여부

1. 지도 학습 (Supervised Learning)

훈련 데이터에 **레이블(label)**이 포함된 경우, 즉 각 입력 데이터 x에 대해 정답 가 주어진 경우의 학습 방식
모델은 입력과 출력 간의 관계를 학습하여, 새로운 데이터에 대한 예측을 수행하는 것이 목표이다.

 

지도 학습: 분류

💡 대표적인 지도 학습의 특징

  • (x,y) 형태의 데이터셋을 사용하여 학습 진행
  • 모델이 입력 데이터 로부터 출력 를 예측하는 함수 를 학습
  • 새로운 데이터에 대해 학습된 모델을 사용하여 정답을 예측

💡 대표적인 지도 학습 알고리즘

  • 회귀(Regression): 연속적인 값을 예측하는 문제
    • 선형 회귀(Linear Regression), 다항 회귀(Polynomial Regression)
    • 중고차 가격 예측 예:
      - 주행거리, 연식, 브랜드 등 다양한 중고차들에 대한 특성(x)과 중고차 가격의 레이블(y)를 통해 모델을 학습
      - 새로운 데이터가 들어왔을 경우, 회귀 모델이 새로운 중고차의 가격을 예측
      - 레이블이 실수 값(중고차의 가격 y) 이다.
  • 분류(Classification): 주어진 입력을 특정 카테고리로 분류하는 문제
    • 로지스틱 회귀(Logistic Regression), 서포트 벡터 머신(SVM), 랜덤 포레스트(Random Forest), 신경망(Neural Networks)
    • 스팸 필터 예:
      - 다양한 이메일들(x)과 각 이메일이 스팸 또는 햄인지에 관한 레이블(y)를 통해 모델을 학습
      - 새로운 데이터가 들어왔을 경우, 모델이 스팸 여부를 예측함.
      - 레이블이 실수 값이 아닌, 분류해야하는 것들의 종류 카테고리이다.(보통 정수 값으로 저장, 0이면 spam 1이면 ham)

💡 지도 학습 예제

  1. 스팸 이메일 필터링: 이메일에 ‘스팸’ 또는 ‘일반’이라는 레이블이 포함된 훈련 데이터를 학습한 후, 새로운 이메일이 스팸인지 아닌지 예측.
  2. 손글씨 숫자 인식: 숫자 이미지에 대한 정답(0~9)이 포함된 데이터셋을 학습한 후, 새로운 손글씨 숫자를 분류.
  3. 집값 예측: 여러 개의 부동산 데이터(면적, 위치, 방 개수 등)와 해당 집의 가격을 학습하여, 새로운 집의 가격을 예측.

2. 비지도 학습 (Unsupervised Learning)

훈련 데이터에 **레이블(label)**이 포함되지 않은 경우, 즉 데이터 자체만 있고 정답 y 가 주어지지 않은 경우의 학습 방식
모델은 데이터에서 숨겨진 패턴이나 구조를 학습하는 것이 목표이다

💡 대표적인 비지도 학습의 특징

  • 데이터만 제공되며, 정답(출력 값)이 없음
  • 모델이 데이터 간의 유사성, 군집(Cluster), 패턴을 학습
  • 일반적으로 데이터 탐색, 차원 축소, 군집 분석 등에 사용됨

💡 대표적인 비지도 학습 알고리즘

  • 시각화(Visualization): 데이터를 보기 쉽게 표현하는 과정
    • 레이블이 없는 고차원(여러 특성(feature)들로 이루어진) 데이터를 분석하여 도식화가 가능한 2D 또는 3D 표 현을 만들어줌  
    • 원본 데이터 상에서 별개의 군집들이 시각화 결과 plot에서도 분리되어 보여지는 것이 중요
    • 고차원의 데이터를 가지고 하기 때문에 특성을 축소(2차원, 3차원)   
  • 군집 분석(Clustering): 데이터 포인트들을 비슷한 그룹으로 묶음
    • K-평균(K-Means), DBSCAN, 계층적 군집 분석(Hierarchical Clustering)
    • 주어진 데이터를 분석하여 비슷한 특징을 가진 몇 개의 그룹으로 나누는 것
    • 비슷한 구매 관심사의 고객 분류 예:
      - 고객 구매 이력 데이터를 분석하여 비슷한 구매 관심사를 가진 그룹으로 분류
      - 전자제품 관심 그룹, 식료품 관심 그룹, 가구 관심 그룹
      - 분류만 해서 군집으로 묶을 뿐이지, 각 고객에 대해서 어느 관심 그룹인지에 대한 레이블이 없음
  • 차원 축소(Dimensionality Reduction): 데이터의 중요한 특징을 유지하면서 차원을 줄임
    • 주성분 분석(PCA), t-SNE
    • 데이터에 담긴 original information의 손실을 최소화 하면서 데이터의 차원(특성 수)를 줄여서 간소화
    • 특성 추출 예:
      - 상관관계가 높은 여러 특성들을 하나로 합치기
      - 상관관계가 높은 자동차의 주행거리과 연식을 “ 마모 정도”라는 하나의 특성으로 합침
      - 훈련 실행 전 훈련 데이터의 특성 수를 줄임으로써 훈련 데이터 크기를 줄임 -> 훈련 실행 시간 단축, 저장공간 사용량을 감소
      - 즉, 데이터를 간소화하는 과정!!
  • 연관 규칙 학습(Association Rule Learning): 데이터에서 항목 간의 관계를 찾음
    • Apriori 알고리즘, FP-Growth 알고리즘
    • 주어진 대규모 데이터를 분석하여 특성 간 흥미로운 관계 찾는 것
    • 마트 판매 기록 예:
      - 바비큐 소스와 감자를 구매한 고객이 스테이크도 구매하는 경향을 찾아냄 -> 세가지 상품을 서 로 가까운 위치에 진열
  • 이상 탐지(Anomaly Detection): 훈련 데이터를 토대로 이상치를 찾음
    • 정상 샘플들을 이용하여 머신러닝 모델 훈련 후 주어진 새로운 샘플의 정상 여부를 판단
    • 샘플 수집 과정에서 수집되는 의 대부분 훈련 샘플들이 정상에 해당한다는 가정이 유효한 경우 가능
    • 일반적이지 않은 의심스러운 신용카드 거래 탐지 예:
      - 이전의 신용카드 거래 내역을 통해, 새로운 거래에 대해 이상치를 찾음
  • 특이치 탐지(Novelty Detection): clean한 훈련 데이터를 토대로 이상치를 찾음
    • clean한 훈련 데이터: 학습된 모델을 통해 탐지하고자 하는 어떤 샘플도 훈련 데이터셋에 포 함되지 않음
    • 전혀 오염되지 않은clean 훈련 데이터 학습 후 학습된 훈련 데이터와 달라 보이 는 데이터 탐지하기
  • ** 이상 탐지 vs. 특이치 탐지 **
    • 예. 수 천장의 강아지 사진들로 구성된 훈련 데이터셋이 있고 그 중 1%가 치와와 사진인 경우
    • 특이치 탐지 알고리즘은 새로운 치와와 사진을 특이치로 간주하지 않음
      - 소수이긴 하지만, 이미 데이터 셋에 1%의 치와와 사진이 있기 때문
    • 이상 탐지 알고리즘은 새로운 치와와 사진을 매우 드문 종으로 인식하여 이상치로 분류할 수 있음
      - 데이터 셋을 통해 치와와를 매우 드문 종이라고 인식!

💡 비지도 학습 예제

  1. 고객 세분화(Customer Segmentation): 쇼핑몰의 고객 데이터를 분석하여 비슷한 소비 패턴을 가진 고객들을 그룹화.
  2. 추천 시스템(Recommendation System): 사용자의 구매 이력과 비슷한 패턴을 가진 고객의 데이터를 분석하여 개인화된 추천 제공.
  3. 이상 탐지(Anomaly Detection): 신용 카드 거래 데이터를 분석하여 일반적인 패턴과 다른 이상 거래 탐지(예: 금융 사기 감지).

3. 준지도 학습 (Semi-Supervised Learning)

소량의 레이블이 포함된 데이터 + 대량의 레이블이 없는 데이터를 함께 사용하여 학습하는 방식
즉, 지도 학습과 비지도 학습의 중간 형태

 

대부분 지도 학습과 비지도 학습을 혼용
1. 모든 데이터에 대해 클러스터링 알고리즘으로 비슷한 군집끼리 모음
2. 레이블이 있는 데이터를 토대로 나머지 레이블이 없는 모든 데이터에게 레이블을 달아줌
3. 이제 모든 데이터에 레이블일 있기 때문에, 지도 학습을 수행

 

💡 대표적인 준지도 학습의 특징

  • 라벨이 있는 데이터는 적지만, 라벨이 없는 데이터는 많을 때 활용
  • 지도 학습보다 데이터 라벨링 비용이 낮음
  • 비지도 학습보다 더 높은 예측 성능을 가질 수 있음

💡 대표적인 준지도 학습 알고리즘

  • 반정형 학습(Semi-supervised SVM)
  • 라벨 전파(Label Propagation)
  • 의사 레이블링(Pseudo-labeling)

💡 준지도 학습 예제

  1. 의료 영상 분석: MRI 스캔 이미지 데이터에서 일부만 전문가가 라벨링하고, 나머지는 AI가 패턴을 학습하여 질병을 진단.
  2. 음성 인식: 일부 녹음된 음성 데이터만 텍스트로 변환하여 레이블을 달고, 나머지는 AI가 스스로 학습.
  3. 웹페이지 분류: 수천 개의 웹페이지 중 일부만 카테고리(예: 스포츠, 뉴스, 엔터테인먼트)로 라벨링하고, 나머지는 AI가 분류.

4. 강화 학습 (Reinforcement Learning)

지도 학습과 비지도 학습과는 달리, 행동(Action)과 보상(Reward)의 개념을 바탕으로 학습하는 방식

강화 학습에서 훈련 대상을 에이전트(Agent)라 부름
즉, 에이전트(Agent)가 환경(Environment)와 상호작용하면서 보상을 최대화하는 방향으로 학습

 

 

💡 대표적인 강화 학습의 특징

  • 지도 학습처럼 정답(label)이 주어지는 것이 아니라, **보상(Reward)**을 기반으로 학습
  • 행동을 취한 결과가 좋은 경우 보상을 받고, 나쁜 경우 패널티를 받음
  • 장기적인 목표를 고려하며 최적의 정책(Policy)을 학습
    -
    정책(policy)는 주어진 환경에 서 에이전트가 어떤 행동을 취해야 하는지를 규정함.
  • 탐색(Exploration)과 활용(Exploitation) 사이의 균형이 중요

💡 대표적인 강화 학습 알고리즘

  • Q-learning
  • 딥 Q 네트워크(DQN)
  • 정책 기반 강화 학습(Policy Gradient Methods)
  • 액터-크리틱(Actor-Critic)

💡 강화 학습 예제

  1. 알파고(AlphaGo): 바둑 AI가 여러 번의 시뮬레이션을 통해 스스로 학습하며 최적의 전략을 찾음.
  2. 로봇 제어(Robotics Control): 로봇이 환경과 상호작용하면서 스스로 걷거나 특정 동작을 수행하는 방법을 학습.
  3. 자율주행(Autonomous Driving): AI가 주행 데이터를 바탕으로 최적의 운전 경로와 속도를 학습.

기준2: 실시간으로 주어지는 데이터에 대한 점진적인 학습 가능 여부

주어진 데이터가 실시간으로 학습에 반영되는지 여부에 따라 **온라인 학습(Online Learning)과 배치 학습(Batch Learning)**으로 나뉨.

1. 온라인 학습( Online Learning )

새로운 데이터가 들어올 때마다 즉시 모델을 업데이트하는 방식.
데이터가 연속적으로 유입되는 환경에서 점진적으로 학습하며, 기존 모델을 유지하면서 새로운 데이터를 반영함.

기기 한대의 메모리에 로딩될 수 없는 방대한 데이터셋을 학습하는 시스템(외부 메모리 학습)
- 외부 메모리로부터 데이터를 조금씩 실시간으로 가져와서 학습

 

💡 대표적인 온라인 학습의 특징

  • 실시간으로 데이터를 입력받고 즉각적으로 모델을 업데이트
  • 데이터를 한 번만 사용하고 버리므로 저장 비용이 적음
    -
    모바일 기기 등 가용 컴퓨팅 자원이 제한된 시스템에서 사용
  • 지속적인 학습이 가능하여 변하는 환경에 빠르게 적응 가능
  • 모델이 점진적으로 업데이트되므로 이전 데이터가 잘못되었을 경우 수정이 어려움
  • 주식가격 모니터링 및 예측 시스템 등에서 사용

2. 배치 학습( Batch Learning )

데이터를 일정량 모은 후, 한꺼번에 학습을 진행하는 방식.
- 대용량의 훈련 데이터셋 전체를 사용해 훈련하는 것은 일반적으로 많은 시간과 컴퓨팅 자원이 요구 됨

- 컴퓨팅 자원(CPU, GPU, 메모리, 저장장치 등)이 충분한 경우에만 사용 가능


새로운 데이터를 반영하려면 전체 모델을 다시 학습해야 함.

 

💡 대표적인 배치 학습의 특징

  • 데이터를 한 번에 학습한 후, 새로운 데이터를 반영하려면 다시 학습해야 함
  • 모델이 새로운 데이터를 자동으로 업데이트하지 않음
  • 대량의 데이터를 한 번에 처리 가능하며, 연산 속도가 빠름
  • 하지만 새로운 데이터가 반영될 때까지 시간이 걸림
    - 기존 훈련 셋에 새로 학습할 훈련 샘플이 추가된 전체 데이터를 사용하여 다시 훈련해야 함

기준3:훈련을 통해 알고 있는 데이터 포인트와 새로운 데이터 포인트를 비교하는 방식인지, 아니면 훈련 데이터셋에서 패턴을 발견하고 그에 기반한 예측 모델을 만드는 것인지

훈련된 모델의 일반화(generalization) 방식에 따른 구분

“일반화”란 주어진 새로운 데이터에 대해 예측하는 것을 의미(e.g., spam 인지 ham 인지 예측)!!

 

모델이 새로운 데이터를 처리할 때 훈련 데이터와 직접 비교하여 예측하는지, 또는 데이터에서 패턴을 학습하여 일반화하는지에 따라 **사례 기반 학습(Instance-Based Learning)**과 **모델 기반 학습(Model-Based Learning)**으로 나뉨.

1. 사례 기반 학습(Instance-based Learning)

새로운 데이터가 들어왔을 때 이전 데이터와 직접 비교하여 예측하는 방식
즉, 모델이 미리 일반화된 수식을 학습하는 것이 아니라, 훈련 데이터 자체를 기억하고 비교하는 방식으로 작동

 

💡 대표적인 사례 기반 학습의 특징

  • 훈련 데이터 자체를 저장하고 새로운 데이터와 비교하여 예측
  • 모델이 특정 패턴을 학습하는 것이 아니라, 유사한 데이터 포인트를 찾아서 답을 유추
    -
    학습된 스팸 메일과 유사도 측정(e.g., 공통으로 포함된 단어의 수)을 통해 새로운 메일이 스팸 인지 아닌지를 예측
  • 학습 과정은 빠르지만, 예측 시 많은 계산이 필요
  • 데이터가 많아질수록 속도가 느려질 수 있음

💡 대표적인 사례 기반 학습 알고리즘

  • k-최근접 이웃(K-NN, k-Nearest Neighbors)
    • 새로운 데이터가 주어졌을 때, 가장 가까운 k 개의 데이터를 찾아 다수결 혹은 평균을 이용하여 예측
    • 새로운 인스턴스와 가장 유사한 k개(k=3) 샘플들 중 다수가 삼각형이므로 삼각형으로 예측

2. 모델 기반 학습(Model-based Learning)

훈련 데이터에서 패턴을 학습하고 이를 기반으로 일반화된 모델을 만들어 예측하는 방식
즉, 모델이 데이터를 직접 저장하는 것이 아니라, 훈련 데이터의 특징을 추출하여 예측 모델을 생성

💡 대표적인 모델 기반 학습의 특징

  • 훈련 데이터를 통해 패턴을 학습하고, 일반화된 모델을 생성
    -
    훈련셋의 패턴에 맞도록 훈련 과정에서 모델 파라미터 조정
  • 새로운 데이터가 주어지면, 훈련된 모델을 활용하여 예측 수행
  • 학습 과정이 오래 걸릴 수 있지만, 예측 속도가 빠름
  • 새로운 데이터가 들어와도 즉각 반영되지 않으며, 다시 학습해야 업데이트 가능

💡 대표적인 모델 기반 학습 알고리즘

  • 선형 회귀(Linear Regression)
    • 데이터를 학습하여 일반적인 선형 관계를 모델링
    • OECD 국가의 1인당 GDP와 삶의 만족도간 연관 예시:
      - 특정 국가의 1인당 GDP가 주어졌을 때 삶의 만족도를 예측 하는 선형 모델을 도출
      - life_satisfaction = θ0 + θ1 * GDP_per_capita
      - 훈련 과정을 통해 훈련 데이터에 가장 잘 맞는 최선의 θ0와 θ1을 찾아야 함
      - 이런식으로 찾은  최적의 θ0 , θ1 값을 가진 직선을 선형 모델이라고 함
      - 이 선형 모델을 토대로, 새로운 데이터가 들어왔을 경우 결과를 예측함.