본문 바로가기

딥러닝 & 머신러닝/프로젝트

2019.11.15 AI 경진대회 발표를 듣고 난 후 메모한 것들

Kp지수 예측 경진대회 발표에 참석해서 수상자들의 얘기를 듣고 배워나가야 할 것들을 메모한 것입니다.


이번 대회에 참여한 수상자들의 발표를 들으니까 아직 우리가 더 배워야 할 것들이 많이 남았다는 것을 느꼈다. 충분한 지식이 없었다는 게 좀 아쉬웠다. 그리고 우주환경 자체에 대한 지식보다는 머신러닝과 딥러닝에 관한 지식이 이번 대회에서 훨씬 중요하다는 것을 깨달았다. 그럼에도 불구하고 많은 대학원생들과 실력있는 학부생들 사이에서 반정도라도 했다는 것에선 꽤 만족스러움을 느낄 수 있었다. 이런 실무를 처음 해봤던 것 치곤 선방했다. 그래도 아직 채워나갈 것들이 많이 쌓여있다. 열심히 하자!!


기본적 머신러닝 알고리즘: GBDT (XGboost, LGboost, LightGBM, random forest tree) - 이런 것들을 stacking(ensemble), 이런 기본적 머신러닝 기법이 딥러닝보다 좋을 수 있다

또는 Lstm과 gradient boosting을 ensemble

특이한 값들에 대한 건 최대 최소 평균 구하는게 낫다 - 7개 feature + 3개 feature

너무 많이 평균하면 중요한 값은 smoothing 된다

신경망은 서로 다른 feature간의 차이를 줄이는 정규화도 중요

예측된 데이터를 이용해서 다음 데이터를 예측하면 안된다

미싱데이터에 전체평균을 넣으려면 전체 데이터가 가우시안 분포를 따라야 의미가 있다

시간 쪼개는 건 10분이든 3시간이든 여러 시도해보기

슬라이딩 윈도우? Decay rate?

시각화 프로그램: seaborn

배치 사이즈 - 가중치를 얼마마다 갱신하느냐이므로 적절하게 설정해줘야 ~ 너무 크면 적절한 가중치를 지나치고 너무 작으면 오버슈팅

미래의 데이터에 가장 영향 많이 끼치는 데이터 셋의 시간대가 어디서부터 어디까지인가 - 12시간 전 & 3시간 후

빠진 날짜는 pandas로 interpolate 할 수 있었음

데이터의 개수가 적으면 test 굳이 안하고 valid 만 해도 ok - 만약 valid에서 편향이 일어난다면 valid에 쓰는 데이터를 여러 데이터에서 랜덤으로 조금씩 뽑아서 통합시켜서 쓰면 편향이 줄어들 것

Kp가 크게 변하는 부분에서 다른 데이터들도 크게 변함

심층 신경망에 넣을 것이기 때문에 미싱 데이터는 0으로 넣어도 무관: 가중치를 갱신할 때 값들이 곱해지고 더해지는 식이므로, 미싱데이터를 0으로 처리하면 다른 쪽에 영향을 딱히 미치지 않게 된다.