📌 JAX로 시계열 Autoencoder 구현 - 재구성 오차 기반 이상 탐지 모델🚨 이상 탐지가 중요한 이유이상 탐지는 제조, 금융, 보안, 의료 등 다양한 분야에서 정상 상태에서 벗어난 패턴을 조기에 탐지하는 데 사용됩니다.특히 시계열 데이터에서는 이상치가 시간의 흐름 속에 숨어있기 때문에 고급 딥러닝 모델이 필요합니다.🎯 Autoencoder 기반 이상 탐지Autoencoder는 다음과 같은 구조로 동작합니다:단계 설명인코더입력 시계열을 저차원 벡터로 압축디코더벡터를 다시 시계열로 복원이상 탐지복원된 시계열과 원본의 차이(MSE)가 크면 이상으로 판단💾 1. 데이터 준비import pandas as pdimport jax.numpy as jnpfrom sklearn.preprocessing ..
Heavy-Light Decomposition (HLD) 완전 정복: 트리 경로 쿼리 최적화의 핵심 기법트리에서 경로 쿼리(path query)나 경로 업데이트(path update)를 빠르게 처리해야 할 때,가장 강력한 기법 중 하나가 바로 **Heavy-Light Decomposition(HLD)**입니다.이번 글에서는 HLD의 개념, 구현법, 세그먼트 트리와의 결합,그리고 실전 문제 적용법까지 상세히 정리합니다.✅ HLD란?트리를 Heavy edge와 Light edge로 분리해경로 쿼리를 O(log² N) 이내로 처리하는 기법📌 주요 개념Heavy Edge: 자식 중 서브트리 크기가 가장 큰 쪽Light Edge: 나머지 자식이 분할을 통해, 임의의 노드 u–v 경로를작은 개수의 chain으로 ..
📌 JAX로 시계열 모델 해석하기 - SHAP 기반 Explainable AI for Time Series🧠 왜 시계열 모델도 설명 가능해야 할까?딥러닝 기반 시계열 모델은 예측 성능은 높지만, **"왜 그렇게 예측했는가?"**라는 질문에 답하기 어렵습니다.특히 의료/금융/제조/스마트시티 분야에서 모델의 판단 근거는 중요합니다.**SHAP (SHapley Additive exPlanations)**는 각 입력 시점(feature)이 예측 결과에 얼마나 기여했는지를 수치로 정량화합니다.🎯 1. 목표JAX 기반 시계열 분류/예측 모델의 입력에 대해**어떤 시점(timestep)**이 예측에 가장 크게 영향을 미쳤는지 분석SHAP 유사 로직을 JAX+Flax로 구현🔧 2. SHAP 원리 요약SHAP은 ..
Euler Tour Tree 기반 노드 색칠 및 라벨 통계 처리: 서브트리와 경로에 색 정보를 효율적으로 반영하기이번 글에서는 **Euler Tour Tree (ETT)**를 기반으로**노드의 색칠(라벨링)**이나 색별 통계 집계를효율적으로 처리하는 방법을 소개합니다.이는 트리 기반 소셜 네트워크, 유저 상태 관리, 서브트리 질의에서자주 등장하는 문제로, ETT 구조에 세그먼트 트리, Lazy Propagation을 결합하여 해결합니다.✅ 예제 문제 유형paint(u, color)→ 노드 u의 색을 변경count_color(u, c)→ u의 서브트리에서 색 c를 가진 노드의 수path_color_freq(u, v, c)→ u–v 경로상에서 색 c를 가진 노드의 수🧠 핵심 아이디어: Euler Tour ..
Link/Cut Tree에서 경로 쿼리 처리: 합, 최댓값, 노드 갱신까지 완전 이해이번 글에서는 **Link/Cut Tree(LCT)**에서경로상의 합, 최댓값, 노드 값 변경 등의 쿼리 처리를 어떻게 구현하는지세부적으로 설명합니다.앞선 글에서 LCT의 구조와 기본 연산들을 익혔다면,이제는 실전 문제에서 많이 등장하는 경로 쿼리(Path Query) 기능을어떻게 Augmentation으로 구현하는지를 마스터할 차례입니다.✅ 목표 연산 정리연산 설명path_sum(u, v)u–v 경로의 값 합계path_max(u, v)u–v 경로의 최댓값update_node(u, val)노드 u의 값을 변경update_path(u, v, val)u–v 경로 값 일괄 변경 (Lazy Propagation 포함)🔧 기본 ..
📌 JAX로 Attention 기반 시계열 분류 모델 구현 - TS-Transformer를 활용한 센서/의료 데이터 분석🚀 왜 시계열 분류에 Transformer를 사용할까?전통적인 시계열 분류는 RNN, LSTM 기반으로 설계되었지만,Transformer 구조는 Self-Attention을 통해 장기 패턴 학습, 병렬 처리, 멀티채널 지원 등여러 장점이 있어 최근 시계열 분류에서도 널리 사용되고 있습니다.💡 1. 시계열 분류 예시도메인 설명헬스케어심전도(ECG), 호흡 패턴, 운동 분석스마트공장센서 고장 탐지, 작동 상태 분류IoT 환경사용자 행동 인식, 기기 상태 판별📊 2. 데이터 준비 (예: 다채널 센서 데이터)import pandas as pdimport jax.numpy as jnpfr..
Link/Cut Tree(LCT) 활용 예제: 동적 Minimum Spanning Tree(MST) 유지 전략이번 글에서는 **Link/Cut Tree (LCT)**를 활용하여MST에서 간선이 동적으로 추가/삭제될 때,최소 스패닝 트리(Minimum Spanning Tree, MST)를 효율적으로 유지하는 전략을 소개합니다.✅ 문제 배경간선이 지속적으로 삽입되거나 삭제되면서MST의 무게가 바뀌는데, 이를 효율적으로 추적하라!일반적인 MST 알고리즘 (Kruskall, Prim)은 정적인 그래프에만 유효동적 환경에서는 MST의 유지, 업데이트, 재구성이 필요📌 MST에서 간선 변경이 필요한 상황1. 더 짧은 간선 삽입기존 간선보다 가중치가 작은 간선을 넣을 수 있다면,가장 무거운 간선을 제거하고 새로운 ..
📌 JAX로 조건부 시계열 생성 모델 구현 - Conditional GAN (cGAN)을 활용한 제어 가능한 시계열 생성🚀 조건부 GAN(cGAN)이란?Conditional GAN은 **조건(condition)**을 기반으로 데이터를 생성하는 제어 가능한 GAN입니다.일반적인 GAN이 무작위로 데이터를 생성하는 반면,cGAN은 클래스, 범주, 환경 상태 등의 조건을 추가로 받아"특정한 조건에 맞는 데이터"를 생성할 수 있습니다.💡 1. 시계열 cGAN의 활용 예조건 생성되는 시계열 예시센서 상태: 정상정상 시의 센서 시계열 패턴주가 방향: 상승상승 구간의 주가 시계열계절: 여름여름철 소비 패턴 시계열🧱 2. 모델 아키텍처 구성🎯 입력 구성Generator: [noise z] + [conditio..
Link/Cut Tree(LCT) 완전 정복: 경로 쿼리, 연결성 유지, 간선 교체까지 O(log N)이제 본격적으로 **Link/Cut Tree (LCT)**의 구현과 응용을 정리합니다.LCT는 Splay Tree 기반 동적 트리 자료구조로,**트리 경로(Path Query)**나 트리 간선 삽입/삭제, 최댓값/합 쿼리 등을모두 O(log N) 시간에 처리할 수 있습니다.✅ Link/Cut Tree란?Link/Cut Tree는 N개의 노드로 구성된 트리에서**노드 연결(link), 분리(cut), 경로 질의(query)**를모두 로그 시간에 수행할 수 있는 동적 트리 자료구조입니다.📌 주요 지원 연산연산 설명link(u, v)u–v를 연결 (전제: u와 v는 서로 다른 트리)cut(u, v)u–v 간..
📌 JAX로 Time-Series GAN(TSGAN) 구현 - 현실감 있는 시계열 데이터 생성하기🚀 왜 시계열 GAN이 필요한가?현실 세계에서는 시계열 데이터가 적거나 불균형한 경우가 많습니다.예를 들어:센서 오작동 상황이 적게 기록됨이상 데이터 수집이 제한적고가의 측정 비용 등**시계열 GAN(Time-Series GAN, TSGAN)**은 이러한 문제를 해결하기 위해실제와 유사한 새로운 시계열 데이터를 생성할 수 있는 강력한 도구입니다.💡 1. TSGAN 구조구성 요소 역할Generator (G)랜덤 노이즈를 받아서 시계열을 생성Discriminator (D)시계열이 진짜인지(GT) 가짜인지(G에서 생성) 판별LossG는 D를 속이도록 학습, D는 G를 판별하도록 학습🧱 2. 구현 개요 (JA..
- Total
- Today
- Yesterday
- Ktor
- fastapi
- time series
- Next.js
- REACT
- 면접질문
- 프론트엔드
- kotlin
- seo 최적화 10개
- 웹개발
- 개발블로그
- 프론트엔드면접
- llm
- 파이썬알고리즘
- Prisma
- gatsbyjs
- App Router
- nextJS
- 딥러닝
- rag
- Docker
- PostgreSQL
- SEO최적화
- Python
- flax
- CI/CD
- DevOps
- NestJS
- 쿼리최적화
- JAX
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |