혜니니의 공부방

패스트캠퍼스 강필성의비즈니스분석 30일 도전 챌린지! 17일차 본문

공부 기록/데이터분석

패스트캠퍼스 강필성의비즈니스분석 30일 도전 챌린지! 17일차

니니혜 2023. 3. 8. 22:49

23.03.08

#패스트캠퍼스 #패캠챌린지 #수강료0원챌린지 #환급챌린지 #직장인인강 #직장인자기계발#패캠인강후기 #패스트캠퍼스후기 #오공완 #강필성의비즈니스데이터분석

너무힘들고....진자..야근하고와서 하는 강의란 한귀로 흘려지는거시다.. 복습 꼭 해야지 ㅠㅠ 


1. 전진선택법

이론적(theory)으로는 변수의개수가 증가할 때 모델의성능도 증가한다.  하지만, 현실(reality)에서는 변수의 개수가 선형적으로 늘어날 때, 동일한 설명력을 갖기 위해 필요한 객체의 수는 지수적으로 증가하며 차원이 너무 커지면 아래와 같은 문제점을 야기한다.

: 영모델(Empty Model)에서 시작하여

   모든 독립 변수 가운데 종속 변수와의 단순 상관 계수의 절댓값이 가장 큰 변수를 모델에 포함시킴

: 부분 F 검정으로 유의성 검정을 실시한 결과, 유의한 경우에 가장 큰 F 통계량을 갖는 모형을 선택하며 

   유의하지 않는 경우에는 그 변수를 선택하지 않고 과정을 중단함

 : 한번 추가된 변수는 제거할 수 없음

 

차원의 저주

차원의 저주란 차원이 증가하면서 학습데이터 수가 차원 수보다 적어져서 성능이 저하되는 현상을 일컫는다. 차원이 증가할수록 변수가 증가하고, 개별 차원 내에서 학습할 데이터 수가 적어진다.

 

이때 주의할 점은 변수가 증가한다고 반드시 차원의 저주가 발생하는 것은 아니다. 관측치보다 변수 수가 많아지는 경우에 차원의 저주 문제가 발생하는 것이다.

같은 데이터지만 1차원에서는 데이터 밀도가 촘촘했던 것이 2차원, 3차원으로 차원이 커질수록 점점 데이터 간 거리가 멀어진다. 이렇게 차원이 증가하면 빈 공간이 생기는데 빈 공간은 컴퓨터에서 0으로 채워진 공간이다. 즉, 정보가 없는 공간이기 때문에 빈 공간이 많을수록 학습 시켰을 때 모델 성능이 저하될 수밖에 없다.

 

 

고차원 공간은 이렇게 공간이 많아 훈련 데이터가 서로 멀리 떨어져 있고 새로운 샘플도 훈련 샘플과 멀리 떨어져 있을 가능성이 높다. 그렇기 때문에 예측을 위해서는 외삽법(=보외법)을 많이 사용해야 하는데 이러면 오버피팅 발생 가능성이 높다.

이러한 차원의 저주 문제를 해결하기 위한 이론적인 해결책은 훈련 샘플의 밀도가 충분히 높아질 때까지 데이터를 모아서 훈련 세트의 크기를 키우는 것이다. 하지만 아쉽게도 일정 밀도에 도달하기 위해 필요한 훈련 샘플 수는 차원의 수가 커짐에 따라 기하급수적으로 늘어난다.

 

 

예를 들어 크기가 1인 2차원 평면에 0.1 거리 이내에 훈련 샘플을 모두 놓으려면 최소한 10 x 10 개의 샘플이 필요하다. 이를 100개의 차원으로 확장하면 10^100개의 훈련 샘플이 필요하다. 우주에 존자하는 원자 수가 10^80개라고 하니 사실상 불가능한 방법이라고 할 수 있다..ㅋㅋ 그렇기 때문에 현실적으로는 PCA와 같은 차원축소 기법을 이용해서 차원의 저주 문제를 해결한다.

 

 

특성 수를 크게 줄여 차원축소를 하면 훈련 속도가 빨라지고 시각화 하기에도 좋다. 다만 일부 정보가 유실되기 때문에 성능도 조금 나빠질 수 있다. 따라서 무작정 차원 축소를 하기 보다는 원본 데이터로 훈련해서 시간이 오래 걸리는지 확인하고 차원축소 필요 여부를 결정할 필요가 있다.

 

2. 후방소거법

 : 전체 모형(Full Model)에서 시작하여 하나씩 변수를 제거하며

     전진 선택법과 반대로  상관 계수의 절댓값이 가장 작은 변수에 대해 부분 F 검정으로 유의성 검정을 실시함

    : 검정 결과가 유의하지 않은 경우에는 그 변수를 제거하고, 제거된 모형에서 같은 방법으로 변수들을 차례로 모형에서 제거함

      검정의 결과가 유의하면 그 변수를 제거하지 않고 과정을 중단함

   : 한번 제거된 변수는 추가할 수 없음

3. 단계적선택법

    : Forward Selection과 Backward Selection을 보완한 방법 그러나 계산 속도면에서 위 방법보다 느림

    : Forward Selection을 통해 가장 유의한 변수를 모형에 넣고,

      그 후 나머지 변수들에 대해 Backward Selection을 적용하여 새롭게 유의하지 않게 된 변수들을 제거함

    : 제거된 변수는 다시 모형에 포함되지 않으며 유의한 설명변수가 존재하지 않을 때까지 과정을 반복함


본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

http://bit.ly/3Y34pE0

Comments