| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- 객체지향
- 트랜스포머
- 데이터 시각화
- 딥러닝
- dementional reduction
- 기초
- TTS
- 머신러닝
- 정보처리기사
- python기초
- SQL
- 생성형 인공지능
- UMAP
- RNN
- 소프트웨어 개발
- 에이전트
- 데이터엔지니어
- 캐글
- LangGraph
- python 기초
- Transformer
- 알고리즘
- 힙정렬
- CNN
- 랭그래프
- CLIP
- ASR
- 자연어처리
- Python
- RDBMS
- Today
- Total
수달이네 기술 블로그
0. 캐글 프로젝트 준비 본문
🔍캐글?
Kaggle: Your Machine Learning and Data Science Community
Kaggle is the world’s largest data science community with powerful tools and resources to help you achieve your data science goals.
www.kaggle.com
캐글이란, 데이터 과학, 머신러닝 경진대회를 주최하는 온라인 커뮤니티이다!
- 코드, 데이터셋이 많으며, 데이터과학 역량을 쌓는데 최적화.
- 웹 기반 플랫폼이므로 어디서나 연결 가능하며 무거운 데이터를 내 노트북에서 다운받지 않아도 된다.
- 우수한 직원을 채용하기 위해 대회 성과를 활용하기도 한다.
위의 캐글을 참여하기로 하였고, 관련 지식을 공부하기로 한다.
🔍데이터 문제해결 프로세스
해당 문제를 머신러닝으로 접근할 것인가? 딥러닝으로 접근할 것인가?
머신러닝
- 정형데이터, 숫자로이루어진 데이터(csv, json)를 머신러닝으로 활용
- ex) 랜덤포레스트
딥러닝
- 비정형데이터, 이미지, 음성, 택스트 데이터는 표에 담기 어려움 따라서 임베딩 등의 전처리를 통해 숫자형태로 바꾼 것으로 딥러닝의 인풋으로 활용
머신러닝도 비정형을 다룰수 있고, 딥러닝이 정형을 다룰 수 있으나 최적화 되어있다.
머신러닝이 모델을 다루기 편하다.
딥러닝은 레이어별로 모델을 구현해야하며, 임베딩과정이 들어가므로 좀더 복잡하다.
🔍 머신러닝 프로세스, 체크리스트

문제이해
어떤 일이든 주어진 문제를 이해하는 데서 시작한다. 문제를 정확하게 이해해 야 목표점을 정확히 설정할 수 있다.
예시: 타이타닉! • 문제 유형: 생존자인지, 생존자가 아닌지 확인하는 이진분류(회귀/ 이진분류/ 다중분류..) • 평가지표: accuracy…
탐색적 데이터 분석
주어진 데이터를 면밀히 분석한다. 머신러닝은 데이터를 다루는 기술이므로 데 이터를 잘 알아야 다음 단계에서 가장 효과적인 모델을 찾고 최적화할 수 있다.
- 데이터 분석과 구조 파악으로 좋은 의사결정을 하고 좋은 의사결정은 여러가지 시행착오를 줄일 수 있다.
- 데이터 둘러보기
- 파일별 용도 파악
- 데이터양(레코드 수, 피처 수, 전체 용량 등)
- 피처 이해(이름, 의미, 데이터 타입(숫자와 그 숫자의 의미들), 결측값 개수, 고윳값 개수, 실제값, 데이터 종류 등)
- 훈련 데이터와 테스트 데이터 차이
- 타깃값: 제출(예측)해야하는 값 함수처럼 y = f(x)에서 x에 값을 넣었을 때 타깃값 y가 나오도록 해야한다.
- 데이터 시각화
- 데이터 프레임 형태로 값을 넣어주면 그래프를 그려주는 파이썬 라이브러리를 활용할 예정

- 데이터 전처리
- 다만 캐글 경진대회들은 대부분 전처리가 상당 수준 이루어진 데이터를 제공한다.
- 현실 데이터를 다룰 때 사실 가장 중요한 요소
- 데이터 전처리가 모델의 성능에 가장 큰 영향을 미친다.
- 오타, 필요 없는 데이터 제거, 범주형 데이터를 연속형 데이터로 변경
- 피처 엔지니어링
- Labeling 작업
- 머신러닝→ X: input에 대한 Y: output 정답을 예측
- Y가 X에 대해 명확하게 주어져야 학습이 잘 된다.
- 현실 세계 데이터에는 다양한 잡음이 섞여 있고 형태도 일정하지 않아서(뭐를 학습값으로 두어야 할지, 타깃값으로 두어야 할지도 정해지지 않음) 솎아주거나 형태를 일치시키는 등의 전처리 작업이 필요하다.
베이스라인모델
ex)랜덤포레스트
기준 모델 베이스라인보다 얼마만큼 성능을 향상 시켰는지 확인하는 평가기준
만약 베이스라인보다 성능이 떨어지면 잘못된 알고리즘임을 알아야한다.
- 데이터를 보고 어떤 모델을 써야할지 올바른 의사결정을 할 수 있어야한다.
처음부터 최고성능을 내는 것은 어렵다.
- 비교 대상이 없을 경우 목표가 없으므로 장님이나 다름없다고 볼 수 있다.
- 가장 간단한 모델로 지금의 데이터를 돌리며 성능 파악을 한다.
- 최적화 후 얼마나 더 좋아졌는지 비교한다.
- 보통 베이스라인 모델은 회사의 작년 사용모델, 이전 논문 결과를 사용한다.

베이스라인 모델 to State-of-the-art (SOTA) Model


위의 그래프에서 볼 경우,
베이스라인 모델을 넘어서고 이상적인 모델에 가까워질수록 좋은모델이다.
성능 개선
위의 모든 프로세스는 유기적으로 연결되어있다. 하나하나 잘해야 좋은 성능을 낸다.
🔍딥러닝 프로세스
문제 이해
머신러닝과 똑같음 문제를 정확하게 이해하고 목표점을 설정
평가지표 파악
분류 or 회귀 or 확률 기반 랭킹… 등등을 파악(경진대회 별로 다름)

AU-ROC: 0과 1을 구분할 수 있는 확률으로 이진분류를 간접적으로 확인
탐색적 데이터 분석
주어진 데이터를 분석
- 딥러닝은 데이터 수와 품질에 크게 좌우된다. 주어진 데이터가 충분히 많은지, 품질이 너무 떨어지지는 않는지 파악한다.
데이터 둘러보기
- 파일별 용도파악
- 데이터 양(파일 수 및 크기, 전체 용량)
- 딥러닝은 batch에 따라 좌우된다.
- 피쳐이해(input:x)
- 훈련데이터와 테스트데이터의 차이
- 타깃값: 출력값(output:y)

데이터시각화



데이터 시각화 툴을 활용하여 데이터를 시각화해서 본다.
위에선 사진에 선인장이 있으면 1 없으면 0으로 인풋하고, 타깃값의 분포를 확인한다.
베이스라인 모델
역시 베이스라인 모델보다 뛰어난 성능을 가지도록 목표

- 데이터 전처리: 비정형 데이터를 정리하여 모델이 이해할 수 있는 데이터셋 클래스로 변환
- 데이터 변환: 임베딩과 변환기를 통해 데이터를 딥러닝 모델에 적합한 형태로 변환
- 데이터 로딩: 데이터 로더가 배치 단위로 처리된 데이터를 딥러닝 모델에 효율적으로 전달

시드값 고정: 원래 매번 값이 랜덤으로 초기화 되기 때문에 파라미터를 업데이트 해주기 힘들다. 따라서 시드값을 고정하면 항상 같은 값을 가지기 때문에 파라미터를 설정하기 편하다.
훈련/검증 데이터 분리: 훈련 데이터 안에서 하나의 에폭이 돌았을 때 미리 준비된 검증데이터 안에서 얼마만큼의 성능이 나오는지 확인 할 수 있다.
배치: 데이터를 쪼갠 단위
에폭: 주어진 데이터의 모든 배치를 다 돈 단위.
데이터 전처리
현실 세계 데이터에는 다양한 잡음이 섞여 있고 형태도 일정하지 않아서 솎아주거나 형태를 일치시키는 등의 전처리 작업이 필요하다.
- 이미지 컬러로드
- 크기변경
- 자르기
- 선명하게하기
- 대비높이기
- 투명도처리
- 배경제거
텍스트
- 토큰화(이미지의 토큰을 나눔)
- 정제 및 정규화
- 표제어추출: dies→ die, watched → watch
- 어간 추출: formalize → formal, allowance → allow…
- 불용어 제거: 토큰으로는 존재하나 실제로 크게 도움이 되지 않는 a나 the등 관사, 조사등 제거
- 원핫인코딩/벡터화: 단어 집합에 따라 아이디 부여, 특정 자연어에 따라 대표할 만한 위치에 1 써둠.
- 한국어 전처리 패키지사용
데이터 전처리또한 우리가 하기 나름이다.
성능개선
다양한 아이디어를 적용해 모델의 성능을 끌어올림.
딥러닝의 경우 데이터 자체를 가공하여 성능을 올리는 비중이 크다.
데이터증강: 어떤 증강 변환기를 쓸지 선택해야한다.
옵티마이저: 최신에 나온 옵티마이저
레이블스무딩: 마지막에 제출한 모델의 성능을 조금 끌어올릴 때
앙상블

에폭수를 무작정 늘리면 과적합(overfitting)의 위험이 존재한다.

머신러닝, 딥러닝의 문제해결 프로세스를 공부했다. 다음엔 직접 문제를 풀며 과정을 이해해 갈 것이다.
'프로젝트' 카테고리의 다른 글
| 3. ASR 모델의 도메인 특화 용어 인식 오류율 감소를 위한 논문 탐구 (0) | 2026.04.04 |
|---|---|
| 2. 인공지능 음성 인터페이스의 지연시간/인지심리학적 분석 (0) | 2026.04.02 |
| 1. Whisper Fine-Tuning에 대해 (0) | 2026.04.01 |
| 1. 멀티클라우드(도커) (0) | 2025.10.12 |
| 1. 머신러닝의 기초 (1) | 2025.09.30 |