딥러닝) 챗봇, RAG, 로컬 AI, Ollama
·
Python/딥러닝
딥러닝에서 챗봇의 발전1. 챗봇이란?사용자의 자연어 질문을 분석하여 응답을 생성하는 프로그램이다. 규칙기반 - 검색기반 - 생성기반 - 지능형 에이전트 순서로 발전했다.챗봇은 초기(규칙/검색기반)에는 입력문–패턴–매칭–출력문 구조로 동작했으며, 이후 생성 기반과 지능형 에이전트로 발전하면서 내부 처리 방식이 고도화되었다.챗봇은 사용자의 입력을 받아 답변을 하는데아래와 같이 4개 순서대로 발전했다.규칙기반 챗봇 : 미리 정해진 패턴에만 반응하여 조금이라도 달라져도 실패검색기반 챗봇 : 가장 유사한 문서나 문장을 찾아서 그대로 반환생성기반 챗봇 : 새로운 문장을 직접 생성해서 반환지능형 에이전트 챗봇 : 문장 생성과 더불어 실제 행동을 수행 정해진 답변만을 해야 하는 사내 FAQ에는 검색기반 챗봇이 적합하며..
머신러닝 개념 정리) 나이브 베이즈
·
Python/머신러닝
나이브 베이즈란?나이브 베이즈(Naive Bayes)는 베이즈 정리를 기반으로 한 확률 분류기다.Naive는 순진한 이라는 뜻인데, 데이터가 서로 독립적이라는 가정을 하기 때문이다.이메일에서 스팸 메일을 찾아내거나,뉴스 분류, 실시간 감정 분석 등 빠른 처리가 요구되는 분야에서 널리 활용된다.베이즈정리란?베이즈 정리(Bayes' Theorem)는 토머스 베이즈라는 영국의 수학자가 제시한 조건부 확률에 관한 수학적 정리를 뜻한다.즉 사건 A가 발생했다고 가정했을 때, 그 조건에서 B가 일어날 가능성을 계산하는 수식이다. 상황 가정 ) 메일에 '무료'라는 단어가 포함될 때, 그 메일이 스팸일 확률을 계산한다면?사건 A = 메일에 '무료'라는 특정 단어가 포함된다.사건 B = 메일이 스팸메일이다.이때 베이즈 ..
머신러닝 개념 정리) 랜덤 포레스트, 유의 확률, 카이제곱 통계량, F 통계량
·
Python/머신러닝
랜덤 포레스트란?랜덤 포레스트는 무작위(Random)와 숲(Tree) 개념이 결합된 앙상블 학습 모델이다.이때 앙상블은 여러 개의 개별 모델을 결합하여 더 강한 예측 모델을 만드는 방법이다.여기서는 다수의 결정트리를 학습시켜 결과를 합쳤다.이때 각 트리에 무작위의 샘플과 무작위의 특징을 부여한다. 다시 말해, 전체 데이터에서 무작위로 샘플을 추출하고 각 트리를 학습할 때마다 전체 특징 중 일부만 선택하여사용한다. 또한 트리의 각 노드를 분리할 때는 모든 독립 변수를 비교하지 않고비교할 변수를 무작위로 고른다.이러한 무작위성이 각 트리들의 다양성을 확보하여 과적합을 줄여주기에 새로운 데이터가 들어왔을 때,데이터의 노이즈나 이상치에 강하며 다양한 문제 상황에서도 일관된 성능을 보이는 장점이 있다. 하지만 이..
머신러닝 개념 정리) 결정 트리, 엔트로피 지수, 지니 지수, CART 알고리즘
·
Python/머신러닝
결정 트리란?트리 구조를 기반으로 데이터 안에 숨어있는 패턴을 속성들의 조합으로 표현하는 분류 모델이다.각 분기점에서 하나의 질문을 던지고, 대답에 따라 데이터들을 분류한다. 분류된 데이터에 다시 또 다른 질문을 하여 데이터를 세분화한다. 반복하여 최종 값을 얻을 수 있다. 결정 트리는 노드, 가지, 깊이로 구성된다.노드는 데이터를 분류하기 위한 질문 지점이자 하나의 결정 단위로 작용하며 박스같은 도형형태로 표시된다. 각 노드는 주어진 조건(질문)에 따라 데이터를 두 그룹으로 나누는 과정을 반복하여 데이터를 세분화한다.가지는 한 노드에서 다음 노드로 이어지는 경로를 의미하며, 선으로 표시된다. 데이터가 어떻게 분리되는지 시각적으로 보여준다.깊이는 루트 노드부터 리프 노드까지 거치는 분할 단계의 수를 의미..
머신러닝 개념 정리) 서포트벡터 머신, 커널 트릭
·
Python/머신러닝
서포트벡터 머신이란?서포트벡터 머신, SVM은 데이터의 경계를 가장 명확하게 정의하는 기법이다.차원이 하나 낮은 공간에 설정된 경계선인 초평면을 찾아내는 것을 목표로 한다.SVM은 벡터를 활용해 데이터의 본질적인 경계를 찾아낸다.초평면이란?초평면은 데이터를 분리하기 위해 차원이 하나 낮은 공간에 설정된 결정 경계선이다.w는 가중치 벡터이고, T는 전치를 의미하며 초평면의 방향을 결정하는 역할을 한다.계산은 가중치 벡터(w)와 입력 벡터(x)의 내적에 절편을 더한 값이 0이 되는 점들의 집합을 의미한다.ex) w = ( 1 2 ) x = ( 2 -1.5 )이고 b는 1일 때wᵀx + b = 1*2 + 2*(-1.5) + 1 = 0으로 계산된다. 서포트벡터란?SVM에서 서포트벡터는..
머신러닝 개념 정리) K-최근접 이웃, 유클리드 거리, 맨해튼 거리, 체비쇼프 거리, 민코스프키 거리
·
Python/머신러닝
K-최근접 이웃이란?K-Nearest Neighbors, KNN은 데이터의 형식을 제한하지 않고, 데이터의 분포 자체로부터 학습하는 비모수모델이다.비모수란?非(비) → 아닐 비 → “~이 아니다”, “부정”母(모) → 어미 모 / 근본 모 → 여기서 모(母)는 ‘기준, 근본, 중요한 축’→ 통계학에서는 모수(parameter)의 “모(母)”를 뜻함數(수) → 셈 수, 숫자‘모수(母數)를 사용하지 않는다’라는 뜻이다.비모수 모델은 정해진 수(파라미터)를 전제로 하지 않으며,모델의 형태(선형, 비선형 등)를 미리 가정하지 않고,데이터의 분포(정규분포 등)를 특정 모양으로 정해두지 않는다. 따라서 데이터 자체로 예측하는 방식이 된다. 참고로 비모수라고 해서 들어온 데이터를 전처리 하지 않는다는 것은 아니다.단..