분류 전체보기 90

추천 품질 평가 지표 정리 (Offline 중심)

1. Diversity (다양성)정의: 추천 리스트 내 아이템 간의 유사도가 낮을수록 다양성이 높음평가 방식: 오프라인, 아이템 임베딩 간 코사인 유사도 등으로 계산예시 코드:from sklearn.metrics.pairwise import cosine_similarityimport numpy as np# 추천 리스트 내 아이템 임베딩 벡터 (예: 5개 아이템)item_vectors = np.random.rand(5, 100) # 100차원 임베딩# 유사도 행렬sim_matrix = cosine_similarity(item_vectors)# diversity = 1 - 평균 유사도 (자기 자신 제외)avg_sim = (np.sum(sim_matrix) - len(sim_matrix)) / (len(si..

추천시스템 2025.04.23

Online Evaluation

한눈에 보는 요약온라인 평가는 머신러닝 모델·알고리즘을 실제 운영 환경에서 실시간으로 검증하는 방법으로, 오프라인 평가가 제공하지 못하는 사용자 행동·비즈니스 지표를 직접 측정할 수 있다. 주요 기술은 A/B 테스트, 다중 슬롯(멀티-암드) 밴딧, 스트림 창 (window) 기반 측정, 개념 드리프트 탐지이며, 대규모 데이터 스트림 프레임워크(MOA·Flink 등)를 통해 구현된다. 실무에서는 오프라인 지표가 충분히 안정화된 후 온라인 평가를 적용하고, 통계적 유의성·실험 설계·실시간 모니터링으로 품질을 보증한다. (Shaped | Recommendations and Search, Medium, MOA, Optimizely)개요온라인 평가(Online Evaluation)는 실제 트래픽을 투입한 실험적 ..

추천시스템 2025.04.23

추천시스템 성능 지표

개요추천 시스템의 성능을 정량적으로 평가하기 위해 다양한 지표들이 사용됩니다. 이러한 지표들은 추천 결과의 정확도, 사용자 만족도, 비즈니스 목표 달성 여부 등을 측정하는 데 도움을 줍니다. 본 문서에서는 주요 평가 지표들의 정의, 수식, 특징, 그리고 계산 예시를 정리합니다.1. Precision@K정의추천된 상위 K개 아이템 중에서 실제로 사용자가 선호한 아이템의 비율을 측정합니다.수식$\text{Precision@K} = \frac{\text{Number of relevant items in top K}}{K}$특징추천 목록의 정확도를 평가합니다.높은 Precision@K 값은 사용자가 관심 있는 아이템을 상위에 잘 추천했음을 의미합니다.계산 예시추천 목록: [A, B, C, D, E]사용자가 선호..

추천시스템 2025.04.23

Adam Optimizer

개요Adam(Adaptive Moment Estimation) Optimizer는 2014년에 발표된 최적화 알고리즘으로, Momentum과 RMSProp의 장점을 합친 방식입니다. 딥러닝 모델 학습에서 자주 사용되며, 학습률 조정 없이도 안정적이고 빠른 수렴을 기대할 수 있습니다.Adam은 다음의 두 가지 아이디어를 기반으로 합니다.1차 모멘트(평균, momentum)2차 모멘트(분산의 제곱, adaptive learning rate)수식 정리Adam의 주요 업데이트 수식은 다음과 같습니다.초기화: $$m_0 = 0,\quad v_0 = 0,\quad t = 0$$반복 업데이트 (매 step 마다):시간 스텝 증가 $$t \leftarrow t + 1$$그래디언트 계산 $$g_t = \nabla_\..

고전적인 추천 알고리즘

종류인구통계 기반 필터링 : 연령, 나이, 직업과 같은 정보로 추천을 제공한다.인기도 기반 추천 : 인기 상품을 추천한다.지식 기반 추천 : 전문가의 지식이나, 유저의 입력에 기반한 추천한다.규칙 기반 추천 : 사전에 정의된 규칙에 의해 추천을 제공한다.1. 인구 통계 기반 필터링가장 단순한 형태의 피처 기반 필터링으로 볼 수 있으며, 연령, 성별, 직업, 위치 등 인구통계학적 특성이 유사한 사용자는 선호도와 관심사가 비슷할 가능성이 높다고 가정한다.장점: 단순하고, 콜드스타트에 대응할 수 있으며, 해석 가능히다. ( 직관적이다. ) 단점: 개인화되지 않으며, 고정 관념에 기반한 추천이라는 인식을 줄 수 있으며, 민감정보라는 한계가 있다.2. 인기도 기반 추천가장 직관적인 방법으로, 상품의 인기도를 기준..

추천시스템 2025.03.15

추천시스템 소개 및 특성

1. 추천시스템이란?추천시스템(Recommendation System)은 유저와 아이템의 주변 정보 및 상호작용 기록을 바탕으로 유저가 선호할 가능성이 높은 아이템을 예측하여 제공하는 인공지능 서비스입니다. 이는 유저의 의사결정을 돕고, 보다 개인화된 경험을 제공하는 데 목적이 있습니다.2. 추천시스템의 필요성현대의 디지털 환경에서는 방대한 양의 정보가 존재하여, 적절한 정보를 찾는 데 어려움이 따릅니다. 추천시스템은 연관 정보를 필터링(Filter)하여 정보 과부하(Information Overload) 문제를 완화하며, 유저가 원하는 콘텐츠나 상품을 더욱 쉽게 찾을 수 있도록 지원합니다.3. 추천시스템의 활용 분야추천시스템은 다양한 산업에서 활용되며, 특히 아래와 같은 분야에서 핵심적인 역할을 합니다..

추천시스템 2025.03.14

깊이 우선 탐색(DFS) 알고리즘

개요깊이 우선 탐색(Depth-First Search, DFS)은 그래프나 트리 자료구조에서 루트 노드(또는 임의의 시작 노드)에서 시작하여 한 분기(branch)를 최대한 깊게 탐색한 후, 더 이상 깊이 갈 수 없을 때 다른 분기로 이동하여 탐색을 계속하는 방법입니다. 즉, 가능한 한 깊이 내려간 후, 더 이상 내려갈 곳이 없으면 이전 노드로 돌아와 다른 경로를 탐색하는 방식입니다.동작 원리시작 노드를 방문하고, 해당 노드를 방문 처리합니다.현재 노드에 인접한 노드들 중 방문하지 않은 노드가 있다면, 그 노드를 선택하여 재귀적으로 DFS를 수행합니다.방문하지 않은 인접 노드가 없다면, 이전 노드로 돌아갑니다.모든 노드를 방문할 때까지 위 과정을 반복합니다.이러한 과정을 통해 DFS는 한 경로를 따라 최..

Python/알고리즘 2025.03.11

너비 우선 탐색(BFS) 알고리즘

개요너비 우선 탐색(Breadth-First Search, BFS)은 그래프나 트리에서 루트 노드(혹은 다른 임의의 노드)에서 시작하여 인접한 노드를 먼저 탐색하는 방법입니다. 즉, 깊게(deep) 탐색하기 전에 넓게(wide) 탐색하는 방식입니다.동작 원리시작 노드를 방문하고, 해당 노드를 큐(Queue)에 삽입합니다.큐에서 노드를 꺼내어(dequeue) 해당 노드에 인접한 방문하지 않은 모든 노드를 큐에 삽입(enqueue)하고, 방문 처리를 합니다.2번 과정을 큐가 빌(empty) 때까지 반복합니다.이러한 과정을 통해 BFS는 시작 노드로부터 가까운 노드부터 차례대로 탐색하게 됩니다.특징최단 경로 보장: BFS는 가중치가 없는 그래프에서 두 노드 사이의 최단 경로를 보장합니다.구현의 복잡성: BFS..

Python/알고리즘 2025.03.11

SQL DDL (Data Definition Language)

개요SQL에서 DDL (Data Definition Language)은 데이터베이스의 구조(스키마)를 정의하고 변경하는 데 사용되는 명령어들의 집합입니다. 즉, 테이블, 인덱스, 뷰, 스키마 등을 생성, 변경, 삭제하는 역할을 합니다.DDL의 주요 명령어는 다음과 같습니다.CREATE - 데이터베이스 객체(테이블, 뷰, 인덱스 등)를 생성ALTER - 기존 데이터베이스 객체를 수정DROP - 데이터베이스 객체를 삭제TRUNCATE - 테이블의 모든 데이터를 삭제하면서도 구조는 유지각 명령어를 예제와 함께 자세히 살펴보겠습니다.1. CREATE: 테이블 및 객체 생성(1) 테이블 생성CREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT, name VA..

DataBase/SQL 2025.03.10

해시 (Hash) 자료구조 & 문자열 해싱 (String Hashing)

📌 개요해시(Hash)는 키(Key)를 해시 함수(Hash Function)로 변환하여 빠르게 값을 찾는 자료구조입니다.특히 문자열 해싱(String Hashing) 은 문자열을 정수 값으로 변환하여 검색, 비교 연산을 효율적으로 수행하는 방법입니다.✅ 해시의 주요 특징검색, 삽입, 삭제 연산이 평균 O(1)해시 충돌(Collision)을 해결하는 기법 필요문자열 비교 연산을 O(N) → O(1)로 최적화 가능 (문자열 해싱)📌 해시 테이블 (Hash Table)1. 해시 테이블 개념해시 테이블(Hash Table)은 키(Key) → 값(Value) 형태로 데이터를 저장하며, 해시 함수(Hash Function) 를 이용해 데이터를 저장할 위치를 결정합니다.2. Python 딕셔너리(Dictionar..

Python/자료구조 2025.03.10
728x90
반응형