반응형

전체 글 132

[알고리즘] 랜덤 포레스트 Random Forest 개념 정리

랜덤 포레스트 Random Forest 개념 정리들어가며랜덤 포레스트(Random Forest)는 여러 개의 의사결정나무를 동시에 학습시켜 그 결과를 종합하는 앙상블(Ensemble) 알고리즘입니다. 의사결정나무 하나는 데이터에 과적합되기 쉬운 단점이 있습니다. 이를 보완하기 위해 등장한 방법이 랜덤 포레스트입니다. 나무 한 그루보다 숲 전체가 더 안정적인 판단을 내리는 것처럼, 수십~수백 개의 트리를 조합하여 더 정확하고 견고한 예측을 만들어 냅니다. 이 글에서는 랜덤 포레스트의 핵심 개념인 배깅(Bagging)과 특성 무작위 선택(Feature Randomness)을 중심으로 동작 원리를 설명하고, 파이썬 구현 예제를 소개합니다.배깅-랜덤 포레스트의 핵심 아이디어랜덤 포레스트의 동작 과정특성 중요도파..

이론 2026.08.05

[알고리즘] 주성분 분석 PCA - 개념 정리

주성분 분석 PCA - 개념 정리들어가며PCA(Principal Component Analysis, 주성분 분석)는 고차원 데이터를 더 낮은 차원으로 압축하는 차원 축소(Dimensionality Reduction) 기법입니다. 데이터의 핵심 정보는 최대한 보존하면서, 변수의 수를 줄이는 것이 목적입니다.예를 들어, 학생 100명의 시험 성적 데이터가 수학, 물리, 화학, 영어, 국어 5개 과목으로 구성되어 있다고 가정하겠습니다. 그런데 수학과 물리 성적은 서로 높은 상관관계를 가집니다.PCA는 이처럼 서로 관련 있는 변수들을 묶어 더 적은 수의 새로운 변수(주성분)로 표현합니다.결과적으로 5개의 과목 점수 대신, "이과 계열 역량"과 "문과 계열 역량" 같은 2개의 주성분으로 데이터를 요약할 수 있습니..

이론 2026.07.29

[알고리즘] 라쏘 회귀 - Lasso Regression 개념 정리

라쏘 회귀 - Lasso Regression 개념 정리들어가며라쏘 회귀(Lasso Regression)는 선형 회귀에 규제(Regularization)를 추가한 알고리즘입니다. 규제란, 모델이 학습 데이터에 지나치게 맞춰지는 과적합(Overfitting)을 방지하기 위해 손실 함수에 패널티 항을 추가하는 기법입니다.라쏘 회귀의 가장 큰 특징은 일부 특성의 계수를 정확히 0으로 만든다는 점입니다. 즉, 예측에 불필요한 변수를 자동으로 제거하는 변수 선택(Feature Selection) 기능을 내장하고 있습니다.예를 들어, 집값을 예측하는 모델에 '방 개수', '위치', '건축 연도', '반려동물 허용 여부' 등 수십 개의 특성이 있다고 가정하겠습니다. 라쏘 회귀는 이 중 집값에 실질적인 영향을 미치지 않..

이론 2026.07.23

[파이썬] YAML 설정 파일로 ML 실험 관리하기 - pyyaml 기본 패턴

YAML 설정 파일로 ML 실험 관리하기 - pyyaml 기본 패턴들어가며머신러닝 프로젝트를 진행하다 보면 학습률, 배치 사이즈, Epoch 수 등 수많은 하이퍼파라미터를 반복적으로 수정하게 됩니다. 이 값들을 파이썬 코드 안에 직접 작성하면, 실험할 때마다 코드를 열고 수정해야 하는 문제가 생깁니다.예를 들어, 학습률 0.001로 실험한 뒤 0.01로 바꿔보고 싶다면 어떻게 할까요? 코드를 직접 수정하면 이전 값을 기록해두지 않는 이상 어떤 조건에서 어떤 결과가 나왔는지 추적하기 어렵습니다.YAML 파일을 활용하면 설정값을 코드와 분리하여 관리할 수 있습니다. 코드는 건드리지 않고 YAML 파일만 수정하는 것으로 실험 환경을 전환할 수 있으며, 파일별로 버전을 관리하면 실험 조건 추적도 용이합니다.이 ..

Python 2026.07.16

[알고리즘] 의사결정나무 Decision Tree - 개념 정리

의사결정나무 Decision Tree - 개념 정리들어가며의사결정나무(Decision Tree)는 머신러닝에서 가장 직관적으로 이해하기 쉬운 알고리즘 중 하나입니다. 이름 그대로 나무(Tree) 구조를 활용하여 데이터를 분류하거나 수치를 예측합니다.예를 들어, "오늘 우산을 들고 나갈까?"라는 질문에 답하는 과정을 생각해 보겠습니다."오늘 비 예보가 있나요?" → 있다 → 우산 챙기기"오늘 비 예보가 있나요?" → 없다 → "구름이 많이 낀 날씨인가요?" → 아니다 → 우산 불필요이처럼 질문을 단계적으로 던지면서 최종 결론에 도달하는 구조가 바로 의사결정나무입니다.의사결정나무의 구성요소분할 기준 - 불순도란?의사결정나무 예제파이썬을 활용한 의사결정나무장점과 한계점의사결정나무의 구성 요소의사결정나무는 다음..

이론 2026.07.07

[이론] CVRP, Capacitated Vehicle Routing Problem - 기초 개념 정리

CVRP, Capacitated Vehicle Routing Problem - 기초 개념 정리CVRP란?CVRP는 Capacitated Vehicle Routing Problem의 약자로, 여러 대의 차량이 하나의 창고(Depot)에서 출발해 모든 고객을 방문하고, 다시 창고로 돌아올 때 총 이동 거리(또는 비용)를 최소화하는 문제입니다.TSP와의 가장 큰 차이는 두 가지입니다.차량이 여러 대입니다. TSP는 한 사람(차량)이 모든 도시를 방문하지만, CVRP는 여러 차량이 고객을 나눠서 방문합니다.차량마다 적재 용량(Capacity) 제한이 있습니다. 각 차량이 한 번에 운반할 수 있는 화물의 양이 정해져 있으며, 이 한도를 넘길 수 없습니다.예를 들어, 택배 회사에서 여러 대의 배송 차량이 물류 창고..

이론 2026.06.29

[개발] gRPC 기초 - 개념 이해와 Python 서버-클라이언트 실습

[개발] gRPC 기초 - 개념 이해와 Python 서버-클라이언트 실습들어가며소프트웨어 서비스는 대부분 여러 개의 서버가 서로 통신하며 동작합니다. 예를 들어 하나의 앱 안에도 사용자 인증을 담당하는 서버, 데이터를 저장하는 서버, 알림을 보내는 서버가 각각 존재할 수 있습니다. 이처럼 서버가 많아질수록 서버 간 통신을 어떤 방식으로 설계하느냐가 중요한 문제입니다.현재 가장 널리 사용되는 방식은 REST API와 JSON입니다. 직관적이고 사용하기 쉬워 많은 서비스에서 채택하고 있지만, 대규모 시스템에서는 성능이나 유지보수 측면에서 한계가 드러나기도 합니다. 이러한 한계를 보완하기 위해 등장한 방식 중 하나가 gRPC입니다.이 글에서는 gRPC가 무엇인지, 기존 REST + JSON 방식과 어떤 차이가..

개발 2026.05.18

[PyTorch] CPU vs GPU - CUDA 설치부터 학습 속도 비교까지

[PyTorch] CPU vs GPU - CUDA 설치부터 학습 속도 비교까지 들어가며컴퓨터에는 CPU와 GPU 두 가지 핵심 연산 장치가 있습니다.CPU는 복잡한 논리 연산을 순차적으로 처리하는 데 최적화된 범용 프로세서이고, GPU는 원래 그래픽 렌더링을 위해 설계되었지만, 수천 개의 코어를 이용해 단순한 연산을 동시에 대량으로 처리할 수 있다는 특성 덕분에 딥러닝과 데이터 처리 분야에서도 널리 활용되고 있습니다. 특히 딥러닝 모델 학습은 행렬 곱셈과 같은 단순 연산을 수없이 반복하는 작업입니다. 이는 GPU의 병렬 처리 구조와 잘 맞아 동일한 작업을 CPU로 처리할 때보다 수 배에서 수십 배 빠른 속도를 기대할 수 있습니다.이 글에서는 내 PC의 GPU 사양 확인부터 GPU를 실제 사용하기 위한 P..

Python 2026.05.03

[파이썬] TSP Traveling Salesman Problem 문제 해결 - ‘완전 탐색’ 구현

TSP Traveling Salesman Problem 문제 해결 - ‘완전 탐색’ 구현들어가며TSP는 Traveling Salesman Problem의 약자로, 흔히 외판원 문제로 잘 알려져 있습니다. 여러 도시를 각각 한 번씩만 방문하고, 출발했던 도시로 돌아올 때 총 이동 거리가 가장 짧은 경로를 찾는 문제입니다.TSP에 대한 간단한 기초 개념은 다음 글을 참고해 주세요:) [이론] TSP Traveling Salesman Problem - 기초 개념 정리TSP Traveling Salesman Problem - 기초 개념 정리TSP란? TSP는 Traveling Salesman Problem의 약자로, 흔히 외판원 문제로 잘 알려져 있습니다. 여러 도시를 각각 한 번씩만 방문하고, 출발했던 도시로..

Python 2026.04.21

[이론] TSP Traveling Salesman Problem - 기초 개념 정리

TSP Traveling Salesman Problem - 기초 개념 정리TSP란? TSP는 Traveling Salesman Problem의 약자로, 흔히 외판원 문제로 잘 알려져 있습니다. 여러 도시를 각각 한 번씩만 방문하고, 출발했던 도시로 돌아올 때 총 이동 거리가 가장 짧은 경로를 찾는 문제입니다.TSP는 물류, 배송 경로 최적화, 반도체 회로 설계 등 실생활의 다양한 분야에서 활용됩니다. 예를 들어, 택배 기사가 여러 집을 모두 방문하고 다시 출발지로 돌아올 때 가장 짧은 경로로 배달하는 상황을 생각해 볼 수 있습니다.단순해 보이지만, 도시 수가 늘어날수록 가능한 경로의 수가 폭발적으로 증가하기 때문에 최적해를 찾는 것이 매우 어려운 문제로 알려져 있습니다. 이러한 특성 때문에 TSP는 컴퓨..

이론 2026.04.06
반응형