[부스트캠프 AI tech 4기] week 7 회고 📝 - 책 평점 예측 대회

반응형

BoostCamp AI tech

 

 

Contents

    1.  대회

    1) Timeline

    대회 TimeLine

    2) 성능 그래프(RMSE)

    1️⃣ 1 주차

    2️⃣ 2 주차

    3) KPT 회고 

    1️⃣ Keep

    1. 트렐로와 구글시트를 이용하여 실험을 체계화한 것.
    2. github 관리한 방식 model branch, data branch 나눠서 각자 브랜치 만들어서 진행한 방식이 체계적이고 좋았다.
    3. 슬랙 봇 사용한 것.
    4. Minimum loss랑 Pretrained Model Checkpoint 설정한 부분.
    5. 디버깅 공유해주시고, 그렇게 공유하는 분위기를 만든 것.

    3️⃣ Problem

    1. baseline에만 있는 모델만 사용한 것.
    2. 어떤 모델을 사용한다는 것이 데이터에 대한 EDA로부터 나와야 한다. → 이러이러했기 때문에 이런 모델을 썼다가 너무 명확한 부분이 좋았다. 이번에 우리 조는 근거기반이라기 보단 그냥 baseline으로 준 모델을 다 써보자 이런 부분. → 현재 데이터가 어떤 모델에서 성능이 좋을지 데이터의 특성에 따라 모델을 탐색해보면 좋겠다.
    3. EDA 할 때 시각화를 좀 더 제대로 해보지 못했다. → 데이터 EDA를 했으면 한눈에 보기 쉽게 그때그때 정리하지 못했다. 데이터 EDA도 실험 정리처럼 한눈에 보기 쉽게 정리해놓는 게 좋을 것 같다. (구글 시트에)
    4. Stratified KFold없이 랜덤 스플릿 Validation Set을 사용함으로써, 가설 검증 시 Validation Loss의 감소가 성능의 증가를 보장하지 못한 점.
    5. 하이퍼 파라미터 수정시 수동으로 다 한 점이 아쉬웠다 → Optuna와 Wandb의 Sweep을 사용하면 어떤 경향성의 하이퍼 파라미터 수정이 성능에 좋은지, 어떤 하이퍼 파라미터가 성능에 얼마나 영향을 미치는지까지 모두 시각화해주었다.
    6. 나현님이 판다스에서 트러블 슈팅이 시간을 많이 잡아먹었다는 피드백을 들었을 때, 이런 부분을 어떻게 집단지성으로 효율성을 높일지에 대한 부분. → 게더 타운으로 일할 때, 쉴 때 구분 가능 → 쉽게 대화 가능.
    7. 단순히 Validation Loss가 감소한 걸로 가설에 대한 성능 향상의 검증으로 보면 가설의 고도화가 조금 안된다는 느낌을 받았습니다. → 중요한 가설, 그리고 성능 향상이 크게 된 경우 그 원인을 데이터 수준에서 깊게 파악하는 게 다음 가설을 세우는데 중요하다고 생각합니다. → 예측을 하는 train set을 그룹별로 묶어서 validation loss가 좋아졌다면 어떤 그룹에서 좋아진 건지 시각화 및 분석해보기.

    3️⃣ Try

    1. baseline에만 있는 모델 외에도 더 사용해보기
    2. EDA로부터, 어떤 모델을 사용했을 때 성능이 더 좋게 나올지를 근거 기준으로 판단
    3. EDA 할 때 시각화하고, 한눈에 보기 좋게 정리해서 언제든지 참고할 수 있도록 하기.
    4. Stratified KFold 사용.
    5. Optuna와 Wandb의 Sweep 사용.
    6. 서로 소통의 효율성을 높이기 위해 게더 타운 사용해보기.
    7. Val Loss 감소의 원인을 데이터 수준에서 깊게 파악해보기.
    8. AutoML 도전해보기.

     

    2. 피어 세션

    1) 일반

    이번주에는 피어 세션에 매일 대회 관련하여 전날 진행한 상황과 앞으로 할 일들의 방향성을 공유했습니다. 일의 방식은 데이터에 대해 어떻게 하면 성능이 올라갈지 가설을 세우고, 검증하는 방식입니다. 가설에 대한 검증은 CV loss가 감소하면 성능이 증가했다고 판단하였습니다. 제출을 하여 CV점수와 LB점수의 연관성을 조금 더 봤으면 좋았을 것 같긴 했습니다. 그래도 정말 공동 목표를 가지고 함께 토의하며 깊게 몰입한 것 같아서 좋았습니다. 대회 2주 차에는 정말 새벽 3~4시까지 서로 슬랙을 통해 토론하고, 성능 향상에 대해 공유하고 모두 열정을 태우는 게 느껴졌습니다.

    트렐로를 통한 협업

     

    2) 코딩 테스트 스터디

    이번 주에는 DP와 관련된 알고리즘을 풀어와 한 문제씩 발표하고 의견을 나누었습니다. 저는 RGB 거리 2라는 문제를 풀었습니다.

    (링크: [백준] 17404 - RGB거리 2 🎨 (Python) / 골드 4 / DP)

    다이나믹 프로그래밍

     

    3) 면접 질문 스터디

    이번 주 면접 질문 스터디의 주제는 앙상블(Ensemble) 이었습니다. 앙상블의 기본 기법 보팅, 배깅, 부스팅, 스태킹 등에 대해 기본 개념과 예시들을 준비해주셨습니다. 부스팅의 대표 예시인 XGBoost에 대한 발표, 앙상블의 기본 개념과 AdaBoost의 원리에 대한 발표, 스태킹의 원리에 대한 발표, 그리고 그리드 검색을 통해 최적 앙상블 Weight 찾는 예시에 대한 발표로 이루어졌습니다. 저는 보팅과 배깅에 대한 개념과 sklearn을 통한 Soft 보팅 예시 코드와 Random Forest를 통한 배깅 예시를 발표했습니다. 

     

    4) 한 주 회고

    회고

     

    3. 그 외 이벤트들

    1) 멘토링

    이번 주에는 메인으로 책 평점 예측 대회를 진행했고 종료되었습니다. 협업하는 방식으로 대회를 이렇게 깊게 진행해 본 것은 처음이었고, 대회 진행과 결과에 대해 멘토님이 피드백을 해주셨습니다. 저희가 트렐로와 구글 시트, 슬랙 봇, 깃허브를 이용해서 협업한 방식에 대해 자세히 들어보시고 첫 대회치 고는 정말 너무 완벽하게 잘했다고 칭찬해주셔서 감사했습니다. 

    대회 진행 피드백

     

    2) 마스터클래스 (책 평점 대회 설루션)

    책 평점 대회의 1등과 2등 설루션을 달성하신 팀에서 각자 발표해주셨습니다. 정말 대회는 이렇게 진행해야겠구나 뼈저리게 느낀 발표였습니다. 퀄리티도 좋았고, 논리적인 접근 방식 모두 정말 좋았습니다. 이어서 마스터님의 피드백이 이어졌는데, 정말 잘했다고 말씀해주셨습니다. 특히, 1등 팀의 솔루션은 정말 흠잡을 때 없이 좋았습니다. 

     

    3) 오피스아워 (Online Test )

    실제 현업에서 추천 시스템의 온라인 테스트가 어떻게 진행되고, 통계적으로 어떤 문제들이 있는지, 어떻게 해결해볼 수 있는지 등을 정말 깊게 다뤄주셨습니다. 통계적인 지식이 부족하여 세부적인 부분은 이해하기도 정말 어려웠습니다. 특히, 인과성을 증명하는 방법이나 RCT 해결방법, 실무에서 온라인 테스트 방법과 성공 지표의 분석. 빈도주의와 베이지안 등을 세심하게 다뤄주셨습니다. 추천 시스템이 실무에 쓰일 때 실무적인 고려사항들을 깊게 공부한 것 같아 정말 좋았습니다.

     

     

     

    Reference)
    1. 네이버 부스트 캠프 Ai tech 4기

     

    반응형

    댓글

    Designed by JB FACTORY