목록전체 글 (108)
짜리몽땅 매거진
아이디어 요약PortGen은 AI 기반 투자 포트폴리오 분석 및 리밸런싱 조언 생성기 서비스로, 국내 및 미국 주식 투자 포트폴리오를 보유한 고객을 대상으로 위험 대비 수익률을 높이는 새로운 투자 전략을 제안하는 서비스이다. 서비스 명칭은 포트폴리오(Portfolio) + 생성기(Generator)의 합성어로, 해당 서비스는 아래와 같은 3가지의 큰 특징을 기반으로 한다.주식 투자 포트폴리오를 보유한 고객 대상 : 취미 혹은 본업으로 주식 투자를 하며포트폴리오를 보유한 금융 고객 대상포트폴리오 분석 : 포트폴리오 최적화 기법을 바탕으로 고객의 투자 종목 내에서 새로운 투자 비중을 제안AI 기반 투자 전략 제안 : 개선된 투자 비중과 예상 수익률, 새로운 전략 등을 AI 요약으로 고객에게 전달위 서비스가 ..
지난번 LangChain의 단일 LLM 호출 구조와 LLMChain에 대해 알아보았다. LangChain의 Agent 구조와 역할에 대해 알아보자.Agent 구조와 용어1) tool- 정의 - 에이전트(LLM)가 사용할 수 있도록 노출된 하나의 기능 단위. - 예: 검색, 계산기, DB 질의, 파일 요약기 등- 구성 요소 - name : 도구 이름 (LLM이 호출할 때 사용) - description : 언제/왜 쓰는지 설명 (LLM이 선택 판단하는 힌트) - args_schema : 입력 형식 (pydantic 모델 → JSON 스키마로 강제) - invoke() : 실제 동작하는 함수- 비유 → “에이전트가 사용할 수 있는 망치, 드라이버 같은 도구” 2) toolkit- 정의 - 여러 ..
지난번 LangChain의 개념과 주요 컴포넌트 및 PromptTemplate에 대해 알아보았다. 이번에는 프롬프트 단계에서 더 나아가 LangChain의 단일 LLM 호출 체인 구조에 대해 알아보자.단일 LLM 호출 체인(single-call chain)프롬프트 → LLM → 파서(선택)의 직렬 파이프라인을 한 번 실행해 결과를 얻는 가장 기본 구조. 멀티턴/툴호출/상태그래프 없이, 한 번의 모델 호출에 집중한다. - Prompt: 입력 변수를 끼워 넣어 LLM이 이해하기 쉬운 문자열을 만든다.- LLM: 한 번 호출(invoke)로 답변을 생성한다.- Parser(선택): LLM 출력을 문자열/JSON/스키마 등으로 확실한 타입으로 변환한다.실행 흐름은 보통 prompt | llm | parser 형..
대규모 언어모델(LLM)은 많은 사람들이 알고있듯이 질문에 답변하거나 글을 작성하는 데 탁월하다. 하지만 LLM 하나만으로는 한계가 있다.모델은 학습 시점 이후의 정보는 모름 (지식이 고정됨).계산이나 검색 같은 외부 작업을 못 함.긴 대화에서 맥락을 유지하기 어려움.👉 LangChain은 이 한계를 극복하기 위해, LLM을 외부 데이터·도구·메모리와 연결하는 프레임워크로 등장했다. 단순히 모델에 프롬프트를 입력해서 답변을 얻는 것에 그치지 않고, 외부 데이터·API·메모리 등을 결합해 복잡한 애플리케이션을 만들 수 있게 도와주는 도구라고 생각하면 된다. 그래서 LangChain에 대한 개념 이해와 LangChain을 활용해 요즘 많이 뜨고있는 'AI Agent'까지 간단한 실습까지 진행해보려하는데, ..
Chapter 1. 투자 : 배경과 과제1.1 실물자산과 금융자산실물자산: 재화와 용역의 생산에 사용되는 자산 (EX) 토지, 건물 기계- 통합 재무상태표 → 실물자산만 남음- 국내 순자산 = 실물자산의 합계 → 실제 부(순소득)를 창출함금융자산: 실물자산 또는 실물자산에 의해 발생된 소득에 대한 청구권- 개인이 실물자산에 대한 소유권을 행사하는 수단 / 소득 또는 부를 투자자 사이에 분배하는 방법을 규정 1) 주식(Stock)- 주주로써 주주권 행사 가능(보통주), 이사회 소집, 청구권 (Common Stock) = 배당2) 채권(Bond) - Creditor 이 있어 파산시 청구권 있음. (주식은 없음) (EX) 기업이 3년짜리 만기 상품 판매. 100 만원 중 5%이자 ➜ 3년간 매년 5만원 + 액..
이번 실습에서는 이커머스 거래 데이터를 활용하여 커뮤니티 탐지 방법을 사용해 사기 집단을 찾아보자. 온라인 거래에서 발생하는 사기는 종종 조직적으로 이루어지며, 이를 탐지하는 것은 매우 중요하다. 데이터는 Faker 라이브러리를 사용하여 실제 데이터와 유사하게 생성되며, 이 데이터에는 사용자 ID, 거래 시 사용한 IP, 기기 ID, 신용카드 번호, 전화번호 등이 포함된다. 이 데이터를 그래프 형태로 변환하여 분석하기 위해 Networkx 라이브러리를 사용한다. 또한 커뮤니티 탐지 알고리즘으로 사용하는 Louvain 알고리즘은 복잡한 네트워크 내에서 밀접하게 연결된 노드 그룹, 즉 커뮤니티를 찾아내는데 특히 유용하다. 이 알고리즘의 주요 특성은 '모듈성'이다. 모듈성은 네트워크가 얼마나 잘 분할되어 있는..
비지도 학습 방법 중 하나인 오토인코더는 금융 사기 거래 탐지 분야에서도 그 가치를 발휘한다. 오토인코더는 핵심 특징을 유지하면서 데이터를 효과적으로 압축하고 복원하는 방법을 학습한다. 이러한 특성 때문에 오토인코더는 효과적인 차원 축소 도구로 사용되며, 잡음 제거나 이상 탐지 등에도 적용된다. 오토인코더는 본질적으로 고차원 입력의 저차원 표현을 생성하는데 신경망을 사용한다. 주성분 분석과 유사하지만, 비선형 활성화 함수를 사용할 때 주성분 분석의 선형적 제한을 극복한다. 두가지 주요 부분인 인코더와 디코더를 포함하고, 인코더는 주어진 데이터의 압축 표현을 발견하는 역할을 하고, 디코더는 원래의 입력을 재구성하는데 사용된다. 위 원리에 따라 이번 실습에서는 비지도 학습법인 오토인코더를 사용해 잠재적인..
금융 사기 거래 탐지는 끊임없이 진화하는 사기꾼들과의 지능적인 싸움과 같다. 새로운 패턴을 학습하고 대응 방안을 찾는 동안 사기꾼들도 사기 방법을 지속적으로 변화시킨다. 이러한 상황에서는 기존의 접근 방식만으로는 충분하지 않다. 특히 사기 거래의 패턴이 빠르게 변화하고, 레이블링된 데이터가 부족한 상황에서는 더욱 그렇다. 따라서 사기의 새로운 패턴을 빠르게 감지하고 효과적으로 대응할 수 있는 새로운 기술과 방법론을 모색해야 한다. 지난 SMOTE 및 XGBoost 기반 모델에 이어 이번에는 Isolation Forest 기반 신용카드 사기 거래 탐지 모델링 실습을 진행해보자. Isolation Forest 알고리즘에 대한 설명은 지난 포스팅을 참고하자. [Python] 데이터에서의 Outlier 처리데이..