Skip to content

2026/06/23

Choose a tag to compare

@terryanRLR terryanRLR released this 23 Jun 11:46
0e666e6

20260623
TIL 겸 공부 일기

한 줄 평가: 팀프로젝트가 시작되었다! 지금의 나는 아직 어렵지만 그때의 나는 해낼 거리고 믿고 하나하나씩 접근해 보자!
다음 날 목표: 최종 팀프로젝트 내용 작성 및 기본 회의 시작


코드타카...대신 생색내기용 에이타니 1 문제!

  1. 다음 중 옳지 않은 것은 무엇인가요?

A. 회귀는 대표적인 지도학습이다
B. K-평균 알고리즘은 대표적인 비지도학습이다
C. 군집화는 대표적인 지도학습이다
D. 분류는 대표적인 지도학습이다

-> C. 군집화는 비지도야...

  1. 다음 중 지도학습(Supervised Learning)과 비지도학습(Unsupervised Learning)의 차이를 가장 정확하게 설명한 것은 무엇입니까?

A. 지도학습은 레이블이 있는 데이터를 사용하여 입력과 출력 간의 관계를 학습하며, 비지도학습은 레이블 없이 데이터의 패턴이나 구조를 스스로 발견한다.
B. 지도학습은 분류 문제에만 사용되고, 비지도학습은 회귀 문제에만 사용된다.
C. 지도학습은 데이터가 적을 때 사용하고, 비지도학습은 데이터가 많을 때 사용한다.
D. 지도학습은 비정형 데이터를 처리하고, 비지도학습은 정형 데이터를 처리한다.

-> A. 길게도 풀어서 썻네...

  1. 시계열 데이터 분해(Time Series Decomposition)에서 추세(Trend), 계절성(Seasonality), 잔차(Residual)의 관계를 올바르게 나타낸 수식은 무엇입니까? (가법 모델 기준)

A. Y(t) = Trend(t) + Seasonality(t) + Residual(t)
B. Y(t) = Trend(t) × Seasonality(t) × Residual(t)
C. Y(t) = Trend(t) + Seasonality(t) - Residual(t)
D. Y(t) = Trend(t) - Seasonality(t) + Residual(t)

-> A. 가법 모델!

  1. 시계열 분해에서 '추세(Trend)' 성분이 의미하는 것으로 가장 적절한 것은 무엇입니까?

A. 규칙적으로 반복되는 주기적 패턴
B. 장기적으로 증가하거나 감소하는 전반적인 방향성
C. 추세와 계절성으로 설명할 수 없는 불규칙한 변동
D. 특정 이벤트로 인한 일시적인 변화

-> B. 국어 문제 잖아...

  1. 다음 중 시계열 데이터의 '계절성(Seasonality)'에 대한 설명으로 옳지 않은 것은 무엇입니까?

A. 일정한 주기로 반복되는 패턴을 의미한다
B. 월별, 분기별, 연도별 등 고정된 기간마다 나타날 수 있다
C. 계절성은 시간이 지나면서 점차 증가하거나 감소하는 경향을 보인다
D. 예를 들어, 여름마다 아이스크림 판매량이 증가하는 현상이 계절성에 해당한다

-> C. 아까의 추세랑 겹치잖아...

  1. 시계열 분해에서 '잔차(Residual)' 성분의 특성으로 가장 적절한 것은 무엇입니까?

A. 추세와 계절성으로 설명할 수 없는 불규칙한 변동과 노이즈를 포함한다
B. 항상 0의 값을 가지며 예측 가능한 패턴을 보인다
C. 계절성보다 큰 진폭을 가지며 장기적인 방향성을 나타낸다
D. 고정된 주기로 반복되는 규칙적인 패턴이다

-> A. 상식 데스!

※ 시스템 구성

전체 시스템 구조 (Data & MCP 파이프라인)

시스템은 크게 데이터 입력 -> 머신러닝 감지 -> LLM 판단 및 MCP 실행 3단계 구성

모식도

[새로운 데이터 입력]


[전통적 ML 이상 감지 모델] (Isolation Forest 등 가벼운 모델)

├─ 정상 데이터 ──> 정상 처리 (DB 저장)
└─ 이상 데이터 ──> [데이터 내용 + 이상 징후 리포트 생성]


[llama.cpp (Gemma 4 12B)] - 두뇌 역할

▼ (MCP 프로토콜 규격으로 Tool 호출)
[MCP SMTP/Mail Server]


[담당자에게 알림 메일 발송]

  1. 새로운 데이터 입력

    새로운 데이터를 뽑아낼 수 없음으로 기존 데이터를 쓰거나 임의 생성 필요
    (1) 임의 생성
    (2) test.csv/train.csv 데이터 한 열 추출 기법 - 또는 시간 순서대로 한 행씩 스트리밍 방식 사용

  2. 데이터 분류

    (1) 내장 코드로 기존 학습한 머신 러닝 모델을 사용해서 1차로 판단한 뒤, 각 폴더(정상, 오류 타입 A-J)들에 분류
    (2) 또는 SQLite나 간단한 DB로 관리

  3. 분석

    내장 파인 튜닝 모델 OR 고급 모델 API를 이용해서 각 데이터별 추가 분석
    (1) 내장 파인 튜닝 모델 후보 분석 능력 및 한국어 능력이 좋은 Gemma 4 12B or 경량화 E4B 버전 사용 - 터미널을 열어 llama.cpp으로 실행 후 호스팅 + 필요시 LiteLLM 등을 사용하여 자체적인 pseudo-api 키 발행 등 가능한 미들웨어 적용 + 필요시 도메인 기반 RAG 추가 학습 및 파인 튜닝 진행
    (2) 외부 API는 그때 상황 맞춰서 결정 (후보: Open AI, Anthropic, DeepSeek, Open-Weights, Moonshot AI, ZAI, Xiaomi, MiniMax 등 AI사의 최신 모델) - 기본적으로 로깅 문제가 있어 개인정보 침해 등의 문제가 발생할 수 있음으로 이 방법 사용시 마크킹 등의 개인정보 블라처리 기술이 추가로 들어가야 함 또는 TEE 명시 사용

  4. 알람 전송

    N8N, MCP 기술 (MCP SMTP/Mail Server) 등을 이용해서 담당자의 메일이나 슬렉에 알람/분석 내용 메일 전송
    메일 전송 내용(추후 수정): "이상탐지 이유 + 권장 조치" 자연어 출력 + 클릭시 상세 정보에 접근해 볼수 있는 방법 강구

※ 대시 보드 구성

  1. 구성 방식 : 자바스크립트 기반(HTML), 파이썬 기반(Streamlit) 동시 개발 - 난이도상 스트리밋 우선시

  2. 디자인 : https://getdesign.md/ 참고하여 실제 사용되는 여러 회사들의 스타일이 기록된 design.md 파일 기반으로 제작 (전체 디자인 및 UI는 상시 수정 가능)

  3. 구성 내용:

    (1) 소개, 문제 제기, 가설 세션
    (2) 전처리 과정과 결과
    (3) 주요 해석들과 분석
    (4) 주요 KPI 정리와 결론
    (5) 실제 시스템 시연 (데이터 생성시 분류, 분석, 메일 전송까지 진행되게 구성) + 설정창을 통해 임계값 및 분석 AI 세부 파라미터 조절 기능 제공

지금 생각하는 기본 골격 구성 후보들 (추후 수정가능):

  • streamlit + plotly (차트)
  • streamlit-aggrid (데이터 테이블)
  • 섹션 (1)~(5) 각각 별도 .py 페이지로 분리 (multipage app)

추가 프리소스 : Plxabay 등 이용 or + Qwen img, setp 1.5 등 생성성 AI 사용