데이터 종속 항목

데이터가 기존 프로그래머에게 있어 코드와 마찬가지로 ML 개발자에게도 중요합니다. 이 강의에서는 데이터를 대상으로 해야 하는 질문 유형을 중점적으로 설명합니다.

데이터 종속 항목

  • 입력 데이터 (특성)가 ML 시스템 동작을 결정합니다.
    • 소프트웨어 라이브러리용 단위 테스트는 작성하지만 데이터는 어떨까요?
  • 입력 신호를 선택할 때는 주의해야 합니다.
    • 어떤 소프트웨어 라이브러리를 사용할지 결정할 때 훨씬 더 신경 써야 할까요?
  • 신뢰성
    • 신호를 사용할 수 없으면 어떻게 되나요? 알고 계셨나요?
  • 신뢰성
    • 신호를 사용할 수 없으면 어떻게 되나요? 알고 계셨나요?
  • 버전 관리
    • 이 신호를 계산하는 시스템이 변경되나요? 얼마나 자주 변경되나요? 어떤 결과가 발생하나요?
  • 신뢰성
    • 신호를 사용할 수 없으면 어떻게 되나요? 알고 계셨나요?
  • 버전 관리
    • 이 신호를 계산하는 시스템이 변경되나요? 얼마나 자주 변경되나요? 어떤 결과가 발생하나요?
  • 필요성
    • 신호의 유용성이 신호를 포함하는 비용을 정당화하나요?
  • 상관관계
    • 내 입력 신호가 너무 밀접하게 연결되어 있어서 분리하기 위한 추가 전략이 필요한가요?
  • 상관관계
    • 내 입력 신호가 너무 밀접하게 연결되어 있어서 분리하기 위한 추가 전략이 필요한가요?
  • 피드백 루프
    • 어떤 입력 신호가 모델 출력의 영향을 받을 수 있나요?

동영상 강의 요약

ML 시스템의 동작은 입력 특성의 행동과 특성에 종속됩니다. 이러한 특성의 입력 데이터가 변경되면 모델도 변경됩니다. 이러한 변경이 바람직할 때도 있지만 그렇지 않은 경우도 있습니다.

기존 소프트웨어 개발에서는 데이터보다 코드에 더 중점을 둡니다. 머신러닝 개발에서는 여전히 코딩이 필요하지만 데이터를 포함하도록 초점을 넓혀야 합니다. 예를 들어 기존 소프트웨어 개발 프로젝트에서는 코드를 검증하기 위해 단위 테스트를 작성하는 것이 좋습니다. ML 프로젝트에서는 입력 데이터를 지속적으로 테스트, 확인, 모니터링해야 합니다.

예를 들어 사용되지 않거나 거의 사용되지 않는 특성을 삭제하려면 모델을 지속적으로 모니터링해야 합니다. 모델에 거의 또는 전혀 기여하지 않은 특정 특성을 상상해 보세요 이 특성의 입력 데이터가 갑자기 변경되면 모델의 동작도 원치 않는 방식으로 변경될 수 있습니다.

신뢰성

입력 데이터의 안정성에 관해 물어야 할 질문은 다음과 같습니다.

  • 신호를 항상 사용할 수 있나요? 아니면 신호가 안정적이지 않은 출처에서 제공되나요? 예를 들면 다음과 같습니다.
    • 부하가 높은 상태에서 다운되는 서버에서 발생하는 신호인가요?
    • 신호는 매년 8월에 휴가를 가고 있는 사람으로부터 발생하나요?

버전 관리

버전 관리에 관해 물어야 할 몇 가지 질문은 다음과 같습니다.

  • 이 데이터를 계산하는 시스템이 변경되나요? 이 경우 다음 단계를 따르세요.
    • 얼마나 자주 변경되나요?
    • 시스템이 변경되면 어떻게 알 수 있나요?

데이터가 업스트림 프로세스에서 제공되는 경우도 있습니다. 이 프로세스가 갑자기 변경되면 모델이 영향을 받을 수 있습니다.

업스트림 과정에서 받은 데이터의 사본을 만들어 보세요. 그런 다음 안전하다고 확신하는 경우에만 다음 버전의 업스트림 데이터를 진행하세요.

필요성

다음 질문을 보면 정규화가 떠오를 수 있습니다.

  • 특성의 유용성이 해당 기능을 포함하는 비용을 정당화하나요?

항상 모델에 더 많은 특성을 추가하고 싶을 수 있습니다. 예를 들어 추가 특성을 사용한 모델의 정확도가 조금 더 높은 새 특성을 찾았다고 가정합니다. 정확성이 높을수록 정확성이 낮은 것보다 소리가 더 좋습니다. 하지만 이제 유지보수 부담이 더 가중됩니다. 이 추가 기능은 예기치 않게 저하될 수 있으므로 모니터링해야 합니다. 사소한 단기적 성공으로 이어지는 기능을 추가하기 전에 신중하게 생각하세요.

상관관계

일부 특성은 다른 특성과 양의 또는 음의 상관관계를 가집니다. 다음 질문에 대한 답을 생각해 보세요.

  • 특성이 너무 밀접하게 연결되어 있어서 분리하기 위한 추가 전략이 필요한가요?

피드백 루프

모델이 자체 학습 데이터에 영향을 미칠 수 있는 경우도 있습니다. 예를 들어, 일부 모델의 결과는 동일한 모델에 특성을 직접 또는 간접적으로 입력합니다.

모델이 다른 모델에 영향을 미칠 수 있는 경우도 있습니다. 예를 들어 주가를 예측하는 다음 2가지 모델을 가정해 보겠습니다.

  • 모델 A: 잘못된 예측 모델입니다.
  • 모델 B

모델 A에 버그가 있으므로 재고 X의 재고를 실수로 구매합니다. 이러한 구매로 인해 주식 X의 주가가 상승합니다. 모델 B는 주식 X의 가격을 입력 특성으로 사용하므로 모델 B는 주식 X의 가치에 대한 잘못된 결론을 쉽게 내릴 수 있습니다. 따라서 모델 B는 모델 A의 버그 행동을 기반으로 주식 X를 구매하거나 판매합니다. 결과적으로 모델 B의 동작은 모델 A에 영향을 미쳐 튤립 마니아 또는 회사 X의 스톡 슬라이드를 트리거할 수 있습니다.