머신러닝
데이터로부터 스스로 패턴을 학습하고 예측할 수 있도록 하는 알고리즘.
딥러닝:
인간의 neural network 를 본따 만든 머신러닝 모델. 크게 입력층, 은닉층, 결과층으로 나뉘며 입력층에서는 정규화를 통해 입력값 범위 설정, 은닉층에서는 활성화 함수와 가중치 계산을 통해 입력값을 비선형 한 데이터로 수정하고 결과층에서는 손실함수와 경사하강법을 통해 가중치가 수정되면, 이 가중치 수정된 것을 역전파를 통해 은닉층의 가중치를 수정한다.
✅ 머신러닝 vs 딥러닝 핵심 차이
항목머신러닝 (ML)딥러닝 (DL)
| 📌 정의 | 데이터를 이용해 스스로 학습하는 알고리즘 | 신경망 기반으로 학습하는 머신러닝 |
| 🔧 특징 | 특징(피처)을 사람이 직접 설계 (Feature Engineering) | 특징도 모델이 자동으로 학습함 |
| 🧠 구조 | 선형 회귀, 결정 트리, SVM 등 전통적 알고리즘 | 다층 인공 신경망 (Multi-layer Neural Network) |
| 🏗 모델 구조 | 얕은 구조 (1~2층) | 깊은 구조 (수십~수백 층) |
| 💻 필요 데이터량 | 적은 데이터로도 학습 가능 | 대규모 데이터 필요 |
| ⚙️ 연산 요구 | 낮은 연산 자원 필요 | GPU 등 고성능 자원 필요 |
| 예시 | 의사결정트리, 랜덤포레스트, K-NN, SVM | CNN, RNN, Transformer, GPT |
지도 학습 과정:
- 데이터를 학습용, 검증용으로 랜덤하게 분류한다. (보통 8:2 정도로 분류)
- 여러 입력 값을 동시에 받는다.(벡터 형태 또는 이미지, 텍스트 등의 데이터)
- 정규화를 통해 입력값의 범위를 조정한다.(예: 0~1 사이로 조정, 평균 0 정규화 등)
- 입력값을 각 층의 가중치와 곱하고, 편향을 더해 선형 계산을 수행한다.(z=W⋅x+bz = W \cdot x + bz=W⋅x+b)
- 은닉층에서는 활성화 함수(ReLU, GELU 등)를 적용해 비선형성을 부여한다.(이를 통해 단순한 선형 관계를 넘어 복잡한 패턴 학습 가능)
- 출력층에서 예측값을 계산한다.(예: 분류 문제면 softmax, 회귀면 선형 출력)
- 예측값과 정답을 비교해 손실 함수를 계산한다.(예: cross-entropy loss, MSE 등)
- 손실 함수를 가중치에 대해 미분(gradient 계산)하여, 손실이 줄어드는 방향(기울기의 반대 방향)으로 가중치를 업데이트한다. (경사하강법(Gradient Descent) 기반으로 역전파 수행)
- 이 과정을 여러 번 반복하면서, 모델은 점점 정답에 가까운 예측을 하도록 가중치를 최적화해간다.
비지도 학습 과정(k-means 알고리즘의 예시):
- 차원 축소 (선택적, 입력 차원이 크다면 PCA, t-SNE 등으로 축소)
- k개의 중심점(centroid)을 랜덤하게 초기화
- 각 데이터와 모든 중심점 사이의 거리 계산(보통 L2 거리 (유클리디안 거리) 사용)
- 가장 가까운 중심점에 데이터 할당 (labeling)
- 클러스터별 평균값으로 중심점 업데이트
- 지정된 epoch 또는 수렴 조건까지 반복
차원 축소 방법(PCA / t-SNE / UMAP으로 2~100차원 축소)
분산이 가장 큰 축을 찾아 그 방향을 남기고, 분산이 작은 값은 버림으로 차원을 축소. 어차피 분산 값이 작으면 데이터값 마다의 차이가 많이 없어서 유의미한 값이 되기 힘듬
'Research > AI' 카테고리의 다른 글
| [Deep research][2025.06.24] Deep research 소개 (0) | 2025.06.24 |
|---|---|
| [25.06.08] 데이터 인코딩(원 핫 인코딩, 레이블 인코딩, 순서 인코딩) (0) | 2025.06.08 |