본문 바로가기

Data Science38

특이값 분해 (Singular Value Decomposition, SVD) 특이값 분해는 행렬을 고유 벡터와 고윳값을 기반으로 분해하여 다양한 응용에 활용하는 선형 대수학의 강력한 도구입니다. 수학적 정의특이값 분해는 다음과 같은 형태로 표현됩니다.A : m x n 크기의 임의의 행렬 (정방행렬일 필요 없음)U : m x m 크기의 직교행렬. AA^T의 고유 벡터들로 구성V : n x n 크기의 직교행렬. A^TA의 고유 벡터들로 구성Σ : m x n 크기의 대각행렬로, 대각 원소는 A의 특이값 (Singular Values) SVD 계산 방법행렬 A^TA 와 AA^T의 고윳값과 고유벡터를 계산합니다.Σ: A^TA의 고유값들의 제곱근을 대각선 원소로 하는 대각 행렬을 생성합니다.V: A^TA의 고유벡터들로 구성된 직교행렬U: AA^T의 고유벡터들로 구성된 직교행렬최종적으로 A를.. 2024. 11. 18.
아이겐벡터 (Eigenvector) 아이겐벡터와 아이겐값의 정의아이겐벡터는 "특별한 방향을 가진 화살표"라고 생각할 수 있습니다.수학에서 아이겐벡터는 특정한 변환 (이미지를 회전, 늘리기, 줄이기 등) 후에도 원래 방향이 변하지 않는 특별한 벡터를 말합니다.이때 벡터의 크기를 조정하는 값이 바로 아이겐값이에요.수식으로는 다음과 같이 표현합니다.A : 변환을 나타내는 행렬v : 아이겐벡터 (원래 방향이 변하지 않는 벡터)λ : 아이겐값 (벡터의 크기를 조정하는 값)예제 : 2x2 행렬다음과 같은 행렬 A가 있다고 가정해보면, 이 행렬 A가 변환하는 동안 방향이 변하지 않는 벡터 v를 찾아봅니다. Av = λv(A - λI)v = 0 (I : 단위행렬) 벡터 v가 0이 아닌 해를 가지려면 다음의 조건을 성립해야 합니다.det(A - λI) =.. 2024. 11. 17.
RAG (Retrieval-Augmented Generation) RAG는 Retrieval Augmented Generation의 약자로, 검색과 생성을 결합한 자연어 처리 접근 방식입니다.이는 대규모 언어 모델(LLM)과 검색 시스템을 통합하여 높은 정확도와 콘텍스트 의존적 결과를 생성합니다. RAG는 왜 사용하는가?대규모 언어모델(LLM)만을 사용하여 생성하는 방식은 답변의 정확도의 한계가 있어 이를 보완하고 보다 정확하고 신뢰성 높은 결과를 제공하기 위함입니다. 조금 더 구체적으로 이야기해보면,LLM의 지식은 고정적이기 때문에 최신 정보나 특정 도메인 데이터에 대한 답변이 부정확하거나 불가능할 수 있습니다.그리고 LLM 하면 함께 등장했던 환각(hallucination) 문제도 존재하기 때문에,답변 생성을 요청할 때 질문과 관련된 문서들을 포함시켜서 질문하게 되.. 2024. 11. 16.
최소 자승법 (Least Squares Method) 개념최소자승법은 데이터를 가장 잘 설명할 수 있는 직선(또는 곡선)을 찾는 방법입니다. 예를 들어,어떤 가계에서 일주일 동안 하루하루 아이스크림이 몇 개나 팔렸는지 기록이 있다고 생각해 봅시다.이 데이터를 보면 어떤 날은 많이 팔리고, 어떤 날은 조금 팔리고 해서 숫자가 들쭉날쭉 할 텐데요. 이 아이스크림 판매량이전반적으로 증가하는지, 감소하는지, 또는 그냥 비슷하게 유지되는지 알고 싶은 경우최소 자승법을 사용하면 데이터를 가장 잘 설명할 수 있는 "최적의 직선"을 찾을 수 있습니다. 파란색 점은 각 요일의 실제 아이스크림 판매량을 나타내고,빨간색 선은 최소 자승법을 통해 구한 "최적의 직선"입니다.그래서 그래프를 해석하면 아이스크림 판매량이 전반적으로 증가하고 있다고 봐도 될 거 같죠? 세부내용x가 날.. 2024. 11. 15.