AI&ML 기초
Reference: https://bettermesol.github.io/ml/2019/09/16/ai-ml-dl/AI: 기계가 사람처럼 생각하고 판단하게 만드는 가장 넓은 범주의 기술입니다.ML: 데이터를 학습하여 스스로 규칙을 찾아내는 AI의 한 분야로,

1. AI, ML, DL의 정의 🎯
Reference: https://bettermesol.github.io/ml/2019/09/16/ai-ml-dl/
AI: 기계가 사람처럼 생각하고 판단하게 만드는 가장 넓은 범주의 기술입니다.
ML: 데이터를 학습하여 스스로 규칙을 찾아내는 AI의 한 분야로, 통계적 기법을 주로 사용합니다.
DL: 머신러닝 중에서도 Neural Network 알고리즘을 심층적으로 적용한 기술입니다.
2. 데이터 구성 요소 🎯
Reference: https://ertac.paprat.com/blog/key-ml-concepts-features-labels-models/ Reference: https://youtu.be/YSbMkOiKc2A? Reference: https://developers.google.com/machine-learning/intro-to-ml/supervised?hl=ko
Feature: 모델이 예측에 사용하는 입력 정보입니다.
Label: 모델이 예측하려는 정답입니다.
3. 단일 피쳐 기반 학습 🎯
Reference: https://www.rnfc.org/courses/isl/Lesson%202/Summary/
학습: 입력(Feature)과 출력(Label)의 관계를 찾는 과정입니다.
가설 공간: 관계를 표현할 수 있는 모든 후보 함수들의 집합입니다.
모델: 가설 공간에 속한 특정 함수입니다.
1D 피쳐 기반 학습: Feature가 하나일 때 머신러닝이 학습하는 가장 단순한 형태입니다.
2D 피쳐 기반 학습: Feature가 두 개일 때 데이터 간의 관계를 평면상의 Decision Boundary로 찾아내는 학습 형태입니다.
4. 지도 학습 🎯
Reference: https://ellun.tistory.com/103
지도 학습: 정답 Label이 있는 훈련 데이터를 사용해 예측 모델을 학습하는 방법입니다. 훈련 데이터 뿐만 아니라, 처음 보는 데이터에 대해서도 예측 성능을 향상하는 것이 목표입니다.
4-1. 회귀(Regression) ✅
Reference: https://modulabs.co.kr/blog/r-squared Reference: https://thebook.io/080263/0091/
회귀: 예측하고 싶은 결과값이 숫자일 때 적용하는 지도 학습 기법 중 하나입니다.
MSE(Mean Square Error): 실제 정답과 모델의 예측값 차이를 제곱하여 평균을 낸 값으로, 회귀 모델의 오차를 측정하는 대표적인 지표입니다.
결정계수: 회귀 모델이 실제 데이터의 변동성을 얼마나 잘 설명하는지 0과 1 사이의 숫자로 나타낸 성능 지표입니다.
4-2. 분류(Classification) ✅
Reference: https://manisha-sirsat.blogspot.com/2019/04/confusion-matrix.html
분류: 예측하고 싶은 결과값이 범주(카테고리)일 때 적용하는 지도 학습 기법 중 하나입니다.
Accuracy: (올바르게 맞춘 개수 / 전체 예측 개수)입니다. 불균형 데이터를 대상으로 할 경우 모델의 실제 성능을 왜곡할 수 있습니다.
Confusion Matrix: 예측과 실제값 사이의 관계를 표현한 행렬입니다.
정밀도: 모델이 '참'이라고 예측한 것 중 실제 '참'인 비율로, False Positive를 줄이는 것이 중요할 때 사용합니다.
재현율: 실제 '참'인 것 중 모델이 '참'이라고 맞춘 비율로, False Negative를 줄이는 것이 핵심입니다.
F1-Score: 정밀도와 재현율의 조화 평균으로, 데이터가 불균형할 때 모델의 전체적인 성능을 가장 객관적으로 나타내는 지표입니다. 2((정밀도 재현율) / (정밀도 + 재현율))
Overfitting: 훈련 데이터의 noise까지 외워버려서, 훈련에서는 잘 맞지만 테스트에서는 성능이 나빠지는 현상을 의미합니다. 일반화 실패가 오버피팅의 핵심입니다.
Distribution Shift: 학습 데이터의 통계적 특성과 테스트 데이터의 특성이 달라져 모델의 성능이 떨어지는 현상입니다. Overfitting이 내부의 문제라면 Distribution Shift는 외부의 문제입니다.
Underfitting: 모델이 너무 단순하여 학습 데이터의 내재된 규칙조차 제대로 학습하지 못한 상태입니다.
5. 테스트 성능 평가 🎯
Reference: https://www.researchgate.net/publication/380816945_Time-Series_Decomposition_Model_combined_with_pre-trained_LSTM_Real-time_prediction_of_dissolved_oxygen_concentration_suitable_for_automated_aquaculture_feeding_system
테스트 성능 평가: 학습에 사용되지 않은 별도의 데이터셋을 통해 모델이 새로운 데이터에 대해 얼마나 잘 일반화되었는지 검증하는 과정입니다.
5-1. 검증셋(Validation Set) ✅
Reference: https://medium.com/@jcanque/resampling-methods-for-data-scientists-cf6b255fdd5c Reference: https://davincilabs.ai/blog/?bmode=view&idx=10640969
검증셋 방법: 가용 샘플들을 무작위로 훈련셋과 검증셋으로 분할하는 방법입니다.
5-2. K-fold 교차검증 ✅
Reference: https://youtu.be/rSGzUy13F_0?
K-fold 교차검증: 전체 데이터를 K개의 폴드로 나누어, 매번 다른 그룹을 검증셋으로 사용해 총 K번 학습과 평가를 반복하는 방식입니다.
5-3. Leave-One-Out 교차검증 ✅
Leave-One-Out 교차검증: 전체 데이터 중 단 하나의 샘플만을 검증셋으로 쓰고 나머지를 모두 훈련셋으로 사용하는 과정을 데이터 개수만큼 반복하는 방식입니다.
6. 비지도 학습 🎯
Reference: https://velog.io/@dxstyblxe/%EA%B5%B0%EC%A7%91%EB%B6%84%EC%84%9D Reference: https://www.ksam.co.kr/p_base.php?action=story_base_view&s_category=_3_&no=2864 Reference: https://thebook.io/080263/0105/
비지도 학습: Label 없이 데이터의 구조, 패턴, 집단을 찾아내는 학습 기법입니다. 출력이 '정답 예측'이 아니라 구조, 요약, 표현이라는 점에 지도 학습과 차이가 있습니다.
6-1. 클러스터링(Clustering) ✅
Reference: https://youtu.be/zLt7iNXL85c?
클러스터링: 데이터 안에서 하위 집단(클러스터)을 찾는 기법들을 총칭합니다.
6-2. K-means 클러스터링(K-means Clustering) ✅
Reference: https://thebook.io/080263/0116/
K-means 클러스터링: 클러스터 수(K)를 미리 정해 분할하는 클러스터링 기법입니다. 초기값에 따라 지역 최솟값으로 수렴 가능한, 'Local Minimum' 문제가 발생할 수 있습니다. 무작위 클러스터를 초기화한 이후 중심 계산과 클러스터 재배정의 과정을 반복합니다.
6-3. 계층적 군집(Hierarchical Clustering) ✅
Reference: https://youtu.be/KmbCZV3wxbY?si=Z3Jj4MDf0uEB14qo
계층적 군집: 개별 데이터들을 순차적으로 가까운 것끼리 묶거나 분할하여 Dendrogram을 형성하는 클러스터링 기법입니다.
Single 링크: 두 군집에서 서로 가장 가까운 데이터 사이의 거리를 군집 간의 거리로 정의하며, 사슬 모양의 긴 군집이 형성되는 경향이 있습니다.
Complete 링크: 두 군집에서 서로 가장 먼 데이터 사이의 거리를 군집 간의 거리로 정의하며, 응집력이 강하고 둥근 형태의 군집을 만드는 경향이 있습니다.
Average 링크: 한 군집의 모든 데이터와 다른 군집의 모든 데이터 사이의 평균 거리를 계산하여 군집 간의 거리로 정의하는 중도적인 방식입니다.
More to read
프론트엔드와 백엔드 사이
HTTP 상태 코드는 프론트엔드에서 백엔드로 보냈던 요청의 수행 결과를 의미하는 일종의 약속이며, API를 구성하는 핵심 요소 중 하나입니다. 상태 코드와 관련하여, 백엔드는 잘 모르는 프론트엔드의 슬픈 사정이 있습니다.아래는 요청이 실패했음에도, 백엔드에서 상태 코드
JWT토큰 관리 방식 톺아보기
0. 들어가며 🎯 서비스에 접근하려는 사용자가 누구인지 확인하는 과정을 사용자 인증이라고 합니다. 인증된 사용자에게 주어진 권한을 확인하는 작업은 인가라고 부릅니다. 이번 글에서는 인가는 다루지 않습니다. 사용자 인증에는 많은 방식이 있지만, 오늘은 세션 인증 방
A2AA2A / MCP 멀티 에이전트 오케스트레이션
0. 들어가며 ✍️ Google for Developers에, 레스토랑 공급망 시나리오로 엮은 6대 프로토콜(MCP, A2A, UCP, AP2, A2UI, AG-UI)에 대한 가이드가 게시된 이후, MCP와 A2A부터 구현해 보는 것이 좋을 것 같다는 생각이 들었습니