brunch

You can make anything
by writing

C.S.Lewis

by 이유민 Aug 24. 2021

7. 비선형분류모형2

knn 정의와 가까움


- 분류하고자 하는 새로운 데이터와 가장 가까운 k개의 학습데이터를 클래스 분류

- 주로 속한 클래스로 ! : majoritiy voting

- '가까움'은 데이터들의 입력변수를 이용해 결정


가까움의 정의

- 유클리디안 : 가장 일반적임 (점-점)제곱의 합

- 마할라노비스 : 분산값으로 나눠줘서 scale조정

- 코사인 유사도 : (각의 값)


가까움의 정의(연속값)

- 민코프스키 (Lp)거리 - 시그마 |Xi-Yi|^p

- p=1일경우 맨하튼 distance

- p=2일경우 유클리디안

- p=무한대일경우, x-y값


가까움의 정의(이산값)

- 해밍거리 : 서로 다른 성분의 수

- issues

    : scale이 다른 겨우, 필요에 따라 scaling

    : 고차원의 경우 차원의 저주로 계산 무ㅢ미

    : 차원 축소등의 방법을 사용해야함


k값


k값 결정

- k값은 새로운 데이터 분류 위한 학습데이터의 수 (보통 홀수)

- 보통, validation set의 error통해 결정 (hyperparameter)

- 거리근접도 활용할 때도 있음


k값의 trade-off

- 지나치게 작은 k값은 overfitting

- 지나치게 큰 k값은 underfitting


k근접 이웃 회귀

- 연속값 예측하는 회귀분석 진행할 경우, 근접한 데이터의 값들을 평균으로 사용

- 이때, 거리에 반비례하는 가중치를 이용한 가중평균 방법또한 널리사용


K근접이웃 분류 장단점


장점

- 단순하고 직관적임

- 확률 분포 등 특별한 과정 불필요

- 복잡한 형태의 데이터에서 잘 작동


단점

- 테스트 데이터마다 거리 계산이 필요하여 분류 속도가 느림 : lazy learner

- Scaling, distance measure등 사용자 선택 필요


앙상블


앙상블

- 여러 가설의 집합을 선택하고, 그들의 예측결과를 결합

- 분류오차를 감소 시킬수 있음

- 서로 다른 학습데이터를 사용

- 서로 다른 학습 알고리즘을 사용

- 서로 다른 분류기로부터 발생한 결과를 조합 - 독립적 (majority voting, weighted voting)

- 어떤 하나의 알고리즘도 모든경우에 좋을 수 없음.

- 여러 독립적이고 다양한 결과를 조합해, 무작위 오차들이 상쇄돼 좋은 결과!!!

ex) 1:100 청중평가단의 vote 평균~!


Homogeneous 앙상블

- 한종류의 알고리즘, 학습데이터 다양화

- 학습데이터의 변형에는 여러가지

 1) Bagging: Resample Trainding data (다른 종류의 입력 변수)

 2) Boosting : Reweight training data (같은 알고리즘이지만 서로 다른 모수 선택)


Bagging

- bootstrap aggregation : 학습데이터로부터 n개의 쌤블을 복원 추출

- unstable learner 들의 분산을 감소시킴으로 인하여 전체적인 오차를 감소


Boosting

- weeklearner(정확도 >무작위) 의 집합을 활용해 stronglearner(원하는 수준의 정확도) 만들기

- 샘플링 대신, 데이터들에 가중치 수정

- 매 iteration마다 새로운 가설이 해당 가중치활용해 학습

- 현재 가설에서 오분류된 데이터가 다음 가설에선 많이 바녕될 수 있도록!

- 최종 분류기는 weak classifier 들의 weighted vote


Adaptive Boosting

- 서로 다른 데이터의 분포

- 동일한 가중치로 시작해, 학습단계동안 오분류 데이터 가중치 증가, 정분류 데이터 가중치 감소

=> 이전단계에서 제대로 분류하지 못한 '어려운'데이터들에 집중!!!!

- Weighted Voting

- 좋은 weak classifier가 높은 가중치 부여받음

- 반복적으로 weak classifier추가 ! => 조합된 분류기의 성능을 지속적으로 향상


랜덤포레스트


랜덤포레스트 개념

- 의사결정나무의 bagging!!

- 특정개수의 tree조합. 다만, pruning을 하지 않는다는 특징 있음!!

- 100개 있으면 50개 중복뽑아서 하나 만들고, 그다음 50개 또 뽑ㄱ고 +++ 해서 모델 만든거 조합!


랜덤포레스트 특징

- Increasing m

    : Decision tree 들 간의 correlation 증가 (BAD)

    : 각 tree의 정확도 증가 (GOOD)

- Tuning set 이용해 적절한 m결정가능

- Random forest는

    : 빠른 속도

    : 많은 수의 feature 처리 가능

     : Over fitting방지

    : 실제 문제에서 잘 작동 => 데이터 사이즈가 수천단위일때 RF제일 먼저~!~!~!~!~!!~!~!~


ex) 넷플릭스 추천시스템 +++






        

매거진의 이전글 6. 비선형분류모형1
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari