You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ML-For-Beginners/translations/ko/1-Introduction/4-techniques-of-ML/README.md

132 lines
13 KiB

<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "9d91f3af3758fdd4569fb410575995ef",
"translation_date": "2025-09-05T10:48:28+00:00",
"source_file": "1-Introduction/4-techniques-of-ML/README.md",
"language_code": "ko"
}
-->
# 머신 러닝 기법
머신 러닝 모델을 구축, 사용, 유지 관리하는 과정과 그 모델이 사용하는 데이터는 다른 개발 워크플로우와 매우 다릅니다. 이번 강의에서는 이 과정을 이해하기 쉽게 설명하고, 알아야 할 주요 기법들을 정리합니다. 여러분은 다음을 배우게 됩니다:
- 머신 러닝의 기본 과정을 높은 수준에서 이해합니다.
- '모델', '예측', '훈련 데이터'와 같은 기본 개념을 탐구합니다.
## [강의 전 퀴즈](https://ff-quizzes.netlify.app/en/ml/)
[![초보자를 위한 머신 러닝 - 머신 러닝 기법](https://img.youtube.com/vi/4NGM0U2ZSHU/0.jpg)](https://youtu.be/4NGM0U2ZSHU "초보자를 위한 머신 러닝 - 머신 러닝 기법")
> 🎥 위 이미지를 클릭하면 이번 강의를 다루는 짧은 영상을 볼 수 있습니다.
## 소개
머신 러닝(ML) 프로세스를 만드는 기술은 다음과 같은 여러 단계로 구성됩니다:
1. **질문 결정하기**. 대부분의 ML 프로세스는 단순한 조건부 프로그램이나 규칙 기반 엔진으로는 답할 수 없는 질문을 던지는 것으로 시작합니다. 이러한 질문은 종종 데이터 집합을 기반으로 한 예측과 관련이 있습니다.
2. **데이터 수집 및 준비**. 질문에 답하기 위해서는 데이터가 필요합니다. 데이터의 품질과 때로는 양이 초기 질문에 얼마나 잘 답할 수 있는지를 결정합니다. 데이터를 시각화하는 것은 이 단계에서 중요한 부분입니다. 이 단계에는 데이터를 훈련 그룹과 테스트 그룹으로 나누어 모델을 구축하는 작업도 포함됩니다.
3. **훈련 방법 선택**. 질문과 데이터의 특성에 따라 데이터를 가장 잘 반영하고 정확한 예측을 할 수 있는 모델을 훈련시키는 방법을 선택해야 합니다. 이 단계는 특정 전문 지식이 필요하며, 종종 상당한 실험이 요구됩니다.
4. **모델 훈련**. 훈련 데이터를 사용하여 다양한 알고리즘을 통해 데이터의 패턴을 인식하도록 모델을 훈련시킵니다. 모델은 데이터의 특정 부분을 우선적으로 고려하여 더 나은 모델을 구축하기 위해 내부 가중치를 조정할 수 있습니다.
5. **모델 평가**. 수집된 데이터 중 이전에 본 적 없는 데이터를 사용하여 모델의 성능을 평가합니다.
6. **매개변수 조정**. 모델의 성능에 따라 알고리즘의 동작을 제어하는 매개변수 또는 변수를 변경하여 프로세스를 다시 실행할 수 있습니다.
7. **예측**. 새로운 입력을 사용하여 모델의 정확성을 테스트합니다.
## 어떤 질문을 할 것인가
컴퓨터는 데이터에서 숨겨진 패턴을 발견하는 데 특히 능숙합니다. 이 유용성은 조건부 기반 규칙 엔진을 만들어 쉽게 답할 수 없는 특정 도메인에 대한 질문을 가진 연구자들에게 매우 유용합니다. 예를 들어, 보험 업무에서는 데이터 과학자가 흡연자와 비흡연자의 사망률에 대한 수작업 규칙을 만들 수 있습니다.
그러나 많은 다른 변수가 방정식에 포함되면, 과거 건강 기록을 기반으로 미래 사망률을 예측하는 데 ML 모델이 더 효율적일 수 있습니다. 더 긍정적인 예로는 위도, 경도, 기후 변화, 해양 근접성, 제트 기류 패턴 등을 포함한 데이터를 기반으로 특정 지역의 4월 날씨를 예측하는 것이 있습니다.
✅ 이 [슬라이드 자료](https://www2.cisl.ucar.edu/sites/default/files/2021-10/0900%20June%2024%20Haupt_0.pdf)는 날씨 분석에서 ML을 사용하는 역사적 관점을 제공합니다.
## 모델 구축 전 작업
모델을 구축하기 전에 완료해야 할 몇 가지 작업이 있습니다. 질문을 테스트하고 모델의 예측을 기반으로 가설을 형성하려면 몇 가지 요소를 식별하고 구성해야 합니다.
### 데이터
질문에 확실히 답하기 위해서는 적절한 유형의 충분한 데이터가 필요합니다. 이 단계에서 해야 할 두 가지 작업은 다음과 같습니다:
- **데이터 수집**. 데이터 분석의 공정성에 대한 이전 강의를 염두에 두고 데이터를 신중히 수집합니다. 데이터의 출처, 내재된 편향, 출처를 문서화하는 것에 주의하세요.
- **데이터 준비**. 데이터 준비 과정에는 여러 단계가 포함됩니다. 다양한 출처에서 온 데이터를 통합하고 정규화해야 할 수도 있습니다. 문자열을 숫자로 변환하거나(예: [클러스터링](../../5-Clustering/1-Visualize/README.md)에서 수행) 원본 데이터를 기반으로 새로운 데이터를 생성하거나(예: [분류](../../4-Classification/1-Introduction/README.md)에서 수행) 데이터를 정리하고 편집할 수 있습니다. 또한 훈련 기법에 따라 데이터를 무작위화하고 섞어야 할 수도 있습니다.
✅ 데이터를 수집하고 처리한 후, 데이터의 형태가 의도한 질문을 해결할 수 있는지 확인하세요. 데이터가 주어진 작업에서 잘 작동하지 않을 수도 있습니다. 이는 [클러스터링](../../5-Clustering/1-Visualize/README.md) 강의에서 발견됩니다!
### 특징과 목표
[특징](https://www.datasciencecentral.com/profiles/blogs/an-introduction-to-variable-and-feature-selection)은 데이터의 측정 가능한 속성입니다. 많은 데이터셋에서 '날짜', '크기', '색상'과 같은 열 제목으로 표현됩니다. 특징 변수는 일반적으로 코드에서 `X`로 표현되며, 모델을 훈련시키는 데 사용되는 입력 변수를 나타냅니다.
목표는 예측하려는 것입니다. 목표는 일반적으로 코드에서 `y`로 표현되며, 데이터에 대해 질문하려는 것에 대한 답을 나타냅니다. 예를 들어, 12월에 가장 저렴한 **호박 색상**은 무엇인가? 샌프란시스코에서 가장 좋은 부동산 **가격**을 가진 지역은 어디인가? 목표는 때때로 레이블 속성이라고도 합니다.
### 특징 변수 선택
🎓 **특징 선택과 특징 추출** 모델을 구축할 때 어떤 변수를 선택해야 할지 어떻게 알 수 있을까요? 아마도 특징 선택 또는 특징 추출 과정을 거쳐 가장 성능이 좋은 모델을 위한 적절한 변수를 선택하게 될 것입니다. 그러나 이 두 가지는 동일하지 않습니다: "특징 추출은 원래 특징의 함수에서 새로운 특징을 생성하는 반면, 특징 선택은 특징의 하위 집합을 반환합니다." ([출처](https://wikipedia.org/wiki/Feature_selection))
### 데이터 시각화
데이터 과학자의 도구 중 중요한 부분은 Seaborn이나 MatPlotLib과 같은 훌륭한 라이브러리를 사용하여 데이터를 시각화하는 능력입니다. 데이터를 시각적으로 표현하면 활용할 수 있는 숨겨진 상관관계를 발견할 수 있습니다. 시각화는 또한 편향이나 불균형 데이터를 발견하는 데 도움을 줄 수 있습니다(예: [분류](../../4-Classification/2-Classifiers-1/README.md) 강의에서 발견).
### 데이터셋 분할
훈련 전에 데이터셋을 불균등한 크기로 두 부분 이상으로 나누어야 합니다. 이 데이터는 여전히 데이터를 잘 대표해야 합니다.
- **훈련**. 데이터셋의 이 부분은 모델을 훈련시키는 데 사용됩니다. 이 세트는 원래 데이터셋의 대부분을 차지합니다.
- **테스트**. 테스트 데이터셋은 원래 데이터에서 수집된 독립적인 데이터 그룹으로, 구축된 모델의 성능을 확인하는 데 사용됩니다.
- **검증**. 검증 세트는 모델의 하이퍼파라미터 또는 아키텍처를 조정하여 모델을 개선하는 데 사용되는 더 작은 독립적인 예제 그룹입니다. 데이터의 크기와 질문에 따라 이 세 번째 세트를 만들 필요가 없을 수도 있습니다(예: [시계열 예측](../../7-TimeSeries/1-Introduction/README.md) 강의에서 언급).
## 모델 구축
훈련 데이터를 사용하여 목표는 다양한 알고리즘을 사용하여 데이터를 **훈련**시켜 모델, 즉 데이터의 통계적 표현을 구축하는 것입니다. 모델 훈련은 데이터를 노출시켜 발견된 패턴을 가정하고, 이를 검증하며, 수용하거나 거부할 수 있도록 합니다.
### 훈련 방법 결정
질문과 데이터의 특성에 따라 훈련 방법을 선택합니다. 이 강의에서 사용하는 [Scikit-learn의 문서](https://scikit-learn.org/stable/user_guide.html)를 살펴보면 모델을 훈련시키는 다양한 방법을 탐구할 수 있습니다. 경험에 따라 최적의 모델을 구축하기 위해 여러 가지 방법을 시도해야 할 수도 있습니다. 데이터 과학자들이 모델의 성능을 평가하기 위해 보지 못한 데이터를 제공하고, 정확성, 편향, 기타 품질 저하 문제를 확인하며, 주어진 작업에 가장 적합한 훈련 방법을 선택하는 과정을 거칠 가능성이 높습니다.
### 모델 훈련
훈련 데이터를 가지고 모델을 '적합'시킬 준비가 되었습니다. 많은 ML 라이브러리에서 'model.fit'이라는 코드를 발견할 수 있습니다. 이 시점에서 특징 변수(일반적으로 'X')와 목표 변수(일반적으로 'y')를 값 배열로 전달합니다.
### 모델 평가
훈련 과정이 완료되면(큰 모델을 훈련시키는 데는 여러 반복 또는 '에포크'가 필요할 수 있음), 테스트 데이터를 사용하여 모델의 품질을 평가할 수 있습니다. 이 데이터는 모델이 이전에 분석하지 않은 원래 데이터의 하위 집합입니다. 모델의 품질에 대한 메트릭 표를 출력할 수 있습니다.
🎓 **모델 적합**
머신 러닝의 맥락에서 모델 적합은 모델의 기본 함수가 익숙하지 않은 데이터를 분석하려는 시도의 정확성을 나타냅니다.
🎓 **과소적합**과 **과대적합**은 모델의 품질을 저하시키는 일반적인 문제로, 모델이 훈련 데이터에 대해 너무 잘 맞거나 너무 느슨하게 맞는 경우를 말합니다. 과대적합된 모델은 데이터의 세부 사항과 노이즈를 너무 잘 학습했기 때문에 훈련 데이터를 너무 잘 예측합니다. 과소적합된 모델은 훈련 데이터와 아직 '본 적 없는' 데이터를 정확히 분석할 수 없기 때문에 정확하지 않습니다.
![과대적합 모델](../../../../1-Introduction/4-techniques-of-ML/images/overfitting.png)
> [Jen Looper](https://twitter.com/jenlooper)의 인포그래픽
## 매개변수 조정
초기 훈련이 완료되면 모델의 품질을 관찰하고 '하이퍼파라미터'를 조정하여 개선을 고려합니다. 자세한 내용은 [문서](https://docs.microsoft.com/en-us/azure/machine-learning/how-to-tune-hyperparameters?WT.mc_id=academic-77952-leestott)를 참조하세요.
## 예측
이제 완전히 새로운 데이터를 사용하여 모델의 정확성을 테스트할 수 있는 순간입니다. '적용된' ML 환경에서는 모델을 프로덕션에서 사용하기 위해 웹 자산을 구축하는 과정이 포함될 수 있습니다. 이 과정은 사용자 입력(예: 버튼 클릭)을 수집하여 변수를 설정하고 모델에 추론 또는 평가를 위해 전달하는 것을 포함할 수 있습니다.
이 강의에서는 데이터 과학자로서의 제스처와 더불어 준비, 구축, 테스트, 평가, 예측하는 방법을 배우게 됩니다. 이는 '풀스택' ML 엔지니어로 성장하는 여정에서 중요한 단계입니다.
---
## 🚀도전
ML 실무자의 단계들을 반영하는 흐름도를 그려보세요. 현재 프로세스에서 자신이 어디에 있다고 생각하나요? 어려움을 겪을 것으로 예상되는 부분은 어디인가요? 쉬워 보이는 부분은 무엇인가요?
## [강의 후 퀴즈](https://ff-quizzes.netlify.app/en/ml/)
## 복습 및 자기 학습
데이터 과학자가 자신의 일상 업무에 대해 이야기하는 인터뷰를 온라인에서 검색해 보세요. [여기](https://www.youtube.com/watch?v=Z3IjgbbCEfs)에 하나의 예가 있습니다.
## 과제
[데이터 과학자 인터뷰하기](assignment.md)
---
**면책 조항**:
이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있으나, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서를 해당 언어로 작성된 상태에서 권위 있는 자료로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 당사는 책임을 지지 않습니다.