[Day08-6/2] 멘토링 #46
dkswndms4782
started this conversation in
Peer Session
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
한 일 공유
희석
→ 한번 해보겠습니다.
→ answerCode를 feature를 사용하자
유진
창우
→ 성능이 오히려 더 떨어졌다.
→ auc가 0.5이하로 나왔습니다,,,,,
→ 로그는 그렇게 나쁘지 않은데ㅠ
→ 잘못된 점을 살펴보고 있습니다
애나
sliding window사용.
→ lstm에서 사용했을때 실제로는 valid를 사용했을때보다 더 안나왔다.
lastquery가 그냥 사용했을때 0.7324가 나왔다.
→
안유진
의 것과 다른 점 : valid를 0.1로lastquery에 sliding window를 사용하려 하는데 cuda에러가 났다.
→ cudnn error cudnn_status_execution_failed 에러남
validation에 관심 많음
→ (희석)OOF에 관심있으면 해보는것도 좋을 것 같다.
재우
countinuous embedding
→ [실험노트]
→ window_size를 자유롭게 줄 수 있는데 20으로 줬을 때 보다 5로 줬을 때 더 높게 나옴
→ elapsed를 하나만 사용해서 continuous embedding을 했었는데 elapsed2는 continuous embedding을 사용하고 elapsed1은 원래를 사용했을 때 가장 좋게 나옴.
→ (창우)timestamp값으로 countinuous embedding을 사용하는것이 어떨까
이거 끝나면 ELO
validation을 해보실 생각 없나요
→ seed찾는 것도 좋을거같애요
멘토링
발표
희석
창우
애나
→ 결과가 모델마다 차이가 너무 많이나서 줄여보고싶어서 stratifiedFold를 사용하고 싶었는데 어떤 class를 사용해야할지 몰라 validation은 제대로 못해보고 있는 상태
재우
→ lstm에서는 시계열 모델이라 성능의 향상은 보지 못했다.
→ bert, transformer에서는 약간의 성능이 있었음
유진
lgbm 서일님 코드에 여러가지 실험해봄
→ 원래가 가장 좋았다.
→ test 데이터를 같이 사용해도 성능이 낮아지는것은 이상하다
lastquery 실험해봄
→ feature를 추가했을 때 가장 잘나옴
→ 데이터 증강을 했는데 왜 안좋지
(멘토님)어떤식으로 데이터 증강하셨는지 물어봐도 될까요?
→ (희석)20씩 잘라서 데이터화 시켰다.
→ (멘토님) 이부분에 대해 수정을 하시는게 좋을 것 같다. 데이터가 20배가까이 됐는데 지금 약간 feature들이 중복되거나 갖고있는 데이터셋에 대해 오버피팅이 일어난 것 같다.
→ (멘토님) vali도 늘어났나요? vali는 기존 데이터를 사용해보시기를 권장합니다. 내가 만든 데이터셋에 대해 vali를 하는거기때문에 의미가 없을 것이다. train데이터만 늘려서 해보시면 fitting이 max가 되는 부분이 확 다를겁니다 이런부분 해보세요
→ (멘토님) 보통은 vali를 증강하지 않습니다.
멘토님 말씀
→ (희석)그냥 transformer라고 생가하심 될거같아여
→ 같은 용도의 최신 모델을 사용해보는건 어때용? electra나 그 이후에 계속 나온 것에 대해 해보시면 좋을 것 같아요
→ encoder말고 decoder를 수정해본건 되게 좋은 것 같아요.
→ (희석) lstm위주로 튜닝하다가 토론게시판에 성능 좋은 모델을 올려주셔서 (머신러닝인)lgbm을 적용해서 앙상블을 해봤씁니다. 창우님은 lgbm, 희석님은 transformer, 유진님, 애나님은 lastquery, 재우님 feature
→ 협업은 잘 하고 계신거같아요
→ feature에 학생의 평균 점수, 한 문제지의 평균 점수(median값), 시험지 난이도에 대한 평가부분도 넣을 수 있을거같아요
→ (창우)추가했는데 더 떨어졌어요. 시험/문제/각유저 평균정답률를 추가했습니다.
→ 혹시 너무 높은 정답률같은 outliar를 제거하고 해보셨나요? 코드가 있을테니 normalize를 하고 넣어줘도 좋을 것 같습니다. 값 자체를 넣는것보다 각 feature들의 분산이 너무 커지지 않도록? 해보는것도 좋을 것 같습니다.
→ 데이터셋이 몇십만 단위가 아니라 머신러닝이나 통계적기법이 잘 될 수 있을거같습니다.
→ (희석)그래서 최종 전략은 딥러닝은 lgbm을 못이길거같아요ㅠㅠㅠ엉엉 각 모델을 최적화 잘 한걸 앙상블하는게 최종이 되지 않을까 생각합니다.
→ 앙상블은 soft voting, hard voting있는데, 생각보다 하드보팅이 되게 잘됩니다. 그래서 둘 다 해보시는게 좋을 것 같아요.
→ (애나)정답이 아닌게 들어가서?별로 좋지않은 데이터가 들어가서?
→ 각 test, train이 분산이 다를텐데, test dataset의 분산을 우리는 모른다.
→ 모델을 잘 이해하고 잘 쓰는것도 좋지만,
→ 기본적으로 어떻게 풀어야할까, 이런 고민을 많이 하시는것도 좋다.
→ dfs, bfs를 사용하는게 좋지만, 왜 이 문제에서 다른 search방법보다 dfs가 더 좋은지 생각하는게 좋습니다.
→ 이런게 머신러닝에서 요구하는 소위 말하는 "기본기"에요
→ 정답의 비율은 얼마나 되고, 날짜나 그런것에 대한 비율, 학생에 대한 비율은 어떻게되나요?
→ (애나) 학생을 일정 비율로 나누고 있습니다.
→ 가장먼저 시도해볼 수 있는것은 비율을 나누는 것이죠.
→ 전체적으로 봤을 때 정답비율 이런게 train set과 비슷한게 좋겠죠
→ 어쨌든 한쪽에 쏠리지 않게 하는게 좋은거죠
→ 손으로 선택하는 수준으로 각각 나누기
→ (희석) 정형데이터니까 feature가 너무 다양하고 나누기 힘든 부분이 있는 것 같아요. 학생별로 시험지를 3개를 풀었다. 이래도 어떻게 해야하는지ㅠ
→ 단순히 random보다는 아까 7000개 정도라고 했는데 지금 random하게 나누면 0번부터 2000번까지 사용한것과 같다. 여러 feature에 대한 insight가 다 들어가야죠.
→ 예를 들어 문제집을 10개씩 풀었으면 2개씩 유저당 고르고, 거기서 몇 문제를 풀었는지 고르고, random하게 고르지만 어떤 학생은 다 정답만, 어떤 학생은 다 에러만 고르는게 아니라 일정 비율을 맞출 수 있도록 하는 것.
→ 하나의 instance를 줄로 표현할게요
→보통 8:2, 85:15, 9:1로 사용을 해봅니다.
→ 위처럼 분포가 유사하게 너무 잘 쪼개졌다, 그러면 66:33으로 vali를 높이고(넘 vali가 적으면 평가가 잘 안돼요. 어차피 분포는 유사할거니까~) 하는게 정확히 평가하는 방법입니다.
→ 근데 8:2, 85:15이렇게 해야하지 않을까 생각해요 ㅎㅎ
→ train이 학습이 된 상태에서 vali를 1epoch이나, 뭐 살짝 얹어주는 방식으로 성능이 올라갈때도 있습니다.
→ 어머 네네 당연하죠 꺄꺄
→ 아트랩도 좋은 회사져
장점을 맨 위로 올리세요.
→ 나는 서울대다, 학업부터 씁니다. 프로젝트 많이 했다, 프젝씁니다.
→ 반대로 기준이 낮은 것들은 맨 아래로 내려요. skill같은 것.
→ 한 프젝 설명할 때 줄글로 쓰는게 아니라면 3문장정도로 쓰는게 좋아요. 4문장이상 쓰면 읽기 불편해져요. 최대한 가독성도 좋은 쪽으로 진행하시는게 좋을 것 같아요.
→ 올려주신 CV를 참고하세요!
https://cheoljun95.github.io/files/CheolJunCho_CV_v3.pdf
→ 기술면접, AI쪽에 대해 보실분들은 내가 했던거에 대해 준비 많이 해가세요
→ 내가 잘했다만 뽐내는건 좋지 않습니다. 메리트가 없어요.
→ 잘했다보다는 내가 어떤 문제를 겪고 어떤 아이디어를 냈고 어떻게 극복을 했다를 어필하세요. 전반적으로 이런 부분 돌아보고 하세요
→ 항상 잘할 수는 없어요.
이런 문제를 겪었는데, 팀에서 이런 어려움을 겪었는데, 어떤 아이디어를 냈고, 어떻게 해결을 했다. 를 어필하세요
→ 모든 스테이지에서 1등하시지 않은 이상 저런 부분을 어필하는게 더 좋을거같아요
→ 옆조가 깃헙을 잘 못쓴다. 협업하다보니까 누가 코드를 날려먹는 상황이 생겼다. 내가 roll-back을 해서 되돌렸다. 이러면 한번에 많은 장점이 어필됨.(협력 많이 해봤고 깃헙도 잘쓰고)
→ 여기서 대회를 했는데 어떤 부분이 필요했고, 뭘 느꼈고, 어떻게 했다 이런부분이 중요하다.
train_data.csv 불러와서 train/valid 나누는거 말고 train_data.csv/valid_data.csv 만들면 그거 불러오는거로 바꿔주실 분 찾습니다 - 창우
만들어둔 feature를 test 분포에 맞춰보기
valid가 최대한 많은 분포를 포함할 수 있도록 → Cross-valid로 test 제출했을 때 auc가 가장 비슷한 데이터를 뽑아도 좋을 것 같습니다. or valid EDA도 필요할 듯합니다.
→ test데이터로만 학습시켜보는건 에반가요? → 이것도 한번 해보면 좋을 것 같습니다
Beta Was this translation helpful? Give feedback.
All reactions