카테고리 없음

머신러닝 일반 - 질의 응답2

낭만가이 2021. 9. 21. 18:26

1. Dimension Reduction에 쓰이는 PCA와 Random forest에 대하여 설명하고, 장단점을 쓰시오.

PCA

PCA는 Principal Component Analysis의 약자로, 주어진 Data의 분산을 가장 잘 유지하는 직교축들을 선택하여 Dimension을 줄이는 기법이다. Data로부터 Covariance Matrix를 생성한 후 Covariance Matrix의 가장 큰 Eigenvector를 k개만큼 선택하고, 원본 데이터를 이 Eigenvector로 이루어진 Vector space로 Projection하는 방식으로 이루어진다.

장점

  • 변수들간의 상관관계 즉 다중공선성을 제거할 수 있고, Noise를 제거할 수 있다.
  • 숨은 latent vecotr를 찾는 효과가 있다.

단점

  • 기존 Data들을 변환하게 되므로 해석이 어렵다.

 

Random Forest

Random forest는 Bagging 방법의 일종이다. 주어진 Data에서 Bootstrap을 통해 데이터를 Subsampling한 후 일부 Feature만을 이용하여 Decision tree를 만든다. 이런 Decision tree를 아주 많이 만들어서 Ensemble 기법으로(Classification에서는 Voting, Regression에서는 평균) 분류 또는 예측을 수행하는 방법이다. Decision boundary를 결정하는 변수들만 이용하게 되므로 Dimension reduction 효과가 있다.

장점

  • 알고리즘이 간단하고 Overfitting이 적으며 트레이닝이 빠르다.
  • 모델에 대한 설명이 용이하다.

Parallelizable

단점

  • Data가 증가한다고 해서 성능이 비약적으로 향상하지 않는다.
  • Memory 사용량이 많다.

 

 

2. Bagging과 Boosting이 어떻게 Decision tree의 성능을 향상시킬 수 있는지 비교하여 설명하시오.

Bagging의 경우 Training dataset에서 data를 Bootstrap하고 아주 많은 Decision tree를 생성하고 이 DT들을 결합함으로써 하나의 DT보다 좋은 성능을 보인다. 하나의 DT만 사용하면 주어진 Dataset에 Overfitting될 확률이 높지만, Boostrap을 통해 다양한 DT를 만들고 그 결과를 종합함으로써 Robust한 예측 성능을 기대할 수 있다. Boosting과 비교하였을 때 각 DT가 독립적이라는 점이 다르다.

Boosting의 경우 Training data에서 작은 Decision tree를 만든 후, 이 Decision tree가 제대로 작동하지 않은 Data에 대해 이를 보완하는 DT를 계속 만들어가는 방식으로 작동한다. Bagging과는 달리 각 DT는 이전 단계의 DT와 독립적이지 않다. Bagging에 비해서는 Overfitting될 가능성이 높다.

 

3. Overfitting과 Underfitting이란 무엇인가? Model이 Overfitting되었는지 판단할 수 있는 방법과 Overfitting을 줄일 수 있는 방법을 제시하라.

Overfitting이란 Model이 Training dataset에서는 좋은 예측 성능을 발휘하지만 Training dataset에 속하지 않은 Data에대해서는 예측 성능이 나쁜 상태를 말한다. Bias는 작지만 Variance가 큰 경우라고도 할 수 있다. Underfitting이란 Training data에 대해서도 Model이 아직 잘 training되지 않은 상태를 지칭한다.

Overfitting되었는지 판단하기 위해서는 Training data의 일부를 Validation dataset으로 따로 떼어내어 Training data에 대한 예측성능과 Validation dataset에 대한 예측 성능을 비교해 볼 수 있다.

Overfitting을 줄이기 위해서는 L1/L2 regularization을 적용, Early stopping, Dropout layer 추가, 단순한 모델로 교체, Data augmentation 등을 고려할 수 있다.

 

 

4. 독감 감염을 판단하는 모델이 다음과 같은 결과를 보여준다고 할 때 True Positive, False Positive, True Negative, False Negative, Precision, Recall을 구하라.

  • 모델에 의해 23명이 감염되었다고 예측되었는데 20명은 실제로 감염되었고, 3명은 감염되지 않았다.
  • 모델에 의해 17명이 감염되지 않았다고 예측되었는데 15명은 실제로 감염되지 않았고, 2명은 감염되었다.

Confusion matrix를 그려보면 다음과 같다.

    Predicted True Predicted False
Actual True True Positive = 20 False Negative = 2
False False Positive = 3 True Negative = 15

Precision = TP / (TP + FP) = 20 / (20 + 3) = 0.87

Recall = TP / (TP + FN) = 20 / (20 + 2) = 0.91