13 KiB
머신 러닝 기법
머신 러닝 모델을 구축, 사용, 유지 관리하는 과정과 그 모델이 사용하는 데이터는 다른 개발 워크플로우와 매우 다릅니다. 이번 강의에서는 이 과정을 이해하기 쉽게 설명하고, 알아야 할 주요 기법들을 정리합니다. 여러분은 다음을 배우게 됩니다:
- 머신 러닝의 기본 과정을 높은 수준에서 이해합니다.
- '모델', '예측', '훈련 데이터'와 같은 기본 개념을 탐구합니다.
강의 전 퀴즈
🎥 위 이미지를 클릭하면 이번 강의를 다루는 짧은 영상을 볼 수 있습니다.
소개
머신 러닝(ML) 프로세스를 만드는 기술은 다음과 같은 여러 단계로 구성됩니다:
- 질문 결정하기. 대부분의 ML 프로세스는 단순한 조건부 프로그램이나 규칙 기반 엔진으로는 답할 수 없는 질문을 던지는 것으로 시작합니다. 이러한 질문은 종종 데이터 집합을 기반으로 한 예측과 관련이 있습니다.
- 데이터 수집 및 준비. 질문에 답하기 위해서는 데이터가 필요합니다. 데이터의 품질과 때로는 양이 초기 질문에 얼마나 잘 답할 수 있는지를 결정합니다. 데이터를 시각화하는 것은 이 단계에서 중요한 부분입니다. 이 단계에는 데이터를 훈련 그룹과 테스트 그룹으로 나누어 모델을 구축하는 작업도 포함됩니다.
- 훈련 방법 선택. 질문과 데이터의 특성에 따라 데이터를 가장 잘 반영하고 정확한 예측을 할 수 있는 모델을 훈련시키는 방법을 선택해야 합니다. 이 단계는 특정 전문 지식이 필요하며, 종종 상당한 실험이 요구됩니다.
- 모델 훈련. 훈련 데이터를 사용하여 다양한 알고리즘을 통해 데이터의 패턴을 인식하도록 모델을 훈련시킵니다. 모델은 데이터의 특정 부분을 우선적으로 고려하여 더 나은 모델을 구축하기 위해 내부 가중치를 조정할 수 있습니다.
- 모델 평가. 수집된 데이터 중 이전에 본 적 없는 데이터를 사용하여 모델의 성능을 평가합니다.
- 매개변수 조정. 모델의 성능에 따라 알고리즘의 동작을 제어하는 매개변수 또는 변수를 변경하여 프로세스를 다시 실행할 수 있습니다.
- 예측. 새로운 입력을 사용하여 모델의 정확성을 테스트합니다.
어떤 질문을 할 것인가
컴퓨터는 데이터에서 숨겨진 패턴을 발견하는 데 특히 능숙합니다. 이 유용성은 조건부 기반 규칙 엔진을 만들어 쉽게 답할 수 없는 특정 도메인에 대한 질문을 가진 연구자들에게 매우 유용합니다. 예를 들어, 보험 업무에서는 데이터 과학자가 흡연자와 비흡연자의 사망률에 대한 수작업 규칙을 만들 수 있습니다.
그러나 많은 다른 변수가 방정식에 포함되면, 과거 건강 기록을 기반으로 미래 사망률을 예측하는 데 ML 모델이 더 효율적일 수 있습니다. 더 긍정적인 예로는 위도, 경도, 기후 변화, 해양 근접성, 제트 기류 패턴 등을 포함한 데이터를 기반으로 특정 지역의 4월 날씨를 예측하는 것이 있습니다.
✅ 이 슬라이드 자료는 날씨 분석에서 ML을 사용하는 역사적 관점을 제공합니다.
모델 구축 전 작업
모델을 구축하기 전에 완료해야 할 몇 가지 작업이 있습니다. 질문을 테스트하고 모델의 예측을 기반으로 가설을 형성하려면 몇 가지 요소를 식별하고 구성해야 합니다.
데이터
질문에 확실히 답하기 위해서는 적절한 유형의 충분한 데이터가 필요합니다. 이 단계에서 해야 할 두 가지 작업은 다음과 같습니다:
- 데이터 수집. 데이터 분석의 공정성에 대한 이전 강의를 염두에 두고 데이터를 신중히 수집합니다. 데이터의 출처, 내재된 편향, 출처를 문서화하는 것에 주의하세요.
- 데이터 준비. 데이터 준비 과정에는 여러 단계가 포함됩니다. 다양한 출처에서 온 데이터를 통합하고 정규화해야 할 수도 있습니다. 문자열을 숫자로 변환하거나(예: 클러스터링에서 수행) 원본 데이터를 기반으로 새로운 데이터를 생성하거나(예: 분류에서 수행) 데이터를 정리하고 편집할 수 있습니다. 또한 훈련 기법에 따라 데이터를 무작위화하고 섞어야 할 수도 있습니다.
✅ 데이터를 수집하고 처리한 후, 데이터의 형태가 의도한 질문을 해결할 수 있는지 확인하세요. 데이터가 주어진 작업에서 잘 작동하지 않을 수도 있습니다. 이는 클러스터링 강의에서 발견됩니다!
특징과 목표
특징은 데이터의 측정 가능한 속성입니다. 많은 데이터셋에서 '날짜', '크기', '색상'과 같은 열 제목으로 표현됩니다. 특징 변수는 일반적으로 코드에서 X
로 표현되며, 모델을 훈련시키는 데 사용되는 입력 변수를 나타냅니다.
목표는 예측하려는 것입니다. 목표는 일반적으로 코드에서 y
로 표현되며, 데이터에 대해 질문하려는 것에 대한 답을 나타냅니다. 예를 들어, 12월에 가장 저렴한 호박 색상은 무엇인가? 샌프란시스코에서 가장 좋은 부동산 가격을 가진 지역은 어디인가? 목표는 때때로 레이블 속성이라고도 합니다.
특징 변수 선택
🎓 특징 선택과 특징 추출 모델을 구축할 때 어떤 변수를 선택해야 할지 어떻게 알 수 있을까요? 아마도 특징 선택 또는 특징 추출 과정을 거쳐 가장 성능이 좋은 모델을 위한 적절한 변수를 선택하게 될 것입니다. 그러나 이 두 가지는 동일하지 않습니다: "특징 추출은 원래 특징의 함수에서 새로운 특징을 생성하는 반면, 특징 선택은 특징의 하위 집합을 반환합니다." (출처)
데이터 시각화
데이터 과학자의 도구 중 중요한 부분은 Seaborn이나 MatPlotLib과 같은 훌륭한 라이브러리를 사용하여 데이터를 시각화하는 능력입니다. 데이터를 시각적으로 표현하면 활용할 수 있는 숨겨진 상관관계를 발견할 수 있습니다. 시각화는 또한 편향이나 불균형 데이터를 발견하는 데 도움을 줄 수 있습니다(예: 분류 강의에서 발견).
데이터셋 분할
훈련 전에 데이터셋을 불균등한 크기로 두 부분 이상으로 나누어야 합니다. 이 데이터는 여전히 데이터를 잘 대표해야 합니다.
- 훈련. 데이터셋의 이 부분은 모델을 훈련시키는 데 사용됩니다. 이 세트는 원래 데이터셋의 대부분을 차지합니다.
- 테스트. 테스트 데이터셋은 원래 데이터에서 수집된 독립적인 데이터 그룹으로, 구축된 모델의 성능을 확인하는 데 사용됩니다.
- 검증. 검증 세트는 모델의 하이퍼파라미터 또는 아키텍처를 조정하여 모델을 개선하는 데 사용되는 더 작은 독립적인 예제 그룹입니다. 데이터의 크기와 질문에 따라 이 세 번째 세트를 만들 필요가 없을 수도 있습니다(예: 시계열 예측 강의에서 언급).
모델 구축
훈련 데이터를 사용하여 목표는 다양한 알고리즘을 사용하여 데이터를 훈련시켜 모델, 즉 데이터의 통계적 표현을 구축하는 것입니다. 모델 훈련은 데이터를 노출시켜 발견된 패턴을 가정하고, 이를 검증하며, 수용하거나 거부할 수 있도록 합니다.
훈련 방법 결정
질문과 데이터의 특성에 따라 훈련 방법을 선택합니다. 이 강의에서 사용하는 Scikit-learn의 문서를 살펴보면 모델을 훈련시키는 다양한 방법을 탐구할 수 있습니다. 경험에 따라 최적의 모델을 구축하기 위해 여러 가지 방법을 시도해야 할 수도 있습니다. 데이터 과학자들이 모델의 성능을 평가하기 위해 보지 못한 데이터를 제공하고, 정확성, 편향, 기타 품질 저하 문제를 확인하며, 주어진 작업에 가장 적합한 훈련 방법을 선택하는 과정을 거칠 가능성이 높습니다.
모델 훈련
훈련 데이터를 가지고 모델을 '적합'시킬 준비가 되었습니다. 많은 ML 라이브러리에서 'model.fit'이라는 코드를 발견할 수 있습니다. 이 시점에서 특징 변수(일반적으로 'X')와 목표 변수(일반적으로 'y')를 값 배열로 전달합니다.
모델 평가
훈련 과정이 완료되면(큰 모델을 훈련시키는 데는 여러 반복 또는 '에포크'가 필요할 수 있음), 테스트 데이터를 사용하여 모델의 품질을 평가할 수 있습니다. 이 데이터는 모델이 이전에 분석하지 않은 원래 데이터의 하위 집합입니다. 모델의 품질에 대한 메트릭 표를 출력할 수 있습니다.
🎓 모델 적합
머신 러닝의 맥락에서 모델 적합은 모델의 기본 함수가 익숙하지 않은 데이터를 분석하려는 시도의 정확성을 나타냅니다.
🎓 과소적합과 과대적합은 모델의 품질을 저하시키는 일반적인 문제로, 모델이 훈련 데이터에 대해 너무 잘 맞거나 너무 느슨하게 맞는 경우를 말합니다. 과대적합된 모델은 데이터의 세부 사항과 노이즈를 너무 잘 학습했기 때문에 훈련 데이터를 너무 잘 예측합니다. 과소적합된 모델은 훈련 데이터와 아직 '본 적 없는' 데이터를 정확히 분석할 수 없기 때문에 정확하지 않습니다.
Jen Looper의 인포그래픽
매개변수 조정
초기 훈련이 완료되면 모델의 품질을 관찰하고 '하이퍼파라미터'를 조정하여 개선을 고려합니다. 자세한 내용은 문서를 참조하세요.
예측
이제 완전히 새로운 데이터를 사용하여 모델의 정확성을 테스트할 수 있는 순간입니다. '적용된' ML 환경에서는 모델을 프로덕션에서 사용하기 위해 웹 자산을 구축하는 과정이 포함될 수 있습니다. 이 과정은 사용자 입력(예: 버튼 클릭)을 수집하여 변수를 설정하고 모델에 추론 또는 평가를 위해 전달하는 것을 포함할 수 있습니다.
이 강의에서는 데이터 과학자로서의 제스처와 더불어 준비, 구축, 테스트, 평가, 예측하는 방법을 배우게 됩니다. 이는 '풀스택' ML 엔지니어로 성장하는 여정에서 중요한 단계입니다.
🚀도전
ML 실무자의 단계들을 반영하는 흐름도를 그려보세요. 현재 프로세스에서 자신이 어디에 있다고 생각하나요? 어려움을 겪을 것으로 예상되는 부분은 어디인가요? 쉬워 보이는 부분은 무엇인가요?
강의 후 퀴즈
복습 및 자기 학습
데이터 과학자가 자신의 일상 업무에 대해 이야기하는 인터뷰를 온라인에서 검색해 보세요. 여기에 하나의 예가 있습니다.
과제
면책 조항:
이 문서는 AI 번역 서비스 Co-op Translator를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있으나, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서를 해당 언어로 작성된 상태에서 권위 있는 자료로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 당사는 책임을 지지 않습니다.