1. ML project life cycle

유승우·2022년 5월 11일
0

문제 정의의 중요성


  • 앞으로 우리가 겪을 일은 대부분 문제로 정의할 수 있다
  • 문제를 잘 풀기 위해서는 문제 정의가 필요하다
    • 풀려고 하는 문제가 명확하지 않으면 무엇을 해야할지 결정하기 어려워짐
  • 문제를 충분히 정의하고 고민하는 습관을 만드는 것이 중요!

문제 정의란?


  • 본질 파악하는 과정으로 해결해야 하는 문제는 무엇이냐?, 그 문제를 해결하면 무엇이 좋을까?, 어떻게 해결하면 좋을까? 등을 고민하는 단계
  1. 현상 파악
    • 어떤 일이 발생하고 있는가?
    • 해당 일에서 어려움은 무엇인가?
    • 해당 일에서 해결하면 좋은 것은 무엇인가?
    • 추가적으로 무엇을 해볼 수 있을까?
    • 어떤 가설을 만들어 볼 수 있을까?
    • 어떤 데이터가 있을까?
  2. 목적, 문제 정의 → 계속 생각하기, 쪼개서 생각하기
    • 무엇을 해결하고 싶은가?
    • 무엇을 알고 싶은가?
    • key point
      • 문제를 쪼개서 파악
      • 문제의 해결 방식은 다양하다
      • 해결 방식 중에서 데이터로 해결할 수 있는 방법 고민
      • 점진적으로 실행
      • 데이터로 할 수 있는 일을 만들어서 진행하되, 알고리즘 접근이 항상 최상의 문제 해결 방법이 아니다.
      • 처음부터 1년이 걸리는 방법을 제시하는 것이 아닌 당장 해결할 수 있는 간단한 방법부터 점진적으로 접근
  3. 프로젝트 설계
    • 문제 정의 후, 프로젝트 설계를 최대한 구체적으로 하는 것이 좋구나
      • 미리 많은 것을 대비한 상황에서 프로젝트를 설계하는 것이 좋다.
    • 해결하려고 하는 문제 구체화
      • 앞서 문제 정의 단계에서 구체화
    • 머신러닝 문제 타당성 확인
      • 얼마나 흥미로운지가 아닌, 비즈니스적 관점으로 회사에 어떤 이익을 줄 수 있는지 고려
      • 머신러닝 문제는 데이터로부터 어떤 함수를 학습하는 것으로 필요한 데이터의 종류와 기존 모델이 있는지 확인
    • 목표 설정, 지표 결정
      • 여러가지 시나리오를 고려하는 것이 좋음
      • Label을 가진 데이터 혹은 유사 Label을 가진 데이터가 있는 경우는 바로 사용
      • Label이 없는 데이터의 경우 직접 레이블링 하거나 레이블이 없는 상태에서 학습하는 방법 찾기
      • 데이터가 아예 없는 경우에는 데이터 수집부터 진행
    • 제약 조건
      • 일정 : 프로젝트에 사용할 수 있는 시간
      • 예산 : 사용할 수 있는 예산 고려
      • 관련된 사람 : 이 프로젝트로 인해 영향받는 사람은?
      • Privacy : Storage, 외부 솔루션, 클라우드 서비스 등에 대한 개인정보 보호 요구
      • 기술적 제약 : 기존에 운영하고 있던 환경(인프라가 머신러닝 적용할 때 큰 제약일 수 있다)
      • 윤리적 이슈 : 윤리적으로 어긋난 결과
      • 성능
        • base line : 새로 만든 모델을 base line과 비교함으로써 기준점을 잡을 수 있다.

0개의 댓글