AI 11

[ML] 3장. 결정 트리와 k-최근접 이웃

로지스틱 회귀서포트 벡터 머신결정 트리와 k-최근접 이웃 -- 이 글에서 다룰 내용0. 결정 트리결정 트리는 설명하기 쉽고 이해하기 쉬워 인기가 많은 모델이다. 데이터로부터 일련의 질문을 학습하는 모델인데 마치 스무 고개라고 생각할 수 있다. 결정 트리 역시 트리이기 때문에 가장 상단의 질문, 즉 노드는 루트 노드가 되며 아래로 뻗친 노드는 자식 노드가 된다. 자식 노드에서 반대로 위로 뻗으면 부모 노드가 된다. 그리고 자식 노드 없는 노드는 리프 노드가 되는데 여기서는 5개가 있다. 결정 트리는 이 리프 노드에 순수하게 한 종류의 클래스만 남도록 분류를 하는 것이 좋다. 순수노드가 될 때까지 질문을 하는 것을 다른 말로 정보 이득을 최대화한다고 표현한다. 이 트리에서는 날씨 질문에 대해 세 가지의 선택..

AI 2025.10.02

[ML] 3장. 서포트 벡터 머신(SVM)

로지스틱 회귀서포트 벡터 머신 -- 이 글에서 다룰 내용결정 트리, k-최근접 이웃SVM의 최적화 대상은 샘플의 클래스를 나누는 결정 경계와 샘플 간 거리를 최대로 하는 것이다. 즉 마진을 최대화하는 것이다.클래스를 구분하는 결정 경계(초평면)와 가장 가까운 훈련 샘플은 서포트 벡터라고 하며, 마진 안에 어떤 샘플도 없게 하는 마진을 하드 마진 그리고 1-2개 정도의 샘플은 허용하는 마진을 소프트 마진이라고 한다. 클래스는 w^T * x 의 선형계산으로 분류하는데 양성 쪽 초평면은 1, 음성 쪽 초평면은 -1로 두고 계산한다. 따라서 아래와 같이 도출된 식을 정리하면 양성 샘플과 음성 샘플 사이의 거리를 최대화하는 공식이 나온다. 우변을 최대화해야 마진이 최대화되기 때문에 분모의 노름 부분을 최소화하면..

AI 2025.10.01

[ML] 3장. 퍼셉트론 훈련과 로지스틱 회귀

로지스틱 회귀 -- 이 글에서 다룰 내용서포트 벡터 머신결정 트리와 k-최근접 이웃0. 퍼셉트론 훈련train_test_split()을 이용하여 X와 y 배열을 랜덤하게 나눈다. 훈련 데이터와 테스트 데이터 샘플은 0.3, 즉 70:30 비율로 지정했는데 기본값은 0.25라고 한다. stratify=y는 타깃 값인 y를 적어 입력 데이터셋의 훈련 데이터셋과 테스트 데이터셋의 클래스 레이블 비율을 동일하게 만든다는 의미다. from sklearn.model_selection import train_test_spliteX_train, X_test, y_train, y_test = train_test_split( X, y, test_size=0.3, random_state=1, stratify=y) 그리고 이..

AI 2025.09.25

[AI] Google AI Essentials: Coursera Training 회고

나는 AI 사용에 대해 막 호의적인 사람은 아니었다. 정확히 말하면 일상적으로 많이 사용해 왔긴 하지만 프로젝트 때 의견차가 발생하면서 깨닫게 되었다. 최근 프로젝트에서 각자 AI 기능을 맡아 모르는 건 gpt한테 물어보면서 개발하자는 말에 걱정과 불편한 내색을 비추었다. 그랬던 이유는 AI 프로젝트를 한 번도 해본 적이 없고 아는 것도 없는데 방향성도 모르는 내가 과연 혼자서 할 수 있을까에 대한 우려였다. 잘 몰라도 AI가 다 알려주고 구글링을 해 보나, gpt한테 물어보나 어차피 복붙하는 건 같지 않냐는 냉정한 말들 중 ‘복붙’이란 단어에 꽂혀 바로 방어기제와(?), 나는 그런 사람이 아니라는 오만한 감정이 들었다. 할루시네이션을 겪거나 알려준 정보대로 진행하다 이 방법이 내게 맞지 않다는 것을 많..

AI 2025.07.16

[AI] 프롬프트 엔지니어링 - (3) 기본과 심화

[기본1: 이전 내용 복습]간단한 지침으로 작성지침 > 컨텍스트 > 페르소나 > 예제 > 시작 단어지침과 컨텍스트는 필수 작성사용 용도에 따라 추가NLP: 예제, 시작 단어컨텐츠: 페르소나, 시작 단어 [기본2: 부정 표현 최소화하기]부정적인 표현을 사용했을 때보다 명확한 명령문 형태로 프롬프트를 작성두 가지 가설문서의 문장 대부분이 부정어를 사용하지 않기 때문부정적인 표현이 주는 효과보다, 단어 자체가 갖는 영향이 더 크다 (ex. 코끼리를 생각하지 마)부정 표현을 사용하지 말라고 했어도 잘 이행하지 않는 경우가 많다. 그렇기 때문에 부정 표현을 최소화하고 내가 원하는 바를 명료하게 명령문 형태로 전달하는 것이 중요하다. [기본3: 프롬프트의 길이 신경쓰기]길이가 어느 수준을 넘어가게 되면, 지침의 ..

AI 2025.05.25

[AI] 프롬프트 엔지니어링 - (2) Prompt의 구성 요소

작업 지침컨텍스트페르소나 예제시작 단어 및 구문 1. 작업 지침수행해야 하는 작업에 대한 명확하고 간결한 지시프롬프트의 작성 목적(핵심 동사 포함), 작업의 참고 범위, 제약 조건2. 컨텍스트3세대 이상(외부 데이터 활용) 챗봇에서는 필수적인 요소적절한 응답 생성하는 데 아주 큰 도움, 할루시네이션(가짜 정보 생성) 감소도메인 관련 지식/노하우, 용어 정의/설명, 개인화 정보ex. 초등학생이 어려워 하는 단어들은 쉬운 단어로 대체해야 합니다. 어려운 단어: 태환, 통화 등ex. 대미무역: 미국을 대상으로 하는 무역System Message(대화를 나눌 때 지속적으로 봐야하는 데이터, 공통 정) 컨텍스트를 따로 써주는 것을 권장3. 페르소나답변의 어조 및 스타일사용 용도나 활용 분야에 따라 다른 페르소나 ..

AI 2025.05.23

[AI] RAG 활용 챗봇 흐름 및 코드 첨부

전체 흐름은 다음과 같다. ① 문서를 읽는다.② 문장을 적절히 분할한다.③ 분할한 문장을 임베딩한다. (숫자로 변경한다)④ 벡터 DB에 내용을 저장한다. ⑤ 언어모델을 생성한다.⑥ 프롬프트를 작성한다.⑦ 프롬프트에 필요한 답변을 벡터 DB에서 찾는다.⑧ 체인을 실행한다. 이 흐름대로만 실행해야 하는 것은 아니다. 3. RAG우리 회사의 문서(pdf, txt, html)를 기반으로 LLM 모델이 답변할 수 있도록 하는 구조db에 있는 내용을 기반으로도 답변 가능 (쿼리를 날려서)from langchain_community.document_loaders import PyMuPDFLoader loader = PyMuPDFLoader('pdf 이름') docs = loader.load() # pdf 문서를 읽..

AI 2025.04.28

[AI] 랭체인 활용 챗봇 코드 첨부

언어모델을 호출한다. 1. OpenAI OpenAI API 클라이언트를 직접 구성client.chat.completions.create(...) 직접 호출해야 함from openai import OpenAI client = OpenAI( api_key = '발급받은_키', base_url = 'url') chat_completion = client.chat.completions.create( model = 'solar-pro', messages = [ { 'role': 'system', 'content': """당신은 세계에서 가장 친절한 이커머스 분야 CS 대응 전문가입니다. ..

AI 2025.04.28

[ML] 2장. 퍼셉트론과 적응형 선형 뉴런(아달린)

0. MCP 뉴런 모델AI를 설계하기 위해 생물학적 뇌가 동작하는 방식을 이해하고자 했고, 그 결과 맥컬록-피츠(MCP) 뉴런 개념이 등장했다.MCP 뉴런의 특징은 다음과 같다.신경 세포를 이진 출력을 내는 간단한 논리 회로로 표현수상 돌기에 신호가 도착하면 세포체에 합쳐지고, 합쳐진 신호는 특정 임계 값을 넘으면 출력 신호를 생성그리고 이후 MCP 뉴런 모델을 기반으로 퍼셉트론 학습 개념이 등장했다. 1. 퍼셉트론오래된 만큼 유명하고 상징적이며 가장 기본적인 알고리즘이라 할 수 있다.자동으로 최적의 가중치를 학습하는 알고리즘을 제안이 가중치는 뉴런의 출력 신호를 낼지 말지를 결정하기 위해 입력 특성에 곱하는 계수이를 통해 새로운 데이터 포인트가 한 클래스에 속하는지의 여부를 확인할 수 있다인공 뉴런은 ..

AI 2025.03.05

[ML] 1장. 머신러닝 작업 흐름, 데이터 분석 과정

머신러닝 작업 흐름전처리: 데이터 형태 갖추기예측 모델 훈련과 선택모델을 평가하고 본 적 없는 샘플로 예측1. 전처리: 데이터 형태 갖추기데이터 전처리는 모든 머신러닝 애플리케이션에서 가장 중요한 단계 중 하나스케일 조정차원 축소훈련 데이터셋, 테스트셋 분리2. 예측 모델 훈련과 선택공짜 점심 없음: 시행착오를 거쳐야 좋은 모델 확보대표적인 분류 지표: 정확도(accuracy)하이퍼 파라미터: 사람이 미리 지정, 여러 개 바꿔가면서 찾아야교차 검증3. 모델을 평가하고 본 적 없는 샘플로 예측일반화 오차(일반화 성능): 실전 가늠훈련 데이터셋에서 사용한 전처리 파라미터로 테스트 데이터셋/실제 데이터 변화 전체적인 데이터 분석 과정

AI 2025.03.01