
복잡한 머신러닝 시스템을 성공적으로 설계하려면 프레임워크를 따르는 것이 중요하다. 머신러닝 시스템에 효과적으로 대응할 수 있는 프레임워크는 다음과 같이 제안할 수 있다.
단 하나의 정답만이 존재하는 것은 아니며, 이 프레임워크는 생각을 구조화하는 데 도움을 준다.
위 단계 중 오늘은 요구사항 명확화와, 머신러닝 작업으로 문제를 구조화하는 단계에 대해 살펴볼 예정이다.
요구사항을 명확하게 이해하려면 다음과 같은 것을 파악해야 한다.
이러한 사항에 대해 파악하고 합의해야 한다.
비즈니스 관점의 문제는 머신러닝이 작업할 수 있는 영역이 아니기 때문에 이를 머신러닝 작업으로 이를 구조화해야 한다.
우선, 주어진 문제를 해결하기 위해 머신러닝이 필요한지부터 먼저 판단해야 한다.
면접에서는 머신러닝이 도움이 된다고 당연하게 가정할 수 있으므로, 문제 해결을 위해 다음과 같이 머신러닝 작업의 틀을 잡는다.
- 머신러닝 목표 정의
- 시스템의 입력 및 출력 지정
- 적합한 머신러닝 유형 선택
1. 머신러닝 목표 정의
단순히 '매출 20% 증가'와 같은 목표를 설정해서는 모델을 훈련할 수 없기에, 이를 잘 정의된 머신러닝 목표로 변환해야 한다.
예)
2. 시스템 입력 및 출력 지정
다음으로는 시스템의 입력과 출력을 정의해야 한다.
예) 
때에 따라 둘 이상의 머신러닝 모델로 구성할 수 있다. 이 경우 머신러닝 모델의 입력과 출력을 각각 지정해야 한다. 예를 들어 유해한 컨텐츠 감지를 위해 폭력을 예측하는 하나의 모델과 과도한 노출을 예측하는 또 다른 모델을 적용할 수 있다.
3. 적합한 머신러닝 유형 선택
머신러닝 유형은 다음 유형 중 하나로 구성될 수 있다.

일반적으로 지도 학습 >> 비지도 학습, 강화학습 순으로 사용된다.
그 이유는 머신러닝 모델이 일반적으로 학습 데이터를 사용할 때 특정 작업을 더 잘 학습하기 때문이다.
지도 학습의 다양한 유형에 대해 살펴보면,
이렇듯 해당 단계에서는 적합한 머신러닝 유형을 선택해야 한다.
마무리하며.. 🧐
이 책을 통해 앞으로의 머신러닝 시스템 면접뿐만 아니라 캐글 대회, AI 관련 포지션 등에서 많이 활용할 수 있을 것 같다.
Reference
[도서] 가상 면접 사례로 배우는 머신러닝 시스템 설계 기초 (알렉스 쉬, 알리 아마니안)