728x90
반응형

데이터 압축 6

HyperLogLog

개요HyperLogLog는 대규모 데이터 집합에서 고유한 원소의 수(카디널리티)를 매우 적은 메모리로 정확하게 추정할 수 있는 확률 기반 알고리즘이다. 빅데이터 환경에서 중복 없이 데이터 개수를 세는 데 효과적이며, Google, Redis, Apache Druid 등 다양한 플랫폼에서 실전 활용되고 있다.1. 개념 및 정의HyperLogLog는 LogLog 알고리즘을 개선한 확률적 데이터 구조로, 해시 함수를 기반으로 입력 원소를 비트 스트림으로 변환하고, 그 중 가장 앞에 나오는 0의 개수를 통해 카디널리티를 추정한다.목적: 메모리 사용 최소화로 정확한 고유 원소 수 추정필요성: 수십억 개 원소의 중복 제거 없이 집계가 필요한 경우2. 특징 특징 설명 비교 대상 고정 메모리 사용수십 KB로 수십억..

Topic 2025.05.10

LCP Array (Longest Common Prefix Array)

개요LCP Array는 문자열의 접미사(Suffix)들을 사전순으로 정렬한 Suffix Array에 대해, 인접한 접미사들 간의 최장 공통 접두사(Longest Common Prefix) 길이를 저장하는 배열입니다. 문자열 검색, 패턴 매칭, 중복 탐지, 데이터 압축 등 다양한 분야에서 핵심적인 역할을 하며, Suffix Array와 함께 문자열 인덱싱 및 분석의 효율을 극대화합니다.1. 개념 및 정의 항목 내용 정의Suffix Array 상에서 인접한 두 접미사 간 최장 공통 접두사 길이를 저장한 배열목적빠른 문자열 매칭, 중복 탐색, 최장 반복 문자열 분석필요성Suffix Array 단독으로는 접미사 간 유사성 판단이 어려움LCP Array는 문자열 구조를 더 깊이 이해하고 빠르게 비교하기 위해 필..

Topic 2025.05.03

Suffix Array

개요Suffix Array는 문자열의 모든 접미사(suffix)를 사전 순으로 정렬한 후, 해당 접미사들의 시작 위치를 배열로 저장한 자료구조입니다. 주로 문자열 검색, 패턴 매칭, 중복 탐색, 데이터 압축 분야에서 활용되며, Suffix Tree에 비해 메모리 사용이 적고 구현이 간단해 실용성이 뛰어납니다.1. 개념 및 정의 항목 내용 정의문자열의 모든 접미사를 정렬하고 그 시작 인덱스를 저장하는 배열 자료구조목적빠르고 효율적인 문자열 검색 및 패턴 매칭 지원필요성대용량 문자열 데이터 처리 시 빠른 탐색 및 비교 성능 확보Suffix Array는 Suffix Tree보다 구현이 쉽고 메모리 소모가 적어 대규모 데이터 처리에 적합합니다.2. 특징항목Suffix Array의 특징유사 개념 비교메모리 효율..

Topic 2025.05.03

소스코딩(Source Coding) vs 채널코딩(Channel Coding)

개요디지털 통신 시스템에서 데이터 전송의 효율성과 신뢰성을 확보하기 위해 **소스코딩(Source Coding)**과 **채널코딩(Channel Coding)**이 사용된다. 소스코딩은 데이터 압축을 통해 전송 효율을 극대화하는 기법, 채널코딩은 전송 중 발생하는 오류를 검출하고 정정하는 기법이다. 본 글에서는 소스코딩과 채널코딩의 개념, 차이점, 주요 기법 및 실제 활용 사례를 비교 분석한다.1. 소스코딩(Source Coding)이란?소스코딩은 데이터의 중복성을 줄여 전송 또는 저장을 위한 비트 수를 최소화하는 기법으로, 데이터 압축(Compression)이라고도 한다. 이는 정보의 손실 여부에 따라 **무손실 압축(Lossless Compression)**과 **손실 압축(Lossy Compress..

Topic 2025.03.19

Autoencoder

개요오토인코더(Autoencoder)는 비지도 학습(Unsupervised Learning) 기반의 신경망으로, 데이터의 특징을 학습하여 저차원 표현을 생성하거나 입력 데이터를 복원하는 데 사용됩니다. 주로 차원 축소(Dimensionality Reduction), 이상 탐지(Anomaly Detection), 생성 모델(Generative Model) 등의 다양한 응용 분야에서 활용됩니다. 본 글에서는 오토인코더의 개념, 구조, 주요 활용 사례 및 장단점을 살펴봅니다.1. 오토인코더란?오토인코더는 입력 데이터를 저차원 잠재 공간(Latent Space)으로 압축한 후, 이를 다시 원본 데이터로 복원하는 신경망 모델입니다. 인코더(Encoder)와 디코더(Decoder)라는 두 개의 주요 구성 요소로 이..

Topic 2025.03.08

VAE(Variational AutoEncoder)

개요VAE(Variational AutoEncoder, 변분 오토인코더)는 확률적 생성 모델 중 하나로, 데이터의 잠재 표현(latent representation)을 학습하여 새로운 데이터를 생성하는 신경망 모델입니다. VAE는 이미지 생성, 데이터 압축, 이상 탐지, 차원 축소 등 다양한 응용 분야에서 활용됩니다. 본 글에서는 VAE의 개념, 주요 기술 요소, 장점, 활용 사례 및 도입 시 고려사항을 살펴봅니다.1. VAE란 무엇인가?VAE는 오토인코더(AutoEncoder)의 변형된 형태로, 데이터의 확률 분포를 학습하여 새로운 데이터를 생성할 수 있는 모델입니다. 인코더(Encoder)와 디코더(Decoder) 구조를 가지며, 잠재 공간(latent space)에서 확률적 샘플링을 수행하는 것이 ..

Topic 2025.03.07
728x90
반응형