[Industrial AI] 3-3 머신러닝(Machine Learning) 알고리즘 개요
jooho@hanyang.ac.kr |
2025년 3월 17일 2:28 오후
파이썬의 대표적 ML 라이브러리인 scikit-learn에서 제공하는 알고리즘
1. 분류 (Classification)
- 정의: 객체가 속한 카테고리를 식별하는 작업.
- 주요 알고리즘:
- Gradient Boosting: 약한 학습기를 결합해 강력한 분류 모델 생성.
- Nearest Neighbors: 가장 가까운 데이터 포인트를 기반으로 클래스 예측.
- Random Forest: 다수의 의사결정나무를 결합해 정확도 향상.
- Logistic Regression: 이진 분류에 적합, 확률 기반 예측.
- 응용 사례: 스팸 메일 감지, 이미지 인식.
- 예시: 이메일이 스팸인지 아닌지를 Logistic Regression으로 분류.
- Logistic Regression 분류 경계 예시
2. 회귀 (Regression)
- 정의: 연속적인 값을 예측하는 작업.
- 주요 알고리즘:
- Gradient Boosting: 연속값 예측에서 성능 최적화.
- Nearest Neighbors: 근접 데이터 기반으로 값 보간.
- Random Forest: 비선형 관계를 학습해 예측.
- Ridge: 정규화를 통해 과적합 방지.
- 응용 사례: 약물 반응 예측, 주식 가격 예측.
- 예시: 주간 평균 에너지 전송량을 Random Forest로 예측.
- Ridge Regression 예시
3. 클러스터링 (Clustering)
- 정의: 유사한 객체를 자동으로 그룹으로 묶는 작업.
- 주요 알고리즘:
- K-Means: 지정된 클러스터 수로 데이터 분할.
- HDBSCAN: 밀도 기반으로 계층적 클러스터링.
- Hierarchical Clustering: 계층 구조로 클러스터 형성.
- 응용 사례: 고객 세분화, 실험 결과 그룹화.
- 예시: PCA로 차원 축소된 digits 데이터셋에 K-Means 적용해 숫자 클러스터 생성.
- K-Means 클러스터링 예시
4. 차원 축소 (Dimensionality Reduction)
- 정의: 고려할 변수 수를 줄여 시각화나 효율성 개선.
- 주요 알고리즘:
- PCA (Principal Component Analysis): 주성분을 추출해 차원 축소.
- Feature Selection: 중요한 특성만 선택.
- Non-negative Matrix Factorization: 음수 없는 행렬 분해로 축소.
- 응용 사례: 데이터 시각화, 계산 효율성 증가.
- 예시: 고차원 이미지 데이터를 PCA로 2D로 축소해 시각화.
- PCA 차원 축소 예시
5. 모델 선택 (Model Selection)
- 정의: 모델 비교, 검증, 파라미터 선택으로 성능 최적화.
- 주요 알고리즘/기법:
- Grid Search: 가능한 파라미터 조합 탐색.
- Cross-validation: 데이터 분할로 모델 검증.
- Metrics: 정확도, 정밀도 등으로 성능 평가.
- 응용 사례: 파라미터 튜닝으로 정확도 개선.
- 예시: Grid Search로 Random Forest의 하이퍼파라미터 최적화.
6. 전처리 (Preprocessing)
- 정의: 입력 데이터를 변환해 머신러닝 알고리즘에 적합하게 만듦.
- 주요 기법:
- Feature Extraction: 텍스트나 이미지에서 특성 추출.
- Normalization: 데이터 스케일 조정.
- 응용 사례: 텍스트 데이터를 수치형으로 변환, 노이즈 제거.
- 예시: 텍스트 데이터를 TF-IDF로 변환해 분류 모델 입력.
- 스케일링 기법 비교