머신러닝 모델링 : 주어진 학습 데이터로 얻은 정보로 학습하지 않은 데이터에 대해서 예측을 할 수 있는 시스템.
•
머신러닝 모델링 과정에서 feature vector를 이용하여 학습을 진행합니다.
•
학습(learning)의 과정은 모델마다 달라집니다.
•
문제 정의에 따라 모델도 달라집니다.
e.g. 분류 → Naive Bayes, Logistic Regression, ...
회귀 → Linear Regression, Random Forest, ...
클러스터링 → K-means, Hierarchical Clustering, ...
•
대부분의 머신러닝 문제가 예측 모델(predictive model)을 사용합니다.
•
예측 모델은 대부분 분류/회귀 문제를 풀게 됩니다.
앞에서 사용한 Iris 예시를 다시 가져와서 설명해봅니다.
예측 모델 학습
•
[RECAP] Iris dataset을 3개의 Species로 구분하는 문제인 “분류(Classification)”로 정의하였습니다.
•
그림 1. 성능이 좋은 분류기
Source : http://stephanie-w.github.io/brainscribble/classification-algorithms-on-iris-dataset.html
•
위 그림은 Linear Classifier를 이용해 4차원 feature space에 표현되는 iris dataset을 3가지로 분류한 모습입니다.
•
경계선(decision boundary)를 기준으로 데이터가 분류되고 있습니다.
•
이러한 구분선을 찾아주는 방식이 Linear Classifier라는 모델입니다. (사실은 구분선보다 더 고차원적인 개념인 hyperplane입니다)
•
이렇게 구분선을 찾기 위해서는 선을 결정하는 parameter(또는 weight)를 찾아주면 됩니다.
(예를 들어, 라는 식을 생각해보면 와 를 정하면 직선 하나가 결정됩니다.)
•
즉, Linear Classifier로 Iris dataset을 3개의 Species로 분류하는 문제는 적절한 구분선 2개를 찾아주는 것이 됩니다. 그 구분선은 적당한 숫자를 찾는 문제가 됩니다. 그래서 이 숫자들을 찾는 것이 목표입니다!
•
그래서 컴퓨터는 이러한 숫자를 찾기 위한 방식으로 학습을 진행하게 됩니다.
모델 성능 개선
•
만약, 위의 선이 잘못 구해졌다면 어떻게 될까요?
그림 2. 성능이 안좋은 분류기
•
원래 노란색 영역에 있던 경계선으로 빨간색 데이터를 분류했었는데, 새롭게 그어진 빨간선을 기준으로 빨간색 데이터(e.g. setosa)를 분류하게 되면 어떻게 될까요?
•
이전보다 더 많은 연두색, 파란색 데이터들을 빨간색으로 잘못 분류하게 됩니다!
•
이렇게 학습이 잘 되지 않은 것(= 적절한 숫자를 못 찾은 것)을 확인하기 위해서는 평가 기준이 필요합니다!
•
분류에서 주로 사용하는 평가 기준은 “정확도(Accuracy)”가 있으면 정확도는 전체 데이터 중에 모델이 맞춘 데이터의 비율을 의미합니다.
•
•
예를 들어, 그림 1에 나타낸 모델의 정확도가 0.86이었다고 하면 그림 2에 나타낸 모델의 정확도는 이보다 좀 낮은 0.81 정도가 될지도 모릅니다.
•
머신러닝 모델은 그림 2에서 찾았던 숫자들을 그림 1의 숫자들로 점차 바꿔가는 과정이 필요합니다!
•
즉, 정한 평가 기준을 가지고 점차 좋은 점수를 내는 것이 중요합니다! 학습의 목표라고도 볼 수 있습니다!
성능 평가 지표
•
분류의 평가 기준에는 정확도만 있을까요?
•
분류의 평가 지표(Evaluation Metric)에는 Accuracy, Precision, Recall, F1-score, AUC, MCC, Quadratic Kappa score 등 많은 지표가 있습니다.
•
정의한 문제를 머신러닝 모델이 잘 예측했는지를 알기 위해서는 적절한 평가 지표가 설정되는 것이 중요합니다.
•
이 중에 하나를 선택했다면, 해당 성능이 설정한 목표(기준 점수)에 도달할 때까지 학습을 진행합니다.
요약
•
머신러닝 모델링, 주어진 문제를 잘 해결하는 시스템을 구축하는 것을 말합니다.
•
분류 문제를 Linear Classifier로 풀었다고 했을 땐, 적당한 숫자를 찾는 문제가 됩니다.
•
여러가지 모델들이 존재할 때, 어떤 모델이 더 좋은 성능을 내느냐를 말하려면 “평가 지표”가 필요합니다.
•
머신러닝 모델링이라는 것은 결국 지정한 평가 지표를 기준으로 성능을 계속해서 향상시켜 나가는 과정입니다.
Hands-on
1.
“Linear”라는 개념에 대해서 찾아서 정리해보세요.
2.
강아지 사진 1000장, 고양이 사진 1000장이 있습니다. 이 2000장의 사진을 강아지/고양이로 분류하는 문제를 풀려고 합니다. 학습한 모델이 예측한 결과로 강아지 사진 566장, 고양이 사진 734장을 제대로 분류하였습니다. 이 때 Accuracy는 얼마일까요?