장점과 단점

zoé·2021년 10월 15일
0

machine learning

목록 보기
6/6

KNN

장점
1. 기준 분류 체계 값을 모두 검사하여 비교하므로 정확도가 높음, 수치 기반 데이터 분류 작업에서 성능 우수 - 학습데이터의 수가 충분하다면 좋은 성능을 낸다.
2. 비교하여 가까운 상위 k개의 데이터만 활용하기 때문에 오류 데이터는 비교 대상에서 제외되어 오류 데이터가 결과에 영향을 미치지 않음, 학습 데이터의 노이즈에 크게 영향을 받지 않는다.
3. 기존 데이터를 기반으로 하기 때문에 데이터에 대한 가정이 없다
4. 단순하고 효율적이다, 훈련 단계가 빠르다, 매우 빠르게 만들 수 있다
5. 이해하기 쉬운 모델
6. 많이 조정하지 않아도 좋은 성능을 발휘한다

단점
1. 기존의 모든 데이터를 비교해야하기 때문에 데이터가 많으면 많을수록 처리시간 증가, 분류 단계가 느리다
2. 데이터 활용을 위해 메모리를 많이 사용하게 되어 고사양의 하드웨어가 필요 > 고차원의 데이터에 대해서 차원의 저주라고 불리는 현상을 피하기 위해 KNN 수행 전에 차원 축소 진행 필요
전처리 과정이 중요하다.
3. 모델을 생성하지 않아 특징과 클래스 간 관계를 이해하기 제한적
4. 적절한 K의 선택이 중요하다
5. 명목 특징 및 누락 데이터를 위한 추가 처리 필요
더미 코딩 : 명목 특징을 수치 형식으로 변환하는 코딩, 수치 형식으로 벼환하여 유클리디안 거리 공식에 대입
colum마다 scale이 다르게 때문에 수치 형식의 데이터들의 값을 모두 0~1 사이로 변환시키는 정규화 과정이 필요 > 데이터 분포가 너무 다르면 변수들 간의 차이를 해석하기 어렵다.

  1. KNN 자체가 데이터 분석에서 중요한 변수를 파악하는 것이 아니라 데이터 분석가가 직접 중요하다고 여기는 변수를 성정하고 알고리즘을 적용하기에 사전 분석 작업이 많이 요구됨.
  2. 훈련 단계는 짧지만 예측 단계는 상대적으로 느리다 (훈련 세트가 매우크면 특성의 수나 샘플 수가 클 경우) 예측이 늘어진다.

많은 특성(수백 개 이상)을 가진 데이터셋에는 잘 동작하지 않고, 특성 값이 대부분 0인 (즉 희소한) 데이터셋과는 특히 잘 작동하지 앟는다.
예측이 느리고 많은 특성을 처리하는 능력이 부족
그래서 이런 단점이 없는 알고리즘이 선형 모델

이런 단점을 없앤 선형 모델을 사용

실제 분석에서는 K-NN보다는 선형회귀가 자주 쓰입니다. K-NN에서는 데이터의 차원 수가 커질 수록, 즉 변수가 많아질 수록 차원의 저주(curse of dimensionality) 현상이 나타나기 때문입니다. K-NN은 예측시 𝐾개 이웃을 고려하는데, 고차원 데이터 공간에서는 특정 데이터 포인트에서 가장 가까운 이웃이라 하더라도 실제로는 그 거리가 매우 먼 경우가 많다고 합니다. 이 때문에 변수의 숫자(𝑝)가 커질 수록 K-NN의 오차가 커지는 경향이 있습니다. 다음 그림과 같습니다.

Linear Regression

장점
1. 학습 속도가 빠르고 예측도 빠르다
2. 매우 큰 데이터셋과 희소한 데이터셋에도 잘 작동한다
3. 예측이 어떻게 만들어지는지 수식을 통해 비교적 쉽게 이해할 수 있다.
4. 매개변수가 없는 것이 장점이지만 모델의 복잡도 제어할 방법이 없음.

단점
1. 선형관계로 제한, 그들 사이에 직선 관계가 있다고 가정해서 때때로 올바르지 않음
2. 종속 변수의 평균만 봄, 종속변수의 극단을 살펴볼 필요가 있을 때 어려움, 평균이 단일 변수에 대한 완전한 설명이 아닌 것처럼 선형 회귀는 변수 간의 관계에 대한 완전한 설명이 아님. 분위수 회귀를 사용해야 문제 해결 가능
3. 특이치에 민감
4. 선형회귀는 데이터가 독립적이라고 가정하지만 항상 합리적인 것은 아님. 다중 레벨 모델을 사용해서 해결 가능
5. 계수의 값들이 왜 그런지 명확하지 않을 때가 있다. 특히 데이터셋의 특성이 서로 깊게 연간되어 있을 때 그러하다
류에도 널리 사용된다.

선형회귀 분석을 이용해 종속변수를 설명한 독립변수들의 계수는 독립변수가 증가할 수록 계수의 분산이 증가하기 때문에 모형의 신뢰도가 많이 떨어질 수 있다는 것이다.
복잡도를 제어할 수 있는 모델은 > 릿지 회귀

선형 모델은 샘플에 비해 특성이 많을 때 잘 작동한다. 그러나 저차원의 데이터셋에서는 다른 모델들의 일반화 성능이 더 좋다.
선형 모델은 확률을 파악하는 것은 것은 매우 어려우며 두 클래스를 숫자(0과 1)로 처리하며 각 클래스 특성값의 점과 초평면(Hyper plane) 사이의 거리를 최소화하는 최상의 초평면(단일 특성값의 경우 직선)에 적합합니다. 그렇기에 선형 회귀 모델은 단순히 점 사이를 보간(Interpolate, 수많은 점들을 평균화 시키는 것)하기 때문에 이를 확률로 해석할 수 없습니다.
선형 모델은 여러 종류의 클래스를 분류하는 문제로 확장되지 않습니다. 3개 이상의 클래스가 존재할 때 클래스는 의미 있는 순서를 가지고 있지 않을 수도 있지만, 선형 모델은 특성값과 클래스 예측값 사이의 관계에 대한 납득하기 어려운 이상한 구조가 될 것입니다. 양의 가중치를 갖는 특성값의 값이 클수록 우연히 비슷한 값을 얻은 클래스가 다른 클래스에 비해 가깝지 않더라도 값이 큰 클래스로 예상될 수 있기 때문입니다.

  1. 선형 회귀는 회귀 분석에서는 요긴하게 사용될 수 있지만 분류에서는 실패하는 경우가 발생

선형 회귀는 예외적인 데이터에 너무 민감하게 반응하기 때문에 데이터를 분류하고 싶을 때 잘 사용하지 않음 (대다수 데이터 예측 실패), 결과가 범위 없이 얼마든지 크거나 작아질 수 있음 > 분류하기 부적합
로지스틱 회귀

선형회귀분석과는 다르게 결과가 [범주형]일때 사용 확률이라는 개념이 추가되었다.

Logistic Regression

베타 값에 대한 정확한 해를 찾을 수 없다. (선형 회귀는 정확한 해가 존재하는 반면), 그래서 기울기 하강과 같은 방법 사용

선형 회귀 모델의 많은 장단점이 로지스틱 모델에도 적용됩니다.

단점

  1. 로지스틱 회귀는 많은 사람들에게 사용되고 있지만 교호 작용을 따로 추가해야한다는 것과 같이 표현적인 제한이 있고 다른 모델들이 더 예측 성능이 좋을 수 있습니다.
  2. 가중치 해석이 덧셈식이나 곱셈식이 아니기 때문에 해석이 더 어렵다는 것입니다.

가중치를 더하는 것이 아니라 곱하는 식이기 때문에 가중치의 해석이 매우 어렵습니다.

로지스틱 회귀는 완전히 분리될 수 있습니다. 두 가지의 클래스를 완벽하게 분리할 수 있는 특성값이 있다면, 로지스틱 회귀 모델을 더이상 훈련시킬 수 없습니다. 최적의 가중치값이 무한이 될 수 있기 때문에 그 특성값에 대한 가중치가 수렴되지 않기 때문입니다. 사실 특성값은 실제로 유용하기 때문에 이러한 경우는 운이 매우 좋지 않을 경우에 해당됩니다. 하지만 두 가지의 클래스를 구분하는 간단한 규칙이 있다면 기계 학습이 필요하지 않습니다. 완전한 분리의 문제는 가중치에 패널티를 도입하거나 가중치의 사전 확률 분포를 정의함으로써 해결할 수 있습니다.

로지스틱 회귀는 완전한 분리가 생길 수 있습니다. 만약 하나의 특성이 두 개의 클래스로 완전히 분리한다면 로지스틱 회귀 모델은 더이상 학습되지 않습니다. 이유는 최적의 가중치가 무한해서 특성에 대한 가중치가 수렴하지 않기 때문입니다. 간단한 규칙으로 두 클래스를 나눌 수 있다면 머신러닝이 필요하지 않습니다. 완전한 분리의 문제는 가중치에 대한 패널티를 주거나 가중치에 대한 사전 확률 분포를 줌으로써 해결할 수 있습니다.

장점
1. 분류 모델일 뿐만 아니라 확률값을 얻을 수 있다는 것입니다. 이는 최종적으로 분류만 할 수 있는 모델에 비해 큰 장점이 됩니다. 한 관측치가 하나의 클래스에 대해 99%라는 것을 아는 것은 다른 관측치의 51%와 큰 차이가 생긴다는 것을 비교할 수 있습니다.

  1. 이진 분류에서 다중 분류로 확장할 수 있습니다. 이를 다항 회귀라고 부릅니다.

로지스틱 회귀는 많은 사람들에 의해 널리 사용되었지만 제한적인 표현력(상호작용이 수동으로 추가되어야 함)과 분투하며, 다른 모델들은 더 나은 예측 성능을 나타낼 수도 있습니다.

KNN Regression

  • 0,1과 같은 분류 형태가 아닌 숫자(실수)로 표현될 때 사용 가능

Decision Tree

장점
1. 만들어진 모델을 쉽게 시각화할 수 있어서 비전문가도 이해하기 쉽다.
2. 데이터 스케일에 구애받지 않는다. 각 특성이 개별적으로 처리됨 - 각 특성이 개별적으로 처리되어 데이터를 분할하는데 데이터 스케일의 영향을 받지 않으므로 결정 트리에서는 특성의 정규화나 표준화 같은 전처리 과정이 필요 없음.
특성의 스케일이 서로 다르거나 이진 특성과 연속적인 특성이 혼합되어 있을 때도 잘 작동함.

단점
1. 모델이 가진 데이터 범위 밖으로 나가면 단순히 마지막 포인트를 이용해 예측하는 것이 전부. 트리 모델은 훈련 데이터 밖의 새로운 데이터를 예측할 능력이 없음.
(선형 모델은 데이터 범위 밖으로 나간 테스트 데이터를 꽤 정확히 예측할 수 있다.) vs Linear Regression
2. 사전 가지치기를 사용함에도 불구하고 과대적합되는 경향이 있어 일반화 성능이 좋지 않다는 점.

  1. 트리 깊이가 4 정도만 되어도 트리가 매우 장황해져 한 눈에 보기 힘들다

분류와 회귀 문제에 널리 사용하는 모델

기본적으로 결정 트리는 결정에 다다르기 위해 예/아니오 질문을 이어 나가면서 학습한다.

profile
archive for me

0개의 댓글