SSONG Cloud
머신러닝기반 빅데이터 응용 전문가과정 - 13 본문
(2020.07.17)
오늘 오전에는 과대적합, 과소적합, 일반화에 대해 배우고 붓꽃 분류와 유방암 진단을 knn 알고리즘을 통해 머신러닝 실습을 해보았다.
먼저 과대적합, 과소적합, 일반화에 대해 말해보면 다음과 같다.
과대적합(Overfitting): 훈련세트에 너무 맞춰져 있어 테스트 세트의 성능저하
과소적합(Underfitting): 훈련세트를 충분히 반영하지 못해 훈련 세트, 테스트 세트에서 모두 성능 저하
일반화(Generalization): 훈련세트로 학습한 모델이 테스트 세트에 대해 정확히 예측하도록 하는것
따라서 머신러닝의 목표를 일반화 성능이 최대화 되는 모델을 찾는 것이라 볼 수 있다.
이를 위해 주어진 훈련데이터의 다양성을 보장하여 다양한 데이터 포인트를 골고루 나타내어야 한다.
또한 일반적으로 데이터 양이 많으면 일반화의 도움이 된다.
하지만 편중된 데이터를 많이 모으는 것은 도움이 되지 않고
규제(Regularization)를 통해 모델의 복잡도를 적정선으로 설정하는 해결방법들이 있다.
여기서 규제는 두가지로 크게 나눠볼 수 있다.
첫번째는 샘플들의 대한 회귀선을 임의로 조정하는 것이다.
이러한 과정을 통해 이상치를 무시하고 많은 샘플들에 대해 일반화 시킬 수 있다.
두번째는 이상치를 갖는 샘플들을 샘플들이 많이 분포하는 곳으로
끌어오는 것이다. 이후에 회귀선을 긋게 되면 더 정확하게 예측할 수 있다.
따라서 최근접 이웃 알고리즘인 KNN에 대해 다시 말해보면 다음과 같다.
- 새로운 데이터 포인트와 가장 가까운 훈련 데이터셋의 데이터 포인트를 찾아 예측한다.
- k 값에 따라 가까운 이웃의 수가 결정한다.
- 분류와 회귀에 모두 사용가능하다.
또한 knn알고리즘을 사용할 때에는 이웃의 수는 홀수로 해야한다.
그 이유는 각각의 클래스를 갖는 이웃의 수가 서로 갖게되면 예측이 제대로 되지 않을 수 있기 때문이다.
다음은 결정 경계에 대해 배웠다.
결정경계는 Decision Boundary로 클래스를 분류하는 경계이다.
이웃이 적을수록 모델의 복잡도가 상승하고 과대적합으로 갈 수 있다.
하지만 이웃이 전체 데이터의 개수와 같아지면 항상 가장 많은 클래스로
예측이 되기 때문에 과소적합이 될 수 있다. 따라서 적절한 이웃의 수를 찾는 것이 중요하다.
각 샘플들 간의 거리는 유클리디언 거리 공식을 통해 구할 수 있다.
이 공식은 우리가 일반적으로 아는 피타고라스 공식의 일반화된 형태이고 다음과 같다.
또한 KNN의 장단점은 다음과 같다.
- 이해하기 매우 쉽고 조정 없이도 좋은 성능을 발휘하는 모델
- 훈련 데이터 세트가 크면(특성, 샘플의 수) 예측이 느려진다.
- 수백개 이상의 많은 특성을 가진 데이터 세트와 특성 값 대부분이 0인 희소한 데이터 세트에서는
잘 동작하지 않는다.
- 거리를 측정하기 때문에 같은 scale을 같도록 정규화 필요
- 전처리 과정이 중요, 잘 쓰이지는 않음
이 후에는 붓꽃 데이터셋을 가지고 실습을 해보았다.
이 데이터를 가지고 각 feature들이 갖는 상관관계를 보기 위해 다음과 같이 차트를 나타내어볼 수 있다.
각각의 행과 열이 같은 feature인 경우는 히스토그램으로 표현된다.
이 차트를 몇가지 경우로 해석해보면 먼저 1행 3열의 경우 각각의 요소들로 인해 붓꽃의 품종을 잘 분류할 수 있다는 것을 알 수 있다.
하지만 1행 2열에 있는 그래프를 보면 보라색 품종의 경우에는 잘 분류해낼 수 있지만 현재 x축과 y축의 feature을 기준으로 노란색과 청록색 품종은 분류하기 힘들다는 것을 알 수 있다.
또한 이후에는 유방암 데이터셋을 가지고 머신러닝 실습을 해보았다.
이 데이터는 wisconsin의 유방암 데이터셋으로 총 569건의 데이터를 가지고 있다.
이 경우도 마찬가지로 이웃의 수를 바꿔가며 가장 일반화가 잘 된 케이스를 찾아볼 수 있다.
'Machine Learning > 머신러닝기반 빅데이터 응용 전문가과정' 카테고리의 다른 글
머신러닝기반 빅데이터 응용 전문가과정 - 14 (0) | 2021.04.12 |
---|---|
머신러닝기반 빅데이터 응용 전문가과정 - 12 (0) | 2021.04.12 |
머신러닝기반 빅데이터 응용 전문가과정 - 11 (0) | 2021.04.12 |
머신러닝기반 빅데이터 응용 전문가과정 - 10 (0) | 2021.04.12 |
머신러닝기반 빅데이터 응용 전문가과정 - 9 (0) | 2021.04.12 |