ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [메타코드 AI LLM 부트캠프] 3주차 학습 일지: 정보처리기사 필기 합격 & 머신러닝 수요예측 프로젝트와 딥러닝 입문
    공부/메타코드 LLM 부트캠프 2026. 3. 1. 20:26

    2주차에 이어 3주차 월요일부터 수요일까지는 정보처리기사 필기시험 준비에 매진했습니다.

    그리고 목요일 시험에서 무사히 합격의 기쁨을 누렸습니다! 목요일과 금요일은 재충전을 위해 푹 쉬었고,

    주말(토, 일)을 이용해 AI LLM 6주차 학습을 달렸습니다.

     

    원래 순서대로라면 4주차를 들어야 하지만 6주차로 건너뛴 이유가 있습니다.

    학습이 '이론 -> 실습'이 반복되는 구조 속에서,

    6주차가 머신러닝을 최종적으로 마무리하고 딥러닝으로 넘어가는 중요한 기점이었기 때문입니다.

    머신러닝의 마지막 실습 프로젝트를 먼저 경험함으로써 앞으로의 이론 학습에 뼈대를 잡고,

    곧바로 이어질 딥러닝 학습과 과제 제출을 효과적으로 준비하기 위한 전략적인 선택이었습니다.

    1. 실전 머신러닝: 수요 예측 모델 프로젝트

    이번 실습 프로젝트의 핵심 목표는 이커머스 도메인에서 특정 농산물의 특정 일자별 가격(원/kg)을 예측하는 것입니다.

    머신러닝의 전체 프로세스인 목표설정 → 데이터 전처리 → EDA(탐색적 데이터 분석) → 학습 → 예측의 과정을 학습을 통해 직접 경험해 보았습니다.

    데이터 전처리 (Data Preprocessing)

    • 특정 농산물 필터링: 원본 데이터에 존재하는 11개 품종 중 예측 대상인 7개(배추, 무, 마늘, 양파, 대파, 건고추, 깻잎) 데이터만 필터링하여 분석 대상을 명확히 했습니다.
    • 불필요한 데이터 제거: 기본 정보에는 거래량과 가격이 혼재되어 있었으나, 목적에 맞게 불필요한 '거래량(kg)' 정보는 과감히 제거했습니다.
    • 영문 변수화 및 함수화: 한글 컬럼명은 인코딩이나 폰트 에러를 유발할 수 있어 영문(cabbage, radish, garlic 등)으로 매핑하여 변경했습니다또한 동일한 전처리 작업은 load_data_set 함수로 모듈화하여 작업 편의성과 재사용성을 극대화했습니다.

    EDA (탐색적 데이터 분석)

    데이터 모델링 전 데이터의 이해도를 높이고 이상치(Anomaly)를 파악하기 위해 EDA를 수행했습니다.

    • 데이터 타입(Type) 확인 및 시간순 정렬을 통해 시계열 데이터 흐름을 점검했습니다.
    • 기초 기술 통계량(describe)과 결측치(Null) 여부를 파악해 데이터의 정상 여부를 점검했습니다.
    • 데이터 시각화: 일자별 가격 변동 트렌드를 시각화하고, 변동성이 큰 품목의 경우 이동평균(Rolling Mean)을 적용해 노이즈를 줄여가며 패턴을 확인했습니다.
    • 상관관계 분석을 통해 '배추와 무'처럼 서로 상관계수가 높은 품종의 패턴을 파악했습니다.

    모델 학습 및 피처 엔지니어링

    • 알고리즘 모델 (Prophet) vs 머신러닝 모델: 페이스북에서 만든 Prophet 같은 시계열 알고리즘은 피처(Feature) 데이터가 없어도 자기상관성을 기반으로 간편하게 훈련 및 예측 테스트가 가능해 머신러닝 대비 공수가 적습니다. 반면 머신러닝 모델(LGBM, XGBoost 등)은 피처의 질이 모델 성능을 좌우합니다.
    • Feature Engineering: 날짜 정보로부터 연, 월, 주말 여부, 공휴일 여부를 파생 변수로 추출하고, 시계열 특성을 반영하기 위해 과거 7일, 14일 전의 데이터(Lag Feature)와 이동평균/표준편차를 모델의 Input으로 추가했습니다.
    • 예측 결과값 사후처리 (Post-processing): 비즈니스 도메인 지식을 활용해 모델 성능(MdAPE 지표)을 대폭 높였습니다. 예를 들어, 시장 거래가 쉬는 일요일이나 공휴일의 예측값을 강제로 '0'으로 치환하는 후처리를 진행해 오차율을 낮췄습니다.

    모델 성능 개선 및 대시보드 구축

    • 단일 모델의 한계를 극복하기 위해 Voting Regressor(Average Model)를 사용하여 모델 간의 분산을 줄이고 안정적인 예측을 만들었습니다.
    • 나아가 여러 베이스 모델(RandomForest, LGBM, XGBoost)의 예측 결과를 새로운 피처로 삼아 최종 메타 모델로 예측하는 Stacking Regressor를 도입하여 성능을 고도화했습니다.
    • 마지막으로 Streamlit을 활용해 개발한 예측 모델을 인터랙티브한 웹 대시보드로 배포(Deploy)하는 파이프라인까지 성공적으로 마무리했습니다.

    2. 딥러닝 입문 (Introduction to Deep Learning)

    머신러닝 프로젝트를 마무리한 뒤, 본격적으로 딥러닝 기초 이론 학습에 들어갔습니다.

    AI, 머신러닝, 딥러닝의 차이점

    • 인공지능(AI): 사람의 지능적인 일을 기계가 대신해 주는 가장 포괄적인 개념입니다.
    • 머신러닝(ML): 프로그래머가 모든 규칙을 정해주지 않아도, 데이터로부터 모델 스스로 규칙을 찾아내는 인공지능의 한 분야입니다.
    • 딥러닝(DL): 뇌 신경망을 모방한 인공신경망(Artificial Neural Network) 구조를 기반으로 방대한 데이터를 학습하고 복잡한 패턴을 판단하는 머신러닝의 하위 분야입니다.

    핵심 이론 요약

    • 텐서(Tensor): PyTorch 딥러닝 환경에서 데이터를 담고 다차원 행렬 연산을 수행하는 가장 기본적인 데이터 구조입니다.
    • 손실 함수 (Loss Function): 모델의 예측값과 실제 정답의 차이(Error)를 계산합니다. 학습의 최종 목적은 이 Loss Function을 최소화하는 파라미터(가중치)를 찾는 것입니다. 회귀 예측에는 주로 MSE(Mean Squared Error) 를, 다중 분류 예측에는 Softmax 확률을 활용한 Cross Entropy를 사용합니다.
    • 경사하강법 (Gradient Descent): Loss 함수의 최소점(Minimum)을 찾기 위해 현재 위치의 기울기(Gradient)를 미분으로 구하고, 학습률(Learning Rate)만큼 반대 방향으로 스텝을 이동하여 가중치를 최적화하는 기법입니다. 속도와 보폭을 유동적으로 조절하기 위해 RMSProp, Momentum, Adam 등 발전된 Optimizer에 대해서도 학습했습니다.
    • 역전파 알고리즘 (Backpropagation): 순전파(Feed Forward)로 얻어낸 예측값의 Loss를 바탕으로 가중치를 업데이트할 때, 출력층부터 입력층으로 역방향으로 진행하며 미분값(Gradient)을 계산하는 방법론입니다. Chain Rule(연쇄 법칙)을 사용하여 각 은닉층의 파라미터를 효율적으로 업데이트하는 원리를 배웠습니다.

    마무리하며

    이론과 실습이 적절히 조화된 알찬 3주차였습니다! 정보처리기사 자격증 합격이라는 좋은 소식과 함께,

    실전 시계열 데이터를 다루며 '피처 엔지니어링'과 '사후 처리(Post-processing)'가 모델 성능에 얼마나 큰 영향을 미치는지 알 수 있었습니다. 앞으로 이어질 딥러닝 심화 과정과 파이토치(PyTorch) 실습이 더욱 기대됩니다.

    댓글

Designed by Tistory.