Data Science & AI Theories

ML Process, Model개발

Oliver J 2023. 8. 15. 23:33
반응형
  • Machine Learning Process
    1. 문제제기 단계
      • 주어진 input data로 target을 prediction할 수 있다는 가정
      • 이용가능한 data에서 input과 output사이 관계를 학습할 충분한 Data존재해야함
    2. Data Collection 단계
      • Data 요소의 품질을 위하여 data 수집과 label달기
      • 개념이동(concept draft)
        • 제품환경에서 Data속성이 시간에 따라 변할 때 발생 è Model정확도가 점진적으로 하락
        • 빠른 개념이동 대처방안 : 지속적 Data수집, 애너테이션 Model, Model의 재훈련
      • 예측성 없는 Data사례
        • Sampling Bias - Data수집과정이 예측대상과 상호작용하여 편향된 측정결과를 낸다.
    3. Data 이해 단계 : target의 특성정보누출 feature가 존재할 때에 대한 주의가 필요하다.(질문에 답 넣지마라~)
    4. 성공지표 선택 단계 – 정확도? 재현율? 정밀도 등등 무엇에 더 포커스를 맞춰야 하는지~
반응형
  • Model 개발
    1. Data준비
      • 벡터화 : tensor로 변환
      • 정규화 : 모든 feature 범위 비슷하게 만들기
      • 누락값 처리
        • 범주형의 경우 새로운 카테고리로 만들어 처리할 수 있다.
        • 수치형의 경우 Data를 확인해보고 그에 따른 평균값이나 중간값으로 대체하는게 효율적이다.
    2. 평가방법 선택
      • Model의 일반화가 훈련의 목적!
      • 홀드아웃, k교차검증, 반복k교차검증 등등
    3. 기준 Model뛰어넘기
      • 특성공학, 구조에 대한 올바른 가정, 좋은 훈련 option을 선택
      •  
      • 유형 Last layer activation function Loss function
        이진분류 Sigmoid binary_crossentropy
        단일 Label다중분류 Softmax categorical_crossentropy
        다중 Label 다중분류 Sigmoid binary_crossentropy
      • 특성에 맞는 공학기법과 Model구조 찾기~!(즉, 선례를 찾아라!)
    4. Model 용량 키우기(=과대적합 만들기)
    5. Model 규제 + Hyperparameter 튜닝
      • Hyperparameter 튜닝 방안
        1. Model이 작다면 L1이나 L2규제를 추가
        2. KerasTuner : 자동화된 hyperparameter튜닝 소프트웨어
          • hyperparameter튜닝
            • discret decision(불연속&미분불가)경우 Gradient descent사용이 불가능
              • gradient_free최적화 기법을 사용해야함
            • 튜닝은 검증Data대상으로 하는 것이므로 overfitting에 주의해야함
            • Keras Tuning 클래스 종류
              1. kt.applications.HyperResNet
              2. kt.applications.HyperXception
              3. kt.applications.HyperImageAugment

 

  • @tf.function 데코레이터
    • test및 디버깅 후 함수 전에 데코레이터를 추가하여 계산그래프로 컴파일 해야 속도가 향상된다. , 데코레이터 없이 사용할 경우 속도가 느림
728x90
반응형