[부스트캠프] DKT 3일차
Baseline
lightGCN - MF 계열인 것처럼 보인다. 먼저 interaction 을 만든 후에 예측한다.
DKT - Sequential 데이터를 다루는 것이 특징이다. sequential한 feature를 추가할 수 있는 방향으로 고민해볼 것
EDA

위 처럼 1분기에 정답률이 높길래 설마 미국 데이터라서 ssat가 이루어지는 것과 연관성이 있나? 했지만
연관성이 우연의 일치로 1분기가 높았다고 생각이 든다.
하지만 팀원이 month로 다시해서 보면 어느정도의 편향을 예측할 수 있을 것 같다고 말해주어서
내일 달 별로 확인해보고 결과를 확인하고자 한다.
+)
어제와 오늘 진행했던 EDA로 Feature를 저장해서 기존의 모델에 돌려보면서 리더보드와 validation에서 어떻게 성능이 개선되는지를 확인해보고자 했다.
우선 Timestamp를 가지고 생성했던 feature를 사용해서 베이스라인에는 아직 적용을 하지 못했지만 어느정도 성능개선이 있었다.
내가 생각했던 것 보다 이렇게 성능이 많이 오를 수 있나 싶을 정도로 개선이 되어서 놀라웠지만 EDA를 통해서 Feature를 만들고 이를 모델에 적용해보면서 생각이 틀렸는지 아닌지를 점검해보는 방식은 이전에 수업을 학습하면서 배우는 것보다 더 능동적이고 재미있는 것같다.
알고리즘 문제 풀이
- 문제 링크 : https://www.acmicpc.net/problem/7576
- 개인 깃허브 알고리즘 코드 링크 https://github.com/SeongJaeBae/algorithm
7576번: 토마토
첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토
www.acmicpc.net
처음에는 bfs를 생각해서 쉽게 접근을 했다.
그전에 check를 하고 전체를 돌리는 방식으로 코드를 의식의 흐름대로 짜다보니 당연하게도 시간초과가 나왔다.
이 과정에서 hard copy를 위해서 deepcopy()도 사용했다. 일단 여기서 시간 터짐. 반성하자
import copy
copy.deepcopy()
n*m 번을 무지성으로 서치하는 것이 아니라 그 과정에서 deque 사용해서 리스트로 넣고 그 리스트에 들어간 애들을 따로 돌리는 방식의 정형화된 bfd로 수정하고나서야 시간초과가 해결했다.
일단 무지성으로 코드를 짜보는 것도 도움이 되기는한다. -> 일단 빡구현실력은 개선 될 수 있다고 봄
하지만 어느정도 bfs,dfs 라는 감이 잡혔으면 deque 사용해서 시간을 최소화하는 방식을 자연히 무지성으로 짤 수 있을 정도로 루틴화 되어야 할 것 같다.
+) 확실히 골드와 실버부터는 시간초과를 신경을 많이 써야 한다. 앞으로도 배울 점이 많고 재미있는 과제들이 너무나 많다. 힘내자
오늘의 회고
오늘로 DKT 대회 3일차이다.
이번 대회에서는 학습하며 배우는 것도 하고 싶었지만 이전 대회에서는 모델을 추가하는 것에 급급해서 아쉬웠던 점을 보완하고 싶었다. 그래서 EDA 부터 FE 그리고 모델에 테스트 해보고 난 후에 Validation이랑 어느정도 연관이 되는지를 확인해 보고싶었다. 위의 과정에서 validation을 어떻게 만들지에대한 고민을 더 해봐야 겠지만 아직까지는 그것에 대한 insight는 얻지 못했다. 이를 위해서 많은 사람들과 어떻게 하면 좋은 validation을 얻을 수 있을지 대화하고 싶다.
우선 처음으로 시도했던 실험이 생각보다 성능이 개선되어서 0.8을 넘길 수 있었다. 이것도 팀원이 도움이 있었기에 실험의 결과물을 리더보드 결과물로 연결해서 성과를 맛 볼 수 있었던 것 같다. 정말이지 좋은 팀원들과 상호작용을 하며 성장하는 것은 무엇보다 강한 동기 부여가 된다. 개인적으로는 피어세션 시간에 내가 생각하고 실험했던 내용을 어떻게하면 조금 더 잘 설명 할 수 있을지 고민해봐야 겠다.
아쉽게도 이렇게 DKT에 집중하고 있는 동안 AI Ground에는 집중을 많이 하지 못했던 상황이라 내일 있을 AI Ground 대회 팀과의 회의에서 조금 더 잘 할 수 있도록 내일은 저녁 먹고 난 이후부터 EDA 와 기초 모델링을 실험부터 시작해야 할 것 같다.
오늘 부캠 라디오를 들으면서 사람들도 오프라인 회식을 원하는 모습이 있었던 것 같다. 이전 기수 방식 중에서 2주 마다 사람들이 제일 많이 모일 수 있는 곳으로 선정해서 결정을 했다고 하는데 이 방식은 아무거나 톡방에서 스페셜 피어세션을 결정할 때 적용하면 좋을 것 같다. 물론 12월 달에 이종혁 멘토님이 오프라인 회식 채널을 만들어 준다고 하셨으니 기대하고 있다.