미식가의 개발 일기

[KT 에이블스쿨(6기, AI)] 7주차, 3차 미니 프로젝트 본문

KT 에이블스쿨(6기, AI)

[KT 에이블스쿨(6기, AI)] 7주차, 3차 미니 프로젝트

대체불가 핫걸 2024. 10. 21. 10:36

미션

스마트폰 센서 기반 데이터를 활용한 행동 인식 

 

 

데이터셋
  • features: 561개의 센서 신호
  • target: 6개의 행동(서기, 앉기, 눕기, 걷기, 계단 올라가기, 계단 내려가기)

 

과제 수행
  1. 데이터 탐색
    • 기본 정보 확인
    • 변수 중요도 확인
    • 값 분포 확인
  2. 기본 모델링
    • 다양한 알고리즘으로 분류 모델 생성
    • 하이퍼파라미터 튜닝
    • 성능 비교
  3. 단계별 모델링
    • 정적/동적 행동을 구분하는 모델 생성
    • 세부 동장을 구분하는 모델 생성
    • 모델을 통합하는 파이프라인 구축 

 

느낀점

 

이번 3차 미니 프로젝트는 딥러닝을 활용하여 과제를 수행했어요!

561개라는 엄청난 양의 features가 주어졌는데 지금까지 다뤄본 데이터 중 가장 많았습니다. 😶

첫째 날은 모든 features를 다 분석할 수 없기 때문에 RandomForestClassifer로 간단한 모델을 만들어 변수 중요도를 체크한 후 상위, 하위 데이터를 몇 개씩 뽑아 분석을 진행했습니다!

 

둘째 날은 은닉층의 개수와 뉴런 수를 다양하게 조절하고, 과적합을 개선하기 위한 가중치 규제, 반복 횟수 조절 등을 통해 여러 가지의 모델을 만들어봤고, 팀원과 공유 후에 가장 성능이 좋은 모델을 선택했습니다! 

 

마지막 날에는 동적/정적 행동을 구분하는 모델 하나와 각각 동적 행동과 관련된 세부 행동들을 분류하는 모델, 정적 행동과 관련된 세부 행동들을 분류하는 모델을 생성하여 test 데이터가 들어오면 데이터 전처리를 한 후 정적/동적 데이터 구분 모델을 거쳐 정적 데이터이면 정적 모델로 예측하고 동적 데이터이면 동적 모델로 예측하는 최종 파이프라인을 구축했습니다. 

 

저번 주와 이번 주에 걸쳐 딥러닝을 배우며 조금은 딥러닝에게 가까워졌다고 생각했는데 하면 할수록 알 수 없는 분야인 것 같기도 합니다. 모델이 데이터의 특성을 추출하고 패턴을 파악하는 과정을 확인할 수 없어서 일단 모델을 만들어놓고 좋은 성능을 내주기를 기다리는 느낌이라고 해야 할까요... 딱 하나의 좋은 정답이 있는 것이 아니고 더 성능이 좋은 모델을 찾아가는 과정이기 때문에 여러 가지 시도를 해보는 수밖에 없었던 거 같습니다. 😅 

무조건 복잡한 모델이 좋은 것이 아니고 몇 가지 모델은 은닉층이 없는 기본 모델이 더 성능이 좋기도 했고, 과적합을 개선하기 위한 방법들도 적용했을 때 성능이 좋아지는 모델이 있는가 하면 적용하지 않았을 때가 성능이 더 높기 했습니다. 일단 모델에게 학습을 시키고 나면 나머지는 모델의 몫이니 분석하는 사람은 모델에게 좋은 데이터를 가져다주기 위해 전처리 하는 과정이 중요하다는 것을 다시 한번 깨닫게 된 것 같아요.

 

그리고 이번 프로젝트는 드디어 첫 발표를 하게 되었습니다! 팀원 모두가 한마음으로 열심히 참여했고, 다른 분들에게 공유할 수 있어서 의미 있는 시간이었던 거 같아요! ㅎㅎ 다음 프로젝트는 무려 5일간!! 진행이 되는데요. 매우 기대 중입니다. 😎 그럼 다음 후기에서 뵙겠습니다~

 

 

반응형