이 영역을 누르면 첫 페이지로 이동
천천히 꾸준히 조용히 블로그의 첫 페이지로 이동

천천히 꾸준히 조용히

페이지 맨 위로 올라가기

천천히 꾸준히 조용히

천천히 꾸준히 조용히.. i3months 블로그

[Data Science] ETRI 휴먼이해 인공지능 논문경진대회 - 2

  • 2026.05.05 18:11
  • Computer Science/Data Science
반응형

 

 

 

https://dacon.io/competitions/official/236690/data 

 

제 5회 ETRI 휴먼이해 인공지능 논문경진대회 - DACON

분석시각화 대회 코드 공유 게시물은 내용 확인 후 좋아요(투표) 가능합니다.

dacon.io

 

 

 

야간 걸음수만 보고 7개의 라벨을 맞추는건 힘들다. 그러니 단서를 풍부하게 줘야 함. 

모델이 여러 피쳐와 피실험자 정보를 동시에 확인하도록 하기 위해 여러 피쳐를 한 테이블로 모으고 LightGBM 으로 7-Task를 학습시키자.

 

 

 

 

 

잠은 22:00 ~ 10:00 사이에 잔다. 그러니 이 시간대가 중요함.

잠자는걸 어떻게 알 수 있을까? -> 심박수, 소음, 밝기, 폰 안봄 신호를 사용하자.

 

이 두 가지를 기준으로 새로운 피쳐를 만들었다.

z-score도 함께 적용하니 실제로 추가한 피쳐 수는 좀 더 많음.

 

 

 

 

 

새로 만든 피쳐와 피실험자의 정보를 동시에 봤을 때, GBM은 Sanity Baseline보다 성능이 좀 더 좋았음.

Q1 Q2 Q3 S4 는 못 깨긴 했는데..

 

 

 

 

 

피쳐 중요도를 보면 subj_idx가 가장 중요함을 확인할 수 있다.

이전에는 출력 단계에서 다 뭉게버렸던 정보인데 이 정보를 활용하니 확실히 성능이 나옴.

 

또 충전이나 폰 화면 관련 피쳐가 걸음거리 지표보다 훨씬 중요했음.

이건 지표 간의 결측값과도 관련되어 있긴 해서.. 일단 이런게 있다 정도만 알아두고 넘어감.

 

 

 

 


 

 

 

 

이제 Q 그룹을 좀 잘 맞추기 위해 지금까지 사용하지 않았던 낮 활동 로그와 앱 사용 피쳐를 추가해보자.

 

 

 

 

 

이번에 추가할 피쳐는 이렇게.. 역시 z-score도 필요하면 함께 추가한다.

 

 

 

 

피쳐를 추가하고 실행해보니 여전히 Sanity Baseline을 깨지는 않았지만, Q그룹이 모두 개선됨을 확인할 수 있다.

특히 피로도 관련인 Q2의 개선폭이 가장 큼. 그러니 낮 활동량과 피로는 직접적으로 연결된다. 

 

계속해서 Q 그룹 성능을 끌어올려보자. 이번에는 자기상관 결론대로 lag-k 관련 피쳐를 추가해서 피쳐를 만든다.

 

 

 

 

 

Q2 에서는 lag-k 피쳐 추가가 도움이 돼서 Sanity Baseline을 넘었지만 S4에서는 노이즈로 작용해 오히려 성능이 떨어짐;

나머지는 다 비슷한 결과다. 

 

일단 여기까지만 해 보고 제출한 담에 다시 생각해보자.

 

 

 

 

 

0.6131 인데.. 이건 OOF 보다 좀 떨어지는 수준이다. 

 

 

챌린지의 평가지표는 Average Log-Loss이고, 점수를 높이려면 확신을 얼마나 잘 줬는지가 중요함.

지금 사용하는 모델은 LightGBM인데, 시그모이드를 거치니 어느정도 보정이 들어가긴 하지만 부족하다.

 

그러니 여기서 시그모이드같은 정해진 활성함수를 사용하는 대신 데이터에 Fit 한 Isotonic Regression 함수를 사용해보자.

이 Isotonic 함수를 거치면 Calibrated 예측이 좀 더 효과적이지 않을까.. 단조성 덕분에 노이즈도 흡수할 수 있을거고..

 

이전처럼 5-Fold 학습으로 OOF를 적용하는건 그대로 간다.

다만 여기서 각 Task별로 Isotonic을 적용해보자.

 

 

 

 

모든 Task에서 점수가 일관적으로 개선됐음.

데이터가 적다 보니, GBM이 좀 오버피팅 되는 경향이 있었는데 Isotonic을 수행해 이걸 흡수하는 효과도 있었다.

 

 

 

 

 

 

제출해보니 점수가 생각보다 낮다. 

단순하게 OOF 전체를 Isotonic으로 학습시킨게 문제인듯 하다. 

Isotonic이 오버피팅을 해결해 주는 줄 알았지만 오히려 OOF의 신호와 노이즈를 함께 흡수해서 잘못 보정했다는 것;

 

학습 없이 Log-Loss 를 깎을 수 있는 방법을 적용해보자.

이전처럼 OOF를 뻥튀기 하는 방법을 최대한 피하고 싶다. 근데 그러면서도 노이즈는 최대한 줄이고 싶음.

 

Task를 살펴보면 Task마다 잘 맞는 모델이 있다. 

한 모델만 사용하면 별개의 Task에서는 손해가 있을 수 있으니.. Ensemble 모델을 도입해보자. 

모델을 여러 개 쓰고 평균치는 Ensemble을 사용하면 평균이 노이즈를 상쇄할 수 있으니 Log-Loss 를 깎을 수 있을 듯..

 

 

 

 

 

점수가 소폭 개선됐다. 

 

 

반응형
저작자표시 (새창열림)

'Computer Science > Data Science' 카테고리의 다른 글

[Data Science] ETRI 휴먼이해 인공지능 논문경진대회 - 3  (0) 2026.05.09
[Data Science] ETRI 휴먼이해 인공지능 논문경진대회 - 1  (0) 2026.05.04
[Data Science] Data Preprocessing & Feature Engineering  (0) 2026.04.14
[Data Science] Statistical Data Analysis  (0) 2026.04.09
[Data Science] Data Acquisition and Visualization  (0) 2026.03.28

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • [Data Science] ETRI 휴먼이해 인공지능 논문경진대회 - 3

    [Data Science] ETRI 휴먼이해 인공지능 논문경진대회 - 3

    2026.05.09
  • [Data Science] ETRI 휴먼이해 인공지능 논문경진대회 - 1

    [Data Science] ETRI 휴먼이해 인공지능 논문경진대회 - 1

    2026.05.04
  • [Data Science] Data Preprocessing & Feature Engineering

    [Data Science] Data Preprocessing & Feature Engineering

    2026.04.14
  • [Data Science] Statistical Data Analysis

    [Data Science] Statistical Data Analysis

    2026.04.09
다른 글 더 둘러보기

정보

천천히 꾸준히 조용히 블로그의 첫 페이지로 이동

천천히 꾸준히 조용히

  • 천천히 꾸준히 조용히의 첫 페이지로 이동

검색

방문자

  • 전체 방문자
  • 오늘
  • 어제

카테고리

  • 분류 전체보기 (695) N
    • Algorithm (205)
      • Data Structure (5)
      • Theory && Tip (33)
      • Baekjoon (166)
      • ALGOSPOT (1)
    • Spring (123)
      • Spring (28)
      • Spring Web MVC (20)
      • Spring Database (14)
      • Spring Boot (6)
      • Spring 3.1 (11)
      • Spring Batch (6)
      • Spring Security (16)
      • JPA (12)
      • Spring Data JPA (5)
      • QueryDSL (4)
      • eGovFramework (1)
    • Programming Language (74)
      • C (25)
      • C++ (12)
      • Java (19)
      • JavaScript (15)
      • Python (1)
      • PHP (2)
    • Computer Science (154) N
      • Machine Learning (38)
      • Operating System (18)
      • Computer Network (28)
      • System Programming (22)
      • Universial Programming Lang.. (8)
      • Data Science (8)
      • Embedded Software (4) N
      • Computer Architecture (4)
      • Compiler Design (11)
      • Computer Security (13)
      • BlockChain (0)
    • Database (21)
      • Database (7)
      • MySQL (3)
      • Oracle (3)
      • Redis (5)
      • Elasticsearch (3)
    • DevOps (20)
      • Docker && Kubernetes (8)
      • Jenkins (4)
      • Amazon Web Service (8)
    • Mobile (28)
      • Android (21)
      • Flutter (7)
    • 💡 솔루션 (17)
    • 👥 모각코 (12)
    • 💬 기록 (9)
    • 📚 공부 (7)
    • -------------- (25)

최근 글

나의 외부 링크

메뉴

  • 홈
반응형

정보

i3months의 천천히 꾸준히 조용히

천천히 꾸준히 조용히

i3months

블로그 구독하기

  • 구독하기
  • RSS 피드

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / AXZ. Copyright © i3months.

티스토리툴바