본문 바로가기

인공지능/머신러닝4

[머신러닝] kNN(k-Nearest Neighbors, k-최근접 이웃) 알고리즘 가장 간단하면서도 강력한 지도 학습(Supervised Learning) 알고리즘 중 하나! ㅁk-최근접 이웃(k-Nearest Neighbors, kNN) 알고리즘: 주어진 데이터 포인트에 대해 가장 가까운 k개의 이웃을 참조하여 분류(Classification)하거나 회귀(Regression)를 수행1. 새로운 데이터 포인트가 주어지면, 가장 가까운 k개의 이웃을 찾는다2. 다수결(Majority Voting) 원칙을 사용하여 분류 문제를 해결한다3. 평균을 내어 회귀 문제를 해결한다 ※ k값 선택 방법k값은 너무 작거나 크면 성능이 저하될 수 있다. 일반적으로 다음과 같은 방법을 사용하여 최적의 k값을 찾는다- 홀수 선택: 데이터가 2개의 클래스로 나뉘어 있을 경우, 동률을 방지하기 위해 k를 홀수.. 2025. 2. 17.
[머신러닝] 과적합(Overfitting) / 과소적합(Underfitting) ㅇ과적합(Overfitting): 머신러닝 또는 딥러닝 모델이 학습 데이터(training data)에 지나치게 적응하여, 새로운 데이터(테스트 데이터 또는 실제 환경)에서 일반화 성능이 저하되는 현상즉, 모델이 훈련 데이터의 패턴뿐만 아니라 노이즈(noise)나 특이한 패턴까지 학습하여 새로운 데이터에 대해 잘 예측하지 못하는 문제가 발생한다  [과적합 원인]- 훈련 데이터 부족데이터 샘플 수가 적을수록 모델이 특정한 데이터 패턴만 학습하여 일반화 능력이 떨어짐- 모델 복잡도 과다모델이 너무 복잡하면(예: 뉴럴 네트워크의 계층 수가 많거나, 너무 많은 매개변수 사용) 불필요한 패턴까지 학습하게 됨- 훈련 데이터의 노이즈 학습훈련 데이터에 포함된 노이즈까지 학습하여 테스트 데이터에서는 성능이 낮아짐- 훈.. 2025. 2. 17.
[머신러닝] scikit-learn 라이브러리(머신러닝의 기초와 근간) ㅁ사이킷 런(scikit-learn): Python을 기반으로 한 머신러닝 라이브러리로 데이터 전처리, 지도 학습, 비지도 학습, 모델 평가 등 다양한 머신러닝 작업에 필요한 도구를 제공  [사이킷 런의 주요 특징들]다양한 머신러닝 알고리즘 지원지도 학습: 회귀, 분류(Linear Regression, Logistic Regression, Decision Tree, SVM 등)비지도 학습: 클러스터링, 차원 축소(KMeans, PCA, t-SNE 등)모델 선택 및 하이퍼파라미터 튜닝: GridSearchCV, RandomizedSearchCV강력한 데이터 전처리 도구결측값 처리, 데이터 표준화(StandardScaler), 데이터 정규화(MinMaxScaler)범주형 데이터 인코딩 (OneHotEncod.. 2025. 1. 2.
[머신러닝] Gradient Boosting Regressor Model(학습 데이터 수가 적을 때 유용) 데이터의 수가 적을 때는 머신러닝 모델 선택이 더욱 중요하다. 데이터가 충분하지 않다면 딥러닝 모델은 과적합(overfitting) 문제가 발생할 가능성이 높으며, 계산 자원이 낭비될 수 있다. 이러한 경우에는 Scikit-learn 라이브러리의 Gradient Boosting Regressor 모델이 효과적인 대안이 될 수 있다. ㅇGradient Boosting Regressor: 부스팅(Boosting) 기법을 사용하여 여러 개의 약한 학습기(weak learners)를 조합해 강력한 학습기(strong learner)를 만들어내는 모델기본적으로 결정 트리(Decision Tree)를 약한 학습기로 사용하며, 각 단계에서 이전 단계의 오류를 보완하면서 점진적으로 모델의 성능을 향상시킨다과적합 제어:.. 2024. 11. 22.