상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
1억대출이자, 보증인 필요성에 대해.
1억대출이자, 직접적인 상환 금액 계산 법은?
키오스크와 연결된 IoT 기술의 활용 방안은 어떤 것이 있나요?
키오스크용으로 설계된 특수 하드웨어는 어떤 것이 있나요?
스마트하게 식욕억제하는 7가지 방법
영어작문에서 비판적인 사고를 어떻게 표현할 수 있나요?
"빅데이터 활용에 대한 6가지 진실, 반드시 알고 시작하자"
"미래를 준비하는 당신을 위한 빅데이터 활용의 7가지 이유"
"정확한 예측을 위한 빅데이터 활용 9가지 방법"
해킹방법: 실습을 통해 배우는 9가지 스킬
유산균이 임신 중에 필요한 이유는?
음성인식AI가 교육 분야에 미치는 영향은?
Previous
Next
수정하기 - 머신러닝알고리즘: Time Complexity와 Space Complexity의 의미는?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
머신러닝 알고리즘을 설계하거나 적용할 때, 시간 복잡도(Time Complexity)와 공간 복잡도(Space Complexity)는 그 알고리즘이 얼마나 효율적으로 학습하고 예측할 수 있는지를 평가하는 핵심 지표입니다. 두 개념 모두 입력 데이터의 크기나 알고리즘 내부 구성(예: <a href='https://sangseek.com/sangseeks/피처/ko'>피처</a> 차원, 반복 횟수, 모델 파라미터 수 등)에 따라 자원(시간·메모리)이 얼마나 더 필요해지는지를 설명해 주지만, 각각 중점을 두는 자원 종류가 다릅니다. 아래에서 두 개념을 차례로 살펴보겠습니다. 1. 시간 복잡도(Time Complexity) 시간 복잡도는 주어진 입력 크기 n에 대해 알고리즘이 실행을 완료하는 데 걸리는 연산 횟수 또는 시간을 수학적으로 표현한 것입니다. 보통 “빅오 표기법(Big‐O notation)”으로 O(n), O(n²), O(n log n) 등으로 나타냅니다. • 입력이 늘어날수록 알고리즘이 얼마나 더 많은 시간이 필요한지 예측하게 해주므로, 대규모 데이터 처리 시 성능 병목을 진단하고 하드웨어나 분산처리 도입을 결정하는 데 필수적입니다. • 머신러닝 관점에서는 크게 두 단계로 나눠 볼 수 있습니다. – 학습(Training) 단계: 예를 들어 선형 회귀를 <a href='https://sangseek.com/sangseeks/해석적/ko'>해석적</a>으로 풀 때는 데이터 포인트 수 N과 특징 수 d에 대략 O(N d²) 정도의 시간이 들 수 있고, 경사하강법 기반 최적화는 반복 횟수 T를 추가로 곱해 O(T N d) 정도가 될 수 있습니다. – 예측(Inference) 단계: 학습된 모델이 새로운 데이터에 대해 예측을 수행하는 데 드는 시간으로, 일반적으로 단일 데이터 포인트당 O(d)에서 시작하여 트리 기반 모델은 트리의 깊이(depth)에 비례해 O(depth), 신경망은 레이어 수·뉴런 수에 비례하는 연산량이 필요합니다. • 실제 환경에서는 하드웨어 특성(병렬 연산 가능 여부, 메모리 대역폭 등)과 구현 방식(배치 처리, 라이브러리 최적화)에 따라 이론적 시간 복잡도와 실제 소요 시간 사이에 차이가 존재합니다. 2. 공간 복잡도(Space Complexity) 공간 복잡도는 알고리즘이 동작하면서 필요로 하는 메모리(주로 RAM) 사용량을 나타냅니다. 입력 데이터 크기뿐 아니라 알고리즘이 중간에 생성하는 자료구조(행렬, 그래프, 히스토그램 등)와 최종 모델 파라미터 저장에 필요한 용량까지 모두 포함합니다. • 예를 들어, 확률적 경사하강법(SGD)은 배치 크기 b만큼의 데이터를 한 번에 읽고 처리하므로 O(b d)의 추가 메모리를 요구하고, 배치 크기를 크게 잡으면 학습 속도는 빨라지지만 메모리 사용량도 증가합니다. • 딥러닝에서는 순전파(forward pass)에 필요한 활성화 값(activation)과 역전파(backward pass)를 위한 그래디언트(gradient)를 모두 보관해야 하므로 레이어 수 L, 채널 수 c, 입력 차원에 따라 메모리 사용량이 곱셈적으로 늘어납니다. • 또 K-최근접이웃(KNN)처럼 학습 단계에서는 별다른 모델 파라미터를 만들지 않지만, 예측 시 모든 훈련 데이터를 메모리에 유지해야 하므로 입력 크기 N과 차원 d를 고려해 O(N d)의 공간이 요구됩니다. 3. 두 지표의 상호작용과 실제 활용 머신러닝 알고리즘을 고를 때는 시간·공간 복잡도를 함께 고려해야 합니다. 예를 들어 데이터가 기하급수적으로 늘어날 것으로 예상된다면, 희소성(sparsity)을 활용한 희소 행렬 연산, 하이퍼파라미터(예: 트리 깊이, 은닉층 너비) 축소, 배치 처리 크기 조절, 또는 근사 알고리즘(예: 랜덤 프로젝션, 미니배치 K-평균) 등을 통해 두 복잡도를 모두 낮추는 방법을 강구해야 합니다. 또한 모델이 경량화된 임베디드 기기나 모바일에서 실시간 추론을 수행해야 한다면, 학습 단계의 복잡도보다 오히려 추론 단계의 시간·공간 복잡도를 더 엄격히 제한하게 됩니다. 반면, 데이터센터 환경에서는 충분한 메모리와 병렬 컴퓨팅 리소스를 이용해 학습 복잡도를 감당하되, 추론 속도를 높이기 위해 모델 압축(model pruning), 지식 증류(knowledge distillation) 같은 기법을 적용하기도 합니다. 결국 시간 복잡도와 공간 복잡도는 머신러닝 알고리즘이 “어떠한 규모의 데이터”를 “어떤 환경”에서 “얼마나 빠르고 가볍게” 학습·추론할 수 있는지를 판단하는 지표입니다. 이를 정확히 이해하고 측정해야만, 현실 세계의 제약 아래에서 최적의 모델과 학습 전략을 선택하여 성능과 효율 사이의 균형을 맞출 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기