[8주차] 9.23 목 - 특강

William JO·2021년 9월 23일
1

Kaggle Grandmaster의 know-how 대방출

What's Kaggle?

  • 2010년 설립된 세계에서 가장 유명한 인공지능 대회 플랫폼
  • 2017년 3월 google이 인수
  • kaggler!

국내 유명 경진대회 플랫폼

  1. 카카오 아레나 : 비공개 플랫폼 (카카오 계열사 전용?), 2018년 11월에 처음 대회 시작, 3개의 대회를 진행
  2. 데이콘 : 타 기업/기관에게 공개된 플랫폼, 총 51개의 대회를 진행, kaggle style 빠르게 적용 중

Why Kaggle?

  • 세계적으로 실력을 인정 받기 위해서 (취업 목적)
  • 회사에서 제안 or 대학교 박사과정 제의
  • AI 개발자로 배우고 성장하기 위해서 (개인 성장)
  • kaggle 특유의 공유문화 → 배우기 좋은 수많은 코드와 토론 자료 존재

How Kaggle?

  • 랭킹 시스템 활용 : competition에서 높은 순위에 들어 point 획득
  • 티어 시스템 활용 : competition medals 개수에 따라 티어 결정 → competition grand master!

Kaggle 시작해보기

Competition 개최 목적

  • Featured : 상업적 목적의 예측 대회. 실제 기업에서 우승한 모델을 현업에 적용하기도 함
  • Research : 연구 목적의 대회. 연구 목적이라 상금이 낮은 편
  • Getting Started & Playground : 초심자를 위한 학습 목적의 대회. point나 medal 획득 불가. E.g. 타이타닉 생존자 예측 대회
  • Analytics : 데이터 분석 목적의 대회. 데이터 탐색과 이를 시각화한 노트북을 제출하는 대회
  • Recruitment : 구인/구직 목적의 대회

Competition 제출 방식

  • General Competition(리소스 제약 X) : submission.csv 파일만 submit predictions 메뉴에서 제출
  • Code Competition(리소스 제약 O) : kaggle notebook에서 code를 실행시켜 submission.csv파일을 생성해야 함; submission.csv 생성할 때 resource(GPU, CPU, RAM, 실행시간)제한이 있음

competition pipeline 구축

Kaggle know-how to win!

pipeline의 빠른/효율적 반복

  • GPU 장비
    - 학습 속도 ∝ pipeline 반복 속도
    - kaggle 상위권 필수
    - google colab은 보조용
  • 시간 투자
    - 수천 팀이 참여 & 2~3달 동안 많은 시간 투자
    - 1~2달 동안 평일 하루 평균 4시간 이상 투자
    - 1~2달 동안 주말 하루 평균 8시간 이상 투자
  • 본인만의 baseline code
    - 어떤 competition이던 baseline code 일부만 수정하면 됨

점수 개선 아이디어

  • Notebooks 탭 참고
    - Best Score, Most Votes 정렬 추천
  • Discussion 탭 참고
    - Best Score, Most Votes 정렬 추천
    - 비슷하거나 동일한 이전 대회, 참고 논문, 현재 대회 overview 등의 정보 공유

탄탄한 검증 전략 구축

  • 최종 순위 하락을 피하기 위해 Public LB(대회 진행 중 LB) → Private LB(대회 종료 후 LB)
  • Public LBoverfitting될 수 있어 검증 전략 필요
  • 리더보드 제출 횟수 제한 : 일반적으로 1일 5회
  • Shake-up : 순위가 뒤섞이는 현상


  • 좋은 모델 : 일반화; generalization 성능이 높은 모델; training set 점수 ≈ test set 점수
  • 검증 전략(Validation Strategy) : training set과 test set 점수 사이의 gap을 줄이는 평가 방법


  • Kaggle data 구성
  • Training set 나누기 및 평가
  • Training set 나누기 및 평가 (이상적)
  • Training set 나누기 및 평가 (현실)
  • score gap을 줄이기 위한 k-fold 검증 전략 구축
  • Stratified k-fold
  • local CV와 public LB가 함께 올라가는 방법을 선택; 아무리 검증 전략을 잘 세워도 overfitting 위험은 존재

기타 꿀팁

Ensemble

  • 여러 모델의 예측 결과를 섞어 예측 성능 향상
  • 싱글 모델보다 항상 더 좋은 성능 보장
  • 여러 방법이 존재하지만 아래처럼 정리되는 추세

0개의 댓글

관련 채용 정보