[AI] 알고리즘
● 알고리즘
데이터에서 패턴을 학습하여 예측하고 분류 및 의사결정을 자동으로 수행할 수 있는 기술
지도 학습 |
|
준지도 학습 |
- 정답지로 학습 - 예측모델 등에
사용 |
- 라벨링이 없는
데이터와 |
|
|
||
비지도 학습 |
|
강화 학습 |
- 정답 없이 학습 - 군집화 등에
사용 |
- 시뮬레이션 반복
학습 - 성능 강화 등에
사용 |
● 지도 학습 (Supervised Learning)
인공지능의 가장 일반적인 형태 중 하나로 데이터와 그에 대한 정답(레이블)을 함께 사용하여 모델을 학습시키는 방법
유형 |
설명 |
분류
(Classification) |
- 데이터를 두
가지 중 하나로 분류 - 의사결정트리, 랜덤포레스트, 앙상블,
KNN, SVM 등 |
회귀 (Regression) |
- 데이터 패턴을
분석하여 트렌드를 예측 - 선형회귀분석, 로지스틱 회귀분석 등 |
※ 의사결정 트리 (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) |
어떤 상황에서 어떤 액션할지 결정하는 규칙 |