2024. 1. 4. 14:39ㆍNAVER AI Tech/Deep Knowledge Tracing
EDA
- 연속형 변수 : 결측치 개수 파악, 최대/최소 값 파악, 중앙값, 평균 파악, 첨도,왜도 확인, target에 따른 feature 분포 확인
- 범주형 변수 : 결측치 개수 파악, Unique 값 개수 파악, value 별 개수 count, 최빈도 값 파악, value 별 target 분포 확인
- 시간 데이터가 주어짐 : feature를 풍부하게 생성해낼 수 있다.
- 해당 대회는 특정 학생이 TOEIC 시험문제를 맞출지를 예측하는 대회로 문제를 푸는데 소요시간이 길다면 틀릴 확률이 높은 인사이트를 활용하여 해당 문제의 평균 시간, 틀린 학생들의 평균 시간 등을 feature로 추가할 수 있다.
- 문항별, 시험지별, 태그별 평균 정답률을 feature로 추가할 수도 있고 등장 빈도를 feature로 추가할 수도 있다.
- 기술 통계량을 사용할 때는 test에 해당 feature가 없기 때문에 data leakage를 조심해서 사용해야 한다.
**모든 feature는 모델에 넣어보고 성능이 올라갔는지를 보고 유의미를 판단해야한다.
Solution
- https://www.kaggle.com/c/riiid-test-answer-prediction/discussion/218318
1. 기본 feature만 사용하고, DL 모델에게 Feature Engineering을 맡김.
2. Transformer sequence를 늘림 → 성능은 올라가지만 시간복잡도가 크게 증가함
3. 시간복잡도를 낮추기 위해 마지막 Query만 사용. → O(L**2d) 에서 O(Ld)로 시간복잡도 감소
- 이때 Q,K,V의 shape이 (L,d)
4. Transformer에 Positional Embedding을 제외하여 순서와 관계없이 입력들 사이의 관계를 파악 후 LSTM 모델을 이용하여 Sequential 특성을 파악
'NAVER AI Tech > Deep Knowledge Tracing' 카테고리의 다른 글
6. Matrix Factorization(SVD) for Recommend System. (0) | 2024.01.05 |
---|---|
5. Graph Neural Network for Recommend System (2) | 2024.01.05 |
4. Transformer Fine Tuning (0) | 2024.01.04 |
2. How to make sequence data (1) | 2024.01.03 |
1. Deep Knowledge Tracing (0) | 2024.01.03 |