카테고리 없음

머신러닝 알고리즘 정리 1 (초간단 정리)

yumin630 2024. 10. 17. 01:55

 

 

1. 선형 회귀 (Linear Regression)

  • 목적: 연속적인 수치 예측을 위해 사용됩니다.
  • 작동 원리: 데이터 포인트 사이의 관계를 직선으로 모델링하며, 입력 변수와 출력 변수 사이의 선형 관계를 찾습니다.
  • 예시: 집의 크기와 가격 사이의 관계를 예측할 때 사용.

2. K-최근접 이웃 (K-Nearest Neighbors, K-NN)

  • 목적: 분류와 회귀에 모두 사용됩니다.
  • 작동 원리: 새로운 데이터 포인트가 들어오면 가장 가까운 K개의 이웃 데이터 포인트의 결과를 참고하여 예측합니다.
  • 예시: 새 사용자가 좋아할 만한 영화를 추천하기 위해 비슷한 취향을 가진 사용자의 데이터를 사용.

3. 의사결정 나무 (Decision Tree)

  • 목적: 분류와 회귀 문제를 해결하는 데 사용됩니다.
  • 작동 원리: 데이터의 특징들을 기준으로 질문을 반복하며 트리를 구성하여 최종 예측을 수행합니다.
  • 예시: 고객이 특정 상품을 구매할지 여부를 예측하는 데 사용.

4. 로지스틱 회귀 (Logistic Regression)

  • 목적: 이진 분류 문제를 해결하는 데 주로 사용됩니다.
  • 작동 원리: 선형 회귀와 유사하지만, 결과를 이진 분류(예: 0 또는 1)로 변환하기 위해 시그모이드 함수를 사용합니다.
  • 예시: 이메일이 스팸인지 아닌지 예측하는 데 사용.

5. 서포트 벡터 머신 (Support Vector Machine, SVM)

  • 목적: 주로 분류 문제를 해결합니다.
  • 작동 원리: 두 클래스 사이의 최대 마진을 찾는 결정 경계를 그려 데이터를 분류합니다. 비선형 데이터의 경우 커널 트릭을 사용해 고차원 공간으로 변환하여 분류합니다.
  • 예시: 이미지 데이터에서 고양이와 개를 구분하는 데 사용.

 

 

 

 

 

1. 선형 회귀 (Linear Regression)

1. 선형 회귀 공식

선형 회귀의 가장 기본적인 형태는 다음과 같은 직선 방정식입니다:

 

단순 선형 회귀 vs 다중 선형 회귀

  • 단순 선형 회귀: 독립 변수가 하나가 종속변수에 영향을 미치는 선형 회귀 예: 행복지수로 연수입 결정됨
  • 다중 선형 회귀: 여러 개의 독립 변수가 종속변수에 영향을 미치는 선형 회귀 예: 여러 요인들에 의해 보스턴 지역 집값이 결정됨

2. 선형 회귀의 목표

선형 회귀의 목적은 데이터를 가장 잘 설명할 수 있는 직선을 찾는 것입니다. 이를 위해 최적의 가중치 wiw_i와 절편 bb를 학습합니다.

비용 함수 (Cost Function)

모델이 예측한 값과 실제 값 사이의 차이를 줄이기 위해 **비용 함수(Cost Function)**를 최소화해야 합니다.
**평균 제곱 오차(MSE, Mean Squared Error)**가 자주 사용됩니다:


3. 모델 학습 방법 (Gradient Descent)

비용 함수(MSE)를 최소화하기 위해 선형 회귀 모델은 **경사 하강법(Gradient Descent)**을 사용해 최적의 가중치와 절편을 찾아냅니다. 경사 하강법은 다음과 같은 방식으로 가중치와 절편을 반복해서 업데이트합니다:

  • α\alpha: 학습률 (Learning rate)
  • J(wj,b)J(w_j, b): 비용 함수

4. 선형 회귀의 가정

선형 회귀는 다음과 같은 가정을 충족해야 좋은 성능을 발휘합니다:

  1. 선형성: 독립 변수와 종속 변수 사이의 관계가 선형이어야 합니다.
  2. 독립성: 각 데이터 포인트는 서로 독립적이어야 합니다.
  3. 등분산성: 모든 데이터 포인트의 오차는 동일한 분산을 가져야 합니다 (Homoscedasticity).
  4. 정규성: 오차 항이 정규 분포를 따라야 합니다.

5. 선형 회귀의 평가 지표

선형 회귀 모델을 평가할 때 주로 **R² (결정 계수)**와 **RMSE (Root Mean Squared Error)**를 사용합니다.

  • R² (결정 계수): 0에서 1 사이의 값을 가지며, 1에 가까울수록 모델이 데이터를 잘 설명합니다.
  • RMSE (평균 제곱근 오차): 예측값과 실제값 사이의 오차를 쉽게 해석할 수 있는 지표입니다.

6. 선형 회귀의 한계

  1. 선형성 문제: 데이터가 선형적이지 않으면 모델이 부정확할 수 있습니다.
  2. 이상치 민감성: 이상치(Outliers)에 민감하여 성능이 크게 저하될 수 있습니다.
  3. 다중 공선성 문제: 독립 변수들 간의 상관관계가 높으면 모델의 신뢰성이 떨어질 수 있습니다.

7. 실제 적용 사례

  1. 부동산 가격 예측: 집의 면적, 위치, 층수 등을 바탕으로 부동산 가격을 예측.
  2. 주식 시장 분석: 과거 주가 데이터를 바탕으로 미래의 주가 예측.
  3. 광고 예산 최적화: 광고 비용과 판매 수치 간의 관계를 분석하여 최적의 광고 예산을 결정.

선형 회귀는 간단하면서도 직관적인 알고리즘으로, 다양한 예측 문제에 유용하게 사용됩니다. 하지만 데이터가 복잡하거나 비선형적인 경우, 비선형 회귀기타 머신러닝 알고리즘이 더 좋은 성능을 발휘할 수 있습니다.

 

 

 

 

 

K-최근접 이웃 (K-Nearest Neighbors, K-NN)

 

K-NN은 예측할 데이터와 가까운 K개의 데이터 포인트를 찾아 그 값(또는 클래스)을 기반으로 예측을 수행합니다.

  • 분류 문제: 이웃들 중 다수결 투표로 새로운 데이터의 클래스를 결정합니다.
  • 회귀 문제: K개의 이웃의 평균 값을 계산하여 예측값으로 사용합니다.

다른 알고리즘에 비해 이해하긴 쉽지마느 연산 속도가 느려서 딥러닝에서는 잘 안쓰인다

 

1. K 값의 중요성

  • 탐색하는 이웃(K)의 개수에 따라 예측 결과가 달라질 수 있습니다.
  • K 값을 잘못 설정하면 과적합(Overfitting) 또는 과소적합(Underfitting) 문제가 발생할 수 있습니다.

K 값 설정의 기본 원칙

  • K=1로 설정하면 과적합 가능성이 큽니다. 이웃 하나만으로 예측하므로 **잡음(Noise)**에 민감합니다.
  • 너무 큰 K 값을 설정하면 분류가 부정확할 수 있습니다. 과반수를 초과한 이웃들이 동일한 클래스가 아닐 수 있기 때문입니다.
  • 최적의 K 값은 **교차 검증(Cross-validation)**을 통해 찾는 것이 좋습니다.

2. 거리 측정 방법

K-NN에서 거리 계산은 중요한 요소입니다. 다음과 같은 거리 계산 방법이 주로 사용됩니다.

유클리드 거리 (Euclidean Distance)

  • 두 점 사이의 직선 거리를 측정합니다.
  • 피타고라스 정리를 바탕으로 계산됩니다.

맨해튼 거리 (Manhattan Distance)

  • 두 점 사이의 좌우 및 상하 축을 따라 이동한 거리를 측정합니다.
  • 절대값을 사용하여 계산하며, 격자형 도로 구조에서 많이 사용됩니다. 
  • 맨해튼 거리는 항상 유클리드 거리보다 크거나 같습니다.

3. 스케일링(Scaling) 필요성

  • K-NN은 거리 기반 알고리즘이기 때문에 모든 변수가 같은 단위로 비교되어야 합니다. 변수의 단위가 다를 경우 잘못된 예측이 발생할 수 있습니다.
  • **정규화(Normalization)**와 **표준화(Standardization)**를 사용해 변수의 범위를 조정합니다.

 

 

코드정리는 추후에.............

 

대박 큰일낫다