무슨 생각을 해 그냥 하는거지

[학습정리] 2021-08-23 본문

Naver AI Tech 2기/Today I Learned

[학습정리] 2021-08-23

빛나는콩 2021. 8. 24. 22:07

※ 정보전달이 목적인 포스트가 아니라 개인 학습 기록 및 정리가 목적인 포스트입니다 ※

해당 포스트는 네이버 커넥트 재단의 부스트캠프 마스터님이신 김태진 강사님의 강의를 바탕으로 작성되었습니다.

 

1. 강의 복습 내용

[Image Classification & EDA]

EDA(Exploratory Data Analysis)

EDA라는 용어를 처음 들어봤는데, 강의 내용에 따르면 데이터를 이리저리 뜯어보고 분석하는 기법인 것 같다. 좀 더 명확한 정의를 찾고 싶어서 구글링해본 결과, IBM Education에서 아래와 같은 해답을 찾았다.

"Exploratory data analysis (EDA) is used by data scientists to analyze and investigate data sets and summarize their main characteristics, often employing data visualization methods. It helps determine how best to manipulate data sources to get the answers you need, making it easier for data scientists to discover patterns, spot anomalies, test a hypothesis, or check assumptions.

 EDA is primarily used to see what data can reveal beyond the formal modeling or hypothesis testing task and provides a better understanding of data set variables and the relationships between them. It can also help determine if the statistical techniques you are considering for data analysis are appropriate."

정리해보자면,

  • EDA는 (주로 데이터 시각화를 이용해) 데이터셋을 분석하고 주된 특징들을 요약하는 방법이다.
  • 해야 하는 이유(장점): 데이터의 패턴을 파악할 수 있게 하고, 이상치를 발견할 수 있게 하고, 가설을 확인하게 함으로써 우리의 task에 대한 해답을 얻기 위해 어떻게 데이터를 조작해야 하는지 알 수 있다.  

 


2. 과제 수행 과정 / 결과물 정리

[P-stage: Mask-Classification]

데이터셋: 아시아인 남녀 마스크 착용/미착용/잘못된 착용 이미지

Class (Label): 나이(3)/성별(2)/마스크착용상태(3)를 조합한 18개 

 

문제 1) 데이터셋의 정보가 적혀 있는 csv 파일을 보았을 때 이미지파일 이름에는 마스크착용상태만 포함되어 있어 labelling 방법을 생각해야 했다.

→ 해결완료) 아무래도 이미지파일 이름 자체에 모든 정보가 들어가 있는 게 나중에 데이터를 확인하기도 편할 것 같아서 파일 이름에 모든 정보가 들어가도록 코드(rename.py)를 만들어 이름을 새로 바꿔주었다. 또한 원래 주어진 csv 파일은 이미지파일마다 labelling 되어 있지 않아서 코드 상의 편의를 위해 이미지 파일 마다 labelling한 csv 파일을 새로 만들어주었다. dataset class에서 getitem을 호출할 때마다 labelling을 해줄 필요가 없어 코드가 좀 더 간결해졌다.

 

문제 2) label 개수가 생각보다 많고, 사람도 판별하기 힘들다.

→ 생각) 마스크 착용 여부만 판별해야 하는 줄 알았는데 나이와 성별까지 고려해 예측해야 한다. 심지어 따로 accuracy를 계산하는 것도 아니고 셋 중 하나만 틀려도 틀린 label이 된다... 나이는 사람도 외관으로만 판별하기 힘든데 모델이 과연 예측할 수 있을까..?

→ 아이디어) 일단 각각의 세부 label(나이/성별/마스크착용여부)를 예측하는 모델을 독립적으로 만드는 게 좋을 것 같다. 하나의 모델만 사용하면, 성별, 마스크착용 여부는 맞췄는데 나이를 틀려서 다시 새로운 feature를 추출해 학습하게 될텐데 그럼 잘 맞추던 성별과 마스크착용 여부에 대한 성능도 영향을 받을 수 있다.

 

 


3. 피어세션 정리

  • 다른 캠퍼님께서 캐글에 대한 전반적인 설명과 오늘 수업에 대한 요약 발표를 해주셨다.
  • 데이터를 분석해보고 어떻게 하면 좋은 성능을 낼 수 있을지 함께 고민해보았다.

 

 


4. 학습 회고

  • 처음으로 부캠 슬랙 팁 채널에 팁을 하나 올렸다. wsl에서 파일 권한을 바꾸는 것에 대한 굉장히 사소한 내용이라 걱정했는데 다른 캠퍼분들이 이모지도 남겨주시고 유용한 정보라고 댓글도 남겨주셔서 뿌듯함을 느꼈다.
  • 베이스라인을 미리 제공해주시는 줄 알았는데 금요일에 제공된다고 한다. 완전 밑바닥(?)부터 구현하는 것은 처음이라 많이 헤매었다. 그렇지만 오류를 하나하나 해결하면서 내가 원하는 대로 되는 모습을 보면 항상 짜릿하다😁

 

 

'Naver AI Tech 2기 > Today I Learned' 카테고리의 다른 글

[학습정리] 2021-08-25  (0) 2021.08.27
[학습정리] 2021-08-24  (0) 2021.08.24
[학습정리] 2021-08-20  (0) 2021.08.20
[학습정리] 2021-08-19  (0) 2021.08.20
[학습정리] 2021-08-18  (0) 2021.08.20