본문 바로가기

AI Research/Machine Learning

(8)
머신러닝 모델의 과적합(Overfitting)과 일반화(Generalization) 머신러닝 모델을 학습시킬 때, 모델이 학습 데이터에 너무 과도하게 적합되어 새로운 데이터에 대한 일반화 성능이 낮아지는 과적합(Overfitting) 문제가 발생할 수 있습니다. 반면에 모델이 학습 데이터를 충분히 학습하지 못하여 성능이 낮아지는 과소적합(Underfitting) 문제도 있습니다. 좋은 머신러닝 모델은 과적합과 과소적합을 피하고 일반화 성능을 최대화해야 합니다. 과적합(Overfitting)이란? 과적합은 머신러닝 모델이 학습 데이터에 너무 과도하게 적합되어, 새로운 데이터에 대한 예측 성능이 낮아지는 현상을 말합니다. 과적합된 모델은 학습 데이터에서는 높은 성능을 보이지만, 새로운 데이터에 대해서는 일반화 성능이 매우 낮습니다. 과적합이 발생하는 주요 원인은 다음과 같습니다: 모델이 너..
머신러닝 모델 평가 방법: 정확도, 정밀도, 재현율, F1 스코어 머신러닝 모델을 개발할 때 모델의 성능을 평가하고 다른 모델과 비교하는 것이 매우 중요합니다. 모델 평가를 통해 모델의 장단점을 파악하고 개선할 점을 찾을 수 있습니다. 모델 평가에 사용되는 대표적인 지표로는 정확도(Accuracy), 정밀도(Precision), 재현율(Recall), F1 스코어(F1-Score) 등이 있습니다. 정확도 (Accuracy) 정확도는 전체 예측 중에서 맞춘 예측의 비율을 나타냅니다. 정확도는 직관적이고 계산하기 쉬운 지표이지만, 불균형 데이터(imbalanced data)에서는 적절하지 않을 수 있습니다. 정확도 = 참 예측 수 / 전체 예측 수 정밀도 (Precision) 정밀도는 긍정 예측 중에서 실제 긍정인 비율을 나타냅니다. 정밀도가 높다는 것은 모델이 긍정으로 ..
선형회귀(Linear Regression) - 다른 머신러닝 기법 비교(의사결정트리, 앙상블, 서포트 벡터 머신, 신경망) 목차 다른 머신러닝 기법과의 비교 의사결정트리 (Decision Tree) 앙상블 모델 (Ensemble Models) 서포트 벡터 머신 (Support Vector Machine) 신경망 (Neural Network) 다른 머신러닝 기법과의 비교 선형회귀의 한계를 극복하기 위해 다양한 머신러닝 기법이 사용됩니다. 의사결정트리 (Decision Tree) 비선형 관계와 복잡한 패턴을 잘 포착할 수 있습니다. 분류와 회귀 문제 모두에 사용 가능합니다. 하지만 과적합 위험이 있고, 불안정한 모델일 수 있습니다. 앙상블 모델 (Ensemble Models) 랜덤 포레스트, 그래디언트 부스팅 등의 앙상블 모델은 의사결정트리의 단점을 보완합니다. 강력한 예측 성능을 보이지만, 설명력이 부족할 수 있습니다. 서포트..
선형회귀(Linear Regression) - 모델의 가정과 한계 목차 선형회귀 모델의 가정 가정 진단 방법 시각화 방법 통계적 방법 선형회귀 모델의 한계 선형회귀 모델의 가정 선형회귀 모델이 적절히 동작하기 위해서는 몇 가지 중요한 가정이 충족되어야 합니다. 이러한 가정들이 위배될 경우 모델의 추정치가 편향되거나 비효율적일 수 있습니다. 선형성 (Linearity): 독립변수와 종속변수 사이의 관계가 선형적이어야 합니다. 정규성 (Normality): 오차항(잔차)이 정규분포를 따라야 합니다. 무상관성 (Independence): 오차항은 서로 독립적이어야 합니다. 등분산성 (Homoscedasticity): 오차항의 분산이 독립변수의 값에 따라 일정해야 합니다. 다중공선성 (Multicollinearity): 독립변수 간에 강한 선형 관계가 없어야 합니다. 이러한 ..
선형회귀(Linear Regression) - 하이퍼파라미터 튜닝(수동검색, 그리드서치, 랜덤서치) 목차 하이퍼파라미터 튜닝 수동 검색 그리드 서치 (Grid Search) 랜덤 서치 (Random Search) 하이퍼파라미터 튜닝 앞서 언급했듯이 정규화 기법에서 규제 강도를 결정하는 하이퍼파라미터 알파(alpha)의 값을 적절히 설정하는 것이 중요합니다. 하이퍼파라미터 값에 따라 모델의 성능이 크게 달라질 수 있기 때문입니다. 가장 일반적인 하이퍼파라미터 튜닝 방법으로는 수동 검색, 그리드 서치, 랜덤 서치 등이 있습니다. 수동 검색 여러 가지 하이퍼파라미터 값을 직접 대입해보며 가장 좋은 성능을 내는 값을 찾는 방법입니다. 간단하지만 비효율적일 수 있습니다. 그리드 서치 (Grid Search) 후보 하이퍼파라미터 값의 목록을 정의하고, 이 값들에 대해 모델을 반복적으로 학습하여 평가 지표를 계산합..
선형회귀(Linear Regression) - 다중회귀, 다중공선성, 정규화(Ridge, Lasso, Elastic Net) 목차 다중회귀 (Multiple Regression) 다중공선성 진단 기타 고려사항 정규화 (Regularization) 릿지 회귀 (Ridge Regression) 라쏘 회귀 (Lasso Regression) 엘라스틱 넷 회귀 (Elastic Net Regression) 다중회귀 (Multiple Regression) 지금까지는 하나의 독립변수로 선형회귀 모델을 설명했습니다. 하지만 실제로는 여러 개의 독립변수를 사용하는 다중회귀 모델이 더 일반적입니다. import pandas as pd from sklearn.linear_model import LinearRegression data = pd.DataFrame({'area': [2600, 3000, 3200, 3600, 4000], 'bedrooms..
선형회귀(Linear Regression) - 모델 기초 구현, 평가(RMSE, R-squared) 목차 선형회귀 모델 이해하기 비용 함수와 최소제곱법 선형회귀 구현하기 선형회귀 모델 평가 평균 제곱근 오차 (RMSE: Root Mean Squared Error) 결정계수 (R-squared) 선형회귀 모델 평가 - 분류 문제 선형회귀(Linear Regression)는 머신러닝 및 통계학에서 가장 기본적이고 중요한 모델 중 하나입니다. 독립 변수(특징, feature)와 종속 변수(타깃, target) 간의 선형 관계를 모델링하여 예측 및 분석을 수행합니다. 선형회귀 모델 이해하기 선형회귀 모델의 수식은 다음과 같습니다: y = w0 + w1 * x1 + w2 * x2 + ... + wn * xn 여기서 y는 종속변수, x1, x2, ..., xn은 독립변수, w0는 절편(bias), w1, w2, ..
선형회귀(Linear Regression) - 정규화, 다항회귀, 범주형 인코딩 목차 정규화와 규제 다항 회귀 (Polynomial Regression) 상호작용 항 추가 (Interaction Terms) 범주형 변수 인코딩 원-핫 인코딩 (One-Hot Encoding) 레이블 인코딩 (Label Encoding) 정규화와 규제 실제 데이터에는 다중공선성 문제나 과적합 등의 이슈가 발생할 수 있습니다. 이를 해결하기 위해 선형회귀 모델에 정규화(Regularization)를 적용할 수 있습니다. 대표적인 정규화 기법으로는 릿지(Ridge), 라쏘(Lasso) 등이 있습니다. Scikit-learn 라이브러리를 사용하면 간단히 구현할 수 있습니다. from sklearn.linear_model import Ridge, Lasso # 릿지 회귀 ridge = Ridge(alpha=0..