Langchain이란 여러개의 모델을 하나로 연결하는 것을 의미한다. 일반적으로 LLM (Large Language Model)이 정보검색을 통해 텍스트 생성을 하는 것을 RAG라고 한다.텍스트 생성은 LLM 이 직접 하기 때문에,우리는 정보검색 부분을 구현해줘야 모델이 실시간으로 이해할 수 있게 된다. 하지만 과연 우리가 실제로 사용하는 실생활 언어를 컴퓨터가 이해할 수 있을까?컴퓨터는 1과 0의 숫자로 구성된 정보만 이해할 수 있다. (이해하기 쉽게 이진으로 정의) 따라서 LLM은 벡터 데이터베이스라는 것을 사용한다.일반적인 데이터베이스와 달리, 1과 0으로 이루어진 (이진형태) 벡터를 저장하는 저장소이다. 그렇다면, 우리가 사용하는 언어를 컴퓨터로 하여금 이해할 수 있도록 하기 위해선 무엇이 필요..
FastText는 Facebook AI Research(Facebook AI Research)에서 개발한 단어 임베딩(embedding) 모델이다. Word2Vec의 후속 격인 이 모델은 기존의 한계를 개선하고 좀 더 높은 성능과 빠른 학습 속도를 제공하기 위해 만들어졌다.이 글에서는 FastText의 주요 알고리즘과 Word2Vec과의 차이점, 그리고 그 개선된 부분에 대해 자세히 알아보고 언제 사용하는 것이 적합한지 설명하고자 한다. FastText의 주요 알고리즘FastText의 핵심 아이디어는 단어를 개별 단위로 보는 것이 아니라 여러 개의 문자 단위, 즉 n-gram으로 쪼개어 처리하는 것이다. Word2Vec 모델은 단어 자체를 벡터로 변환하기 때문에학습 데이터에 없는 단어(즉, 미학습 단어)..
머신러닝 프로젝트의 성공적 수행을 위해서는 데이터 수집, 전처리, 모델 학습, 평가, 배포에 이르는 모든 단계의 워크플로우를 효율적으로 관리하는 것이 필수적이다. 이러한 과정에서 데이터 파이프라인을 효과적으로 설계하는 것이 프로젝트의 성공과 실패를 결정짓는 핵심 요소가 된다.본 글에서는 머신러닝 프로젝트의 전 과정을 효율적으로 설계하기 위한 데이터 파이프라인의 각 단계에 대해 알아보고자 한다.데이터 파이프라인이란?데이터 파이프라인은 원시 데이터를 모델 학습에 적합한 형태로 준비하고, 이를 통해 최종적으로 예측을 수행하거나 배포하는 일련의 작업 흐름을 자동화한 구조를 의미한다.파이프라인은 데이터 수집, 전처리, 특징 추출, 모델 학습, 평가, 배포 등 여러 단계를 체계적으로 연결하여 반복 가능한 프로세스를..
자연어 처리는 인공지능과 기계학습 분야에서 중요한 영역이다. 특히, 텍스트 데이터를 벡터로 변환하는 임베딩(Embedding) 기법은 필수적이다. 인공지능 모델은 흔히 자연어라고 불리는 사람의 언어를 이해할 수 없기 때문에, 이를 컴퓨터의 언어로 변환해서 Mapping해줘야 하기 때문이다. 이 때, 인간의 언어를 숫자로 구성된 컴퓨터의 언어로 변환해주는 것을 임베딩이라고 이해하고 넘어가자여기서 Word2Vec은 가장 유명하고 널리 사용되는 임베딩 알고리즘 중 하나로, 오늘은 Word2Vec에 대해서 자세히 알아보고자 한다.Word2Vec의 역할Word2Vec은 단어를 고차원 벡터로 변환하는 모델이다. 단순히 단어에 번호를 매기는 것만으로는 그 의미를 효과적으로 표현할 수 없기 때문에, Word2Vec은 ..
Gini 계수와 엔트로피는 기계 학습, 특히 의사결정나무(Decision Tree) 알고리즘에서 분할 기준으로 사용되는 두 가지 중요한 척도입니다. 이 두 척도는 데이터의 불확실성을 정량화하여 모델이 최적의 분할을 선택할 수 있도록 돕습니다. 이번 글에서는 Gini 계수와 엔트로피를 수식 중심으로 심도 있게 분석하고, 이들이 어떻게 작동하는지 설명하겠습니다.Gini 계수란?Gini 계수(Gini Index)는 데이터의 혼합 정도, 즉 불순도(Impurity)를 정량화하는 지표로 정의됩니다. Gini 계수는 다음과 같은 수식으로 표현됩니다:Gini(D) = 1 - ∑i=1C pi2여기서:D: 현재 데이터 집합C: 클래스의 수pi: 클래스 i에 속하는 샘플의 비율Gini 계수는 0에서 0.5 사이의 값을 가..
결정 트리와 랜덤 포레스트: 개념과 코드 구현이번 글에서는 머신러닝에서 자주 사용되는 결정 트리(Decision Tree)와 랜덤 포레스트(Random Forest)에 대해 다룬다.이 두 모델은 이해하기 쉽고 효과적이며, 데이터 분석에서 자주 활용되는 알고리즘이다.여기서는 결정 트리와 랜덤 포레스트의 코드를 단계별로 설명하고, 각 파라미터의 의미를 파악하면서 실제 데이터에 적용해보는 과정을 살펴본다.1. 결정 트리 코드 설명 및 파라미터결정트리는, 데이터를 특정한 기준으로 나눠서 분류하는 것을 의미한다.이 때, 모델은 나누는 기준을 학습하고 이를 실제로 적용한다.위와 같이 실제 자료구조 중, 트리의 형태를 갖고 있으며, 각 단계를 내려가면서 데이터의 값을 보고 분류를 한다.먼저 DecisionTreeCl..