스마트 공장 제품 품질 상태 분류 AI 온라인 해커톤

Private score

2023.02.28 11:27 3,128 조회

다른분들도 보니

차이가 너무 심하네요..

운일까요 실력일까요

로그인이 필요합니다
0 / 1000
lastdefiance20
2023.02.28 11:47

원래 이럴 걸 예측하고 generalized된 모델을 만들어야 합니다. 타 대회에서도 이런적이 많아서 운보다는 실력이라고 볼 수 있습니다. 가뜩이나 imbalance한 데이터에 public score은 전체 데이터의 30%이니 +-0.1정도는 예상하고, 대회에 임해야 합니다.

쥬혁이
2023.02.28 11:52

근데 지금 이번대회 데이터 기준으로는 그게 불가능하죠 막말로 74~75에서 퍼블릭 성능 더 못높이신분들이 어부지리로 프라이빗에서 얻어걸렸다고 생각하는데 제 생각이 틀렸을까요? 데이터도 적고 불균형도 심한데 강건한 모델은 못만든다고 생각합니다. 아니면 그런 방법이 존재한다면 말씀해주시면 감사하겠습니다.

lastdefiance20
2023.02.28 12:06

어부지리라는 생각은 상위권 팀에서 충분히 할 수 있는 생각입니다. 또한, 쥬혁이님 말처럼 현재 private 상위권에서 얻어걸린 팀이 많이 존재할 수 있습니다... 결과론적이라고 생각할지 모르겠지만 이러한 대격변은 충분히 예상이 가능한 시나리오라고 개인적으로는 생각이 듭니다.

데이터가 적고, 불균형이 심하다.  test 데이터의 개수도 적고,  public은 30%인데 여기에 존재하는 데이터들의 0,1,2의 분포는 stratify인지, random인지 모르기 때문에 신뢰할 수 없다. -> 저희 팀은 이런 점에 치중하기로 했고, 아직 본선 대회랑 이번 대회가 연관되는지는 모르기 때문에 팀의 전략을 노출할 수는 없어 간략하게만 말씀드리자면 최대한 원본 그대로를 활용했다고만 말씀드릴 수 있을 것 같습니다.

쥬혁이
2023.02.28 15:48

네 저도 프라이빗에서 좀 많이 바뀌겠다 예상은 했습니다. 그래서 데이콘 측에도 30% 분할하는 방법도 문의해봤었고요. 하지만 30% public 점수론 이 데이터 개수와 클래스 불균형을 설명하기에는 많이 부족하고 generalized된 모델을 만들 수 없다고 생각합니다.. 최근에 진행되었던 유전체 대회는 public이 60%였습니다. 이번 대회는 실력보다 운이 많이 작용하는 대회라고 생각되어서 많이 허무하네요. 말씀해주신것처럼 원본 그대로를 활용했다 하시는데 이것도 너무 결과론적입니다. 만약 train 데이터와 분포가 달랐다면 대참사가 일어났겠죠.  최대한 원본 그대로를 활용했다는 방식은 generalized 모델링을 한 게 아니라, 도박을 하신거라 생각되네요.

lastdefiance20
2023.02.28 16:10

본선이랑 연계되니 더 말은 안하겠지만, 모델 쪽에서도 추가적으로 쓴 전략이 있습니다. 도박이라는 점은 비동의하는게, 원본 그대로를 활용하고도 본선 진출을 위한 30등에 들어갈 수 있는 안정권을 이미 이루었기 때문에 shake up에 대비해서 전략적으로 점수는 낮을 수 있지만 원본 데이터를 가져가는 전략을 선택하게된 것입니다. 도박이 아닌 이중 보험이죠.

저도 타 대회에서 쥬혁이님과 비슷하게 상위권에서 내려온 경험이 많이 존재했습니다. 저도 허무하고 처음에는 '운이 안좋았다'라고 생각했지만, 나중에는 이런 경험으로 shake up에 대비해서 데이터를 조심조심 건드리다보니 순위가 내려가는 경험이 적어지게 되었습니다. 따라서 충분히 대비할 수 있지 않았을까? 라고 생각하는게 성장의 밑거름이 될 것이라고 저는 주장하기 때문에 실력이라고 생각하게 된 것입니다.

다행히도 본선에서는 추가 데이터를 준다고 하니, 아마 이러한 shake up이 더 적게 일어날 것 같습니다. 30등 안에 드셨으니, 본선에서 지금까지 분석하셨던 노력을 토대로 다시 기법들을 검토하고 적용해가면 좋은 성적을 거두실 수 있을 것이라고 생각합니다.

쥬혁이
2023.03.17 10:20

네 조언 감사합니다!

탄화수소
2023.02.28 11:49

저도 보고 놀랐네요... 원래 이렇게 private랑 public이 차이가 많이 나는지 궁금하네요

쥬혁이
2023.02.28 11:55

개인적으로 쏟은 시간들이 많이 허무하네요

탄화수소
2023.02.28 17:19

쥬혁이님이 공유해주신 코드를 보고 딥러닝으로도 정형 데이터를 다루는 시도가 있다는 것을 처음 알게 되었습니다. 비록 private에서는 아쉬운 성능이 나오셨지만 공유해주신 코드에서 파라미터 조정에 많은 시간을 쓰신 것 같더라고요. 모델이 정교하고 private score의 격차가 크지 않으니 그동안 만드신 모델이 본선에서 든든하게 뒷받침 될 것 같아요.  개인적으로 하이퍼 파라미터 조절에서 성능 저하를 많이 겪어 모델을 최대한 간단하게 만든 터라 부럽네요. 너무 상심하지 마시고 phase 3에서도 파이팅하세요!

쥬혁이
2023.02.28 15:47

넵 감사합니다 탄화수소님도 파이팅하세요!

riverallzero
2023.02.28 12:35

삭제된 댓글입니다

bullbear
2023.02.28 13:13

퍼블릭 프라이빗 스코어 차이가 너무 심해서 아쉽네요, 
제공된 데이터도 행수가 너무 적은데, 퍼블릭 프라이빗 평가 데이터 마저도 이렇게 불균형이었다니 더 씁쓸해요 ㅠㅠ

쥬혁이
2023.02.28 15:46

저도 너무 허무하네요

안녕해요
2023.02.28 14:03

Shake up이 있을거라 예상은 했지만 생각보다  영향이 더 크네요... 최종 제출 선택 수를 늘려줬었다면 더 좋았을 것 같네요ㅠㅠ

쥬혁이
2023.02.28 15:46

public 2등이셨는데 3페이즈도 못가시게 되었네요 많이 아쉽겠습니다

NN_is_all_you_need
2023.02.28 16:19

지나가던 아저씨입니다..
실제로도 Shake up 현상은 어떻게 보면 당연한 현상이기도 합니다. 특히 연구 데이터가 아닌 실제 데이터 인 경우 아니면 데이터 수가 적고 Minor한 Class 예측률이 Metric에 크게 영향을 미칠 때 등등이 있죠. 

생각해보면 Public 점수가 높은 사람이 무조건 Private 점수도 높아야한다면 굳이 Public 과 Private을 나눌 이유가 있을까 싶네요 ㅎㅎ 
또 "Public이 높으면 Private도 높아진다"가 이루어진다면.. 사실 CV를 구축할 이유도 없습니다. 그냥 Public을 Validation으로 취급하면 되기 때문이죠..

저는 캐글을 주로하는데 일례로 Public 1위가 Private 100위권 밖으로 하락한 경우도 있습니다.
그래서 사실 Public 점수에 크게 의의를 두고 모델 성능을 튜닝하지는 않습니다. 물론 Public 등수가 높으면 기분이 좋을 수도 있겠네요
그러나 대부분 본인의 CV와 Public이 비례해서 성능이 향상되는 지, Public 점수로부터 내 CV가 신빙성있는 지 혹은 내 CV로부터 Public 점수가 신빙성이 있는지 확인하는 정도로 사용합니다.
논리적인 가설을 바탕으로 구축된 CV가 아닌 오직 Public만 높이기 위한 방법.. 일반화를 전혀 고려하지 않는 방법들은 오히려 Public에 오버피팅될 수 있는 여지가 많습니다.
마지막으로 제가 기억하는 비슷한 사례로는 캐글 Public 동메달 권에 있는 분이 최종 1위를 하면서 '사실 나는 CV를 통해 내가 최종 1위 할 것을 알고 있었다' 하면서 본인의 CV 구축 방법에 대해서 나열한 솔루션이 강하게 기억에 남네요 

원하는대로 결과가 나오지 않아 상심이 크시겠지만 이또한 좋은 경험이라고 생각하시는게 좋을 것 같습니다.
힘내세요~

이세의인공지능
2023.02.28 16:20

Public score 기준으로 프로젝트 방향을 잡으면 overfitting이 일어날 수도 있고, 현실데이터를 예측할때는 두 데이터셋의 성질이 다를 수 있어서 위험한 것 같아요.
저도 캐글에서 동메달이 금메달로 가는걸 많이 봐서 조금 익숙하네요! 거긴 참여 인원이 너무 많고 비슷한 점수가 많아서 더 심한 것 같네요ㅎㅎ
저도 private공개됐을때 상위권에서 밀려본 적이 있어서 굉장히 마음이 이해가 가네요....ㅜ

쥬혁이
2023.03.17 10:21

넵 조언들 감사드립니다!