요즘 인공지능(AI)과 머신러닝(ML)에 대한 관심이 많다. 하지만 막상 공부를 시작하려고 하면 어디서부터 어떻게 접근해야 할지 막막한 경우가 많다. 그래서 이번엔 머신러닝의 전반적인 흐름과 개념을 정리해본다.
1. 데이터 준비의 시작: 머신러닝 파이프라인
머신러닝 모델의 성능은 결국 데이터 품질에 크게 좌우된다. 실제로 모델을 설계하는 시간보다 데이터를 준비하는 데 훨씬 많은 시간이 들기도 한다.
머신러닝 프로젝트에서 흔히 사용되는 데이터 준비 파이프라인은 다음과 같은 단계로 이루어진다.
- Data Acquisition (데이터 수집)
데이터를 수집하는 단계다. 크롤링, 센서 데이터, 데이터베이스에서 추출 등 다양한 방식으로 데이터를 확보한다. - Processing (데이터 전처리)
결측치 처리, 이상치 제거, 정규화 같은 작업을 통해 데이터의 품질을 향상시키고, 머신러닝 모델이 잘 받아들일 수 있는 형태로 가공한다.
이 과정은 특히 도메인 지식의 영향을 많이 받는다. 어떤 컬럼이 중요한지, 어떤 값이 의미 있는지 등은 문제를 다루는 분야에 대한 이해가 필요하다. - Feature Engineering (특성 엔지니어링)
원본 데이터로부터 의미 있는 특징(feature)을 추출하거나 새로 만들어내는 과정이다. 예를 들어 날짜 데이터를 요일, 월, 계절 등으로 나누는 작업이 여기에 해당된다. - Feature Selection / Feature Set 구성
모델에 입력으로 넣을 최종 feature들을 정리하는 단계다. 이 과정에서는 차원 축소 기법이나 중요도 기반 선택 기법 등을 활용하기도 한다.
2. 머신러닝의 분류: Supervised vs Unsupervised
머신러닝은 크게 지도학습(Supervised Learning) 과 비지도학습(Unsupervised Learning) 으로 나뉜다.
🔷 Supervised Learning (지도학습)
입력과 정답(label)이 함께 주어지는 방식이다. 정답을 기준으로 모델이 예측하는 방법을 학습하게 된다.
- Classification (분류)
예를 들면 이메일이 스팸인지 아닌지, 손글씨가 어떤 숫자인지 분류하는 문제다. 결과가 여러 카테고리 중 하나로 나뉜다. - Regression (회귀)
집값 예측이나 기온 예측처럼 결과가 연속적인 숫자인 경우다.
🔷 Unsupervised Learning (비지도학습)
정답(label)이 없이, 데이터 안의 패턴이나 구조를 찾는 방식이다.
- Clustering (군집화)
예를 들면 고객의 행동 패턴에 따라 그룹을 나누는 경우가 여기에 해당된다. 데이터 안의 유사성을 바탕으로 자연스럽게 그룹을 찾는다.
3. 현실의 문제를 머신러닝 타입으로 분류해보기
문제 머신러닝 타입 설명
| 이메일 스팸 여부 분류 | 지도학습 | 분류 (Classification) |
| 주식 가격 예측 | 지도학습 | 회귀 (Regression) |
| 소비자 유형 군집화 | 비지도학습 | 클러스터링 (Clustering) |
| 상품 추천 | 혼합 | 지도 + 비지도 방식 조합 가능 |
4. 모델 평가: 잘 맞는지 어떻게 알까?
모델을 학습시킨 다음에는 평가 지표를 통해 성능을 검증한다. 어떤 종류의 문제인지에 따라 적절한 평가 방법이 달라진다.
- Classification (분류)
- Accuracy (정확도)
- Precision, Recall, F1-score
- Confusion Matrix
- Regression (회귀)
- MSE (Mean Squared Error)
- MAE (Mean Absolute Error)
- R² Score (결정 계수)
- Clustering (군집화)
- Silhouette Score
- Davies-Bouldin Index
- 군집 간 거리 시각화 등
마무리
머신러닝은 결국 문제를 정의하고, 데이터를 준비하고, 적절한 모델을 선택하고, 평가하며 개선해 나가는 과정이다.
이번 글에서는 그 중에서도 가장 기본이 되는 개념들을 간단히 정리해봤다.
다음에는 각 단계별로 더 깊게 들어가거나, 실습을 통해 직접 적용해보는 내용도 다뤄볼 예정이다.
'AI Study' 카테고리의 다른 글
| 알고리즘과 수열, 그리고 파이썬과 인공지능의 연결 (0) | 2025.03.26 |
|---|---|
| 인공지능을 위한 프로그래밍 수학 (0) | 2025.03.23 |
| 머신러닝과 데이터 과학에 대한 이해 (0) | 2025.03.22 |
| 빅데이터와 AI: 데이터가 AI 발전에 중요한 이유 (2) | 2025.03.19 |
| Python, Pandas, NumPy 문법 비교 및 데이터 분석 필수 문법 정리 (0) | 2025.03.19 |