[AI] 알고리즘

 

알고리즘

데이터에서 패턴을 학습하여 예측하고 분류 및 의사결정을 자동으로 수행할 수 있는 기술

  지도 학습

 

  준지도 학습

    - 정답지로 학습

    - 예측모델 등에 사용

    - 라벨링이 없는 데이터와
      라벨링된 데이터로 학습

 

  비지도 학습

 

  강화 학습

    - 정답 없이 학습

    - 군집화 등에 사용

    - 시뮬레이션 반복 학습

    - 성능 강화 등에 사용

 

 

지도 학습 (Supervised Learning)

인공지능의 가장 일반적인 형태 중 하나로 데이터와 그에 대한 정답(레이블)을 함께 사용하여 모델을 학습시키는 방법 

유형

설명

분류 (Classification)

- 데이터를 두 가지 중 하나로 분류
  ex)
이메일을 스팸 / 정상 분류

- 의사결정트리, 랜덤포레스트, 앙상블, KNN, SVM

회귀 (Regression)

- 데이터 패턴을 분석하여 트렌드를 예측
  ex)
정보들을 바탕으로 집값 예측

- 선형회귀분석, 로지스틱 회귀분석 등

 

 

의사결정 트리 (Decision Tree)

의사결정 규칙을 나무 구조로 나타내어 전체 자료를 몇 개의 소집단으로 분류하거나 예측하는 분석 방법



앙상블 기법 (Ensemble)

여러 가지 같은 종류나 서로 다른 종류의 예측/분류 결과를 종합하여 최종적인 의사결정을 하는 방법

배깅 (Bagging, Bootstrap Aggregating)

부스팅 (Boosting)

- 데이터에서 다수의 부트스트랩(같은 크기의 표본)을 생성하고 각 표본을 모델링 한 후 결합하여 최종 예측하는 기법

- 여러 개의 성능이 약한 학습기를 순차적으로 학습시킨 후 최종 모델에서 예측하는 기법

 


KNN (K-Nearest Neighbor)

- 주어진 데이터를 분류하거나 예측할 때, 가장 가까운 ‘K’개의 이웃 포인트를 기반으로 판단하는 알고리즘

- 활용 분야 : 비슷한 취향을 가진 고객 세분화 및 추천 서비스, 주변 지역 부동산 가격 예측 등



 

SVM (Support Vector Machine)

- ‘서포트 벡터 머신은 벡터 공간에서 2개의 그룹을 분류하는 선형 분리자를 찾는 개념

- 활용 예시 : 이메일 스팸과 정상 분류, 이미지로 사과와 바나나 구분하기 등



회귀분석

- 독립변수와 종속변수 간의 관계를 도출하여 하나 이상의 독립변수가 종속변수에 미치는 영향을 분석하고 예측하는 분석 기법

- 활용 예시 : 주요 조건에 따른 가격 예측, 성적 예측, 인구 성장 예측 등


 


비지도 학습 (Unsupervised Learning)

정답(레이블)이 지정되지 않은 데이터로부터 패턴이나 구조를 찾아내는 학습 방법

유형

설명

군집화 (Clustering)

- 데이터가 가진 유사성에 따라 그룹화

  ex) 시장 세분화, 이미지 분석 등 활용

- K-means, DBSCAN

차원축소 (Dimension Reduction)

- 고차원의 데이터를 저차원으로 변환
 
계산비용을 줄이고 시각화

- PCA 기법

 

 

K-means 알고리즘

- 주어진 데이터를 K개의 군집으로 묶는 알고리즘 (서로 비슷한 특징을 갖는 그룹)

- 활용 예시 : 고객 세분화, 이미지 압축, 유전자 분석 등



 

DBSCAN 알고리즘 (Density-Based Spatial Clustering of Applications with Noise)

- 개체들의 Density(밀도) 계산을 기반으로 밀접하게 분포된 개체들끼리 군집화하는 알고리즘

- 이상치 탐지, 지리적 분석, 밀도별 고객 분석 등



 

차원의 저주 (Curse of Dimensionality)

- 데이터의 차원(특성 수)이 많아질수록 학습과 계산이 기하급수적으로 어려워지는 현상

- 실례 : KNN(모든 포인트 간 거리가 유사해져서 정확도 급감), K-means(클러스터 구분이 어려워짐)

- 방안 : PCA(선형 방식으로 주요 성분만 추출해 차원 축소), 차원축소 및 정규화



 

PCA (Principal Component Analysis)

- 주성분 분석은 상관관계가 있는 고차원 자료를 변동을 최소화하며 차원을 축소하여 분석하는 방법



준지도 학습 (Semi-Supervised Learning)

- 일부 데이터에만 정답(라벨)이 있는 상황에서, 라벨링된 데이터의 정보를 활용해 라벨이 없는 데이터의 구조나 패턴을 함께 학습하는 방식 

이유

설명

라벨링 비용 절감

대량의 데이터 중 소수만 라벨링

실제 환경에 적합

대부분의 실제 데이터는 라벨이 부족함

일반화 성능 향상

라벨 없는 데이터도 활용해 더 나은 표현 학습

 

 

강화 학습 (Reinforcement Learning)

AI와 환경이 상호작용하면서 스스로 학습하여 최적의 행동을 찾아가는 과정

구성 요소

설명

예시)

강화학습을 이용한 게임 머신러닝

에이전트

(Agent)

환경 속에서 행동을 선택하고 학습하는 존재

게임을 플레이하는 AI

환경

(Environment)

에이전트가 상호작용하는 세계. 에이전트의 행동에 따라 변화하고 보상을 줌

게임 자체 (ex. 갤러그, 바둑 등)

상태

(State)

현재 환경의 상황을 나타내는 정보

화면에 보이는 현재 게임 상황

행동

(Action)

에이전트가 상태에서 취할 수 있는 선택

이동, 점프, 발사 등

보상

(Reward)

특정 행동에 대해 환경이 주는 값(피드백) → 학습의 목적

적을 잡으면 +1, 죽으면 -10

정책

(Policy)

상태에 따라 어떤 행동을 할지 결정하는 전략 (Deterministic or Probabilistic)

어떤 상황에서 어떤 액션할지 결정하는 규칙