2. 목차
1
2
3
STEP 1
STEP 2
STEP 3
https://dacon.io 2
데이터 전처리 & EDA
모델 구축 & 검증
결과 & 결언
데이터 전처리 / 분석
모델 구축 / 검증
결과 및 결언
• 1. 모델 구축
• 2. 파라미터 튜닝
• 3. 앙상블
• 1. 결과
• 2. 결과 그래프
• 3. 결언
• 1. 대회 소개
• 2. 데이터 전처리
• 3. EDA
• 4. 특징 추출
3. https://dacon.io 3
1.1 대회 소개
2. 성능 평가 지표 : MAE / F1 score
1. 배경
위성은 지구의 70%를 차지하고 있는 해양은 기상 정보에 대해 필수다.
강수량 산출은 지구의 물과 에너지 순환을 이해하는데 중요하다.
미항공우주국 NASA는 1970년대부터 위성을 이용한 강수량 산출 연구를 수행해 왔으
며, 2014년부터 GPM(Global Precipitation Measurement) 미션을 통해 전 지구 강수량
을 30분 단위로 제공한다. NASA에서 사용하고 있는 강수량 산출 알고리즘은 물리기반
의 베이지안 통계를 활용하고 있어, 전 영역에 대해 고품질 데잉터베이스를 만드는 어
려움이 있다. 인공지능을 활용하여 관측값 자체에서 어떠한 경험적 튜닝 없이 강수 산
출을 시도해보자
3. 데이터
채널 0 ~ 8 : 밝기 온도 (단위: K, 10.64GHz ~ 89.0GHz)
채널 9 : 지표 타입 (앞자리 0: Ocean, 앞자리 1: Land,
앞자리 2: Coastal, 앞자리 3: Inland Water)
채널 10 : GMI 경도
채널 11 : GMI 위도
채널 12 : DPR 경도
채널 13 : DPR 위도
채널 14 : 강수량 (mm/h, 결측치는 -9999.xxx 형태의 float 값으로 표기)
4. https://dacon.io 4
1.2 데이터 전처리
1. 데이터 타입을 float64를 float32로 변경
=> 부동 소수점 연산을 줄이기 위한 타입 변경
2. target 데이터의 합이 0보다 작은 경우 데이터 제거
=> 결측값 제거
7. https://dacon.io 7
1.4.1 특징 추출
출처: https://storage.googleapis.com/openimages/web/index.html
최종 선택
Train Data
밝기 온도 값 (9개)
+ 지표 타입 ([4개] OR [1개])
=> [one hot encoding] OR [no encoding]
+ GMI 위 경도 (2개)
+ DPR 위 경도 (2개)
+ 밝기 온도 값 차이 (24개)
최종 특징 개수 : 41 개 or 38개
8. https://dacon.io 8
1.4.2 특징 추출: 데이터 보강
origin 90 180 270
verticalhorizontal vertical + 90 vertical + 270
출처: https://storage.googleapis.com/openimages/web/index.html
Data Augmentation (Flip & Rotation)
9. https://dacon.io 9
2.1.1 모델 구축 - type A
Unet 사용
Upsampling Layer : Nearest Neighbor Interporation 방법 사용
* output Regression
출처: https://arxiv.org/pdf/1812.00249.pdf
40 x 40 x 41
upsampling
2 x 2
40 x 40 x 1
maxpooling
2 x 2
10. https://dacon.io 10
2.1.2 모델 구축 - type B
출처: https://arxiv.org/pdf/1812.00249.pdf
Unet 사용
Upsampling Layer : Nearest Neighbor Interporation 방법 사용
* output Classification (1 if pixel >= 0.1 else : 0)
40 x 40 x 41
upsampling
2 x 2
40 x 40 x 1
maxpooling
2 x 2
11. https://dacon.io 11
2.2 파라미터 튜닝
1. Learning rate Scheduler
=> 실험 결과 Polynomial Decay 방법으로
Learning rate를 줄여나가는 것이 모델이
안정적으로 학습된다.
2. Optimizer
=> SGD 수렴 속도가 매우 느리고 성능도 큰 변화가 없기 때문에 Adam을 사용
3. Model : Upsampling
=> 실험 결과 convolution 연산 방법 보다 interpolation 연산 방법이 좋았다.
4. Activation Function
=> 실험 결과 ReLU, ELU 의 큰 성능 차이가 없었다.
12. https://dacon.io 12
2.3.1 앙상블
Hyper Parameter를 바꿔가며 생성한 모델 중 cross validation
score가 높은 모델을 soft voting ensemble 하였다.
- random state 의 값을 바꿔가며 5개의 fold를 구성하여 얻은 결과중 성능이 높은 값
index fold activation 지표타입 Augmentation CV
score
1 1 elu no encoding X 1.403
2 2 elu no encoding X 1.405
3 3 elu no encoding X 1.466
4 4 relu no encoding X 1.411
5 1 elu encoding O 1.388
6 2 elu encoding O 1.390
7 3 elu encoding O 1.394
8 4 elu encoding O 1.392
13. https://dacon.io 13
2.3.2 앙상블
index fold activation 지표타입 Augmentation CV
score
9 5 elu encoding O 1.433
10 3 elu encoding O 1.415
11 1 elu encoding O 1.400
12 2 elu encoding O 1.402
13 3 elu encoding O 1.387
14 4 elu encoding O 1.390
15 5 elu encoding O 1.417
data augmentation을 이용하여 학습한 모델은 예측할 때도 data augmentation을 사용한다.
추론할 때 나온 결과들을 원래 이미지로 다시 회전시키고 soft voting하여 최종 결과를 만
든다.
14. https://dacon.io 14
3.1.1 결과
* regression ensemble
→ public LB : 1.435
*regression + classification ensemble
classification 모델의 학습결과 regression 모델의 f1-score 보다 성능이 좋게 나
왔기 때문에 classification 모델의 결과에 가중치를 더 두어 앙상블 하였다.
픽셀의 classification 결과 1 이고 regression 결과 0.1 미만이면 0.1로 보정
픽셀의 classification 결과 0 이고 regression 결과 0.1 이상이면 0.099999로 보
정
→ public LB : 1.429
*최종 제출
대회 규칙상 실제값 0.1 미만의 데이터는 MAE 점수를 측정하는데 영향을 받
지 않기 때문에 0.1 미만의 결과들은 영향을 가장 덜 받는 수치인 0.099999로
고정하였다.
→ public LB : 1.407
평가지표 : MAE / F1 Score
MAE : 실제 값 0.1 이상인 픽셀에 대해 산출
F1 Score : 픽셀 >= 0.1 1 else 0