Table of Contents

DeepLearning

신경망의 성능 개선 방법

꼬꼬마코더 2024. 8. 16. 12:47
728x90

Model Driven

  1. Weight Initialization: 모델의 가중치 초기화 방법으로, 학습의 시작점과 효율성에 영향을 줍니다. tahn, sigmoid, relu
  2. Drop out: 과적합을 방지하기 위해 학습 중 일부 뉴런을 무작위로 활성화하지 않는 방법입니다. 0.2~0.3
  3. Batch Normalization: 배치 단위로 입력 데이터의 분포가 평균이 0, 분산이 1이 되도록 정규화하여 학습을 안정화하고 가속화(빠른 학습 가능)합니다.
  4. Early Stop: 과적합을 방지하기 위해 검증 데이터(valid set)의 성능이 향상되지 않을 때 학습을 조기에 중단합니다.
  5. Transfer Learning: 사전에 학습된 모델을 새로운 작업에 적용하여 학습 시간을 단축하고 성능을 개선합니다.
  6. End to End vs Part: 모델이 전체 과정을 한 번에 처리하는 방식과 부분적으로 처리하는 방식의 차이입니다. 고도화할 경우 Part만 적용할 수 있습니다.
  7. ML vs DL: 기계 학습(ML)과 딥러닝(DL)의 차이점을 나타냅니다. 내가 가지고 있는 데이터셋이 적은 경우 ML을 사용하는 것이 좋을 수 있습니다. 설명력이 충분해야하는 경우 ML을 사용해야 할 수 있습니다.

이러한 요소들은 데이터를 기반으로 한 의사결정 프로세스에서 중요한 역할을 하며, 효과적인 모델 구축과 정확한 예측을 위해 필수적입니다.

Data Driven

  1. Data Distribution: 데이터의 분포를 이해하고, 이를 통해 모델이 데이터를 어떻게 해석해야 하는지 판단합니다. log normal distribution 을 적용할 수 있습니다.
  2. Data Scale: 데이터의 크기와 복잡성을 고려하여 처리 방법과 모델 선택을 결정합니다. train, test셋을 모두 StandardScaler 또는 MinMaxScaler를 적용하여 데이터를 통합시킬 수 있습니다. 새로운 데이터가 scale에서 벗어날 가능성이 있는 경우 MinMax는 적용하지 않는 것이 좋습니다.
  3. Binning: Domain Knowledge 특정 분야의 지식을 활용하여 데이터를 구간별로 나누어 분석의 효율성을 높이고, 범주형 변수 처리에 활용합니다.
  4. Feature Engineering: 데이터로부터 유용한 특징을 추출하거나 생성하여 target값과 더 관련있게 만드는 작업입니다.
  5. Dimension Reduction: 고차원의 데이터를 저차원으로 축소하여 분석의 복잡성을 줄이고 계산 효율성을 높입니다. feature selection: 특정 feature에 종속성이 강한 불필요한 feature는 제거하고 데이터의 특징을 잘 나타내는 주요 feature만 선택, feture extraction: feature를 함축적으로 잘 설명할 수 있는 또 다른 공간으로 매핑해서 추론
  6. Train Set vs Test Set vs Real Data: 모델을 만들고 배포하는 단계에서 생각할 수 있는 문제, 실제 데이터가 훈련 데이터와 테스트 데이터와의 차이가 있을 경우 데이터의 수집 자체에 문제가 있을 수 있습니다.

이러한 기법들은 모델의 성능과 학습 속도에 중대한 영향을 미칠 수 있습니다.