ML에서의 데이터 준비 및 특성 추출

머신러닝은 데이터에서 패턴을 찾아내어 새로운 데이터 포인트를 예측하는 데 도움을 줍니다. 이러한 예측을 올바르게 수행하기 위해서는 데이터 세트구성하고 데이터를 올바르게 변환해야 합니다. 이 과정에서는 두 가지 주요 단계를 다룹니다. 또한 학습/서빙 고려사항이 이러한 단계에 어떻게 적용되는지 살펴보겠습니다.

5단계로 구성된 머신러닝 프로젝트 1. ML 문제를 정의하고 해결책을 제안합니다. 2. 데이터 세트를 구성합니다. 3. 데이터를 변환합니다.
4. 모델 학습 5. 모델을 이용해 예측을 수행합니다.  이 과정에서는 데이터 세트를 구성하고 데이터를 변환하는 방법을 다룹니다.

기본 요건

이 과정에서는 다음을 수행했다고 가정합니다.

데이터 준비 및 특성 추출에 대해 배워야 하는 이유

특성 추출은 모델이 하는 것과 동일한 방식으로 데이터 세트를 이해하는 데 도움이 된다고 생각하면 됩니다. 학습자는 모델 빌드에 초점을 맞춘 머신러닝 과정을 수강하는 경우가 많지만 결국 데이터에 집중하는 데 훨씬 더 많은 시간을 사용하게 됩니다.

다음 질문의 경우 원하는 화살표를 클릭하여 답을 확인하세요.

머신러닝 프로젝트에서 아래 영역 중 하나를 개선하는 데 우선순위를 두어야 한다면 어떤 영향이 가장 클까요?
데이터 품질 및 크기
데이터가 모든 데이터를 능가합니다. 학습 알고리즘 또는 모델 아키텍처를 업데이트하면 다양한 유형의 패턴을 학습할 수 있지만 데이터가 잘못된 경우 잘못된 항목에 적합한 함수를 빌드하게 됩니다. 데이터 세트의 품질과 크기는 사용하는 반짝이는 알고리즘보다 훨씬 더 중요합니다.
최신 최적화 알고리즘 사용
옵티마이저 푸시를 통해 확실히 효과를 볼 수 있지만 이 목록의 다른 항목만큼 모델에 큰 영향을 미치지는 않습니다.
더 깊은 네트워크
심층적인 네트워크가 모델을 개선할 수도 있지만 이 목록의 다른 항목만큼 영향이 크지는 않습니다.
더 영리한 손실 함수
아깝네요. 손실 함수가 개선되면 크게 향상될 수 있지만 여전히 이 목록의 다른 항목보다 두 번째입니다.

좋은 데이터 세트 수집이 중요한 이유

Google 번역으로 번역하기

"신경망 기계 번역은 사용할 학습 데이터의 최상의 하위 집합을 식별하는 데 사용되어 왔습니다."

- 소프트웨어 엔지니어, Google 번역

Google 번역팀에는 사용할 수 있는 것보다 더 많은 학습 데이터가 있습니다. 팀은 모델을 조정하는 대신 데이터에서 최고의 특성을 사용하여 더 큰 성과를 거두었습니다.

 

 

 

"...흥미로운 모양의 오류를 수동으로 디버그하려고 할 때가 많으면 학습 데이터에 문제가 있는 것으로 보일 수 있습니다." - 소프트웨어 엔지니어, Google 번역

'흥미로운' 오류는 일반적으로 데이터로 인해 발생합니다. 데이터에 오류가 있으면 시도하는 모델링 기법에 관계없이 모델이 잘못된 패턴을 학습할 수 있습니다.

 

 

브레인 당뇨망막병증 프로젝트

Google 브레인의 당뇨망막병증 프로젝트는 인셉션이라고 하는 신경망 아키텍처로 이미지를 분류하여 질병을 감지합니다. 팀은 모델을 변경하지 않았습니다. 대신 안과 전문의가 라벨을 지정한 120,000개의 예시 데이터 세트를 만들었습니다. 자세한 내용은 https://research.google.com/pubs/pub43022.html을 참고하세요.