Python(71)
-
Decision Tree Model
지난 포스팅(https://direction-f.tistory.com/98)에서 Regression Tree와 Classification Tree에 대한 개념을 정리하였는데, 이 개념을 바탕으로 현재 가장 활발하게 적용되고 있는 알고리즘은 CART(Classification And Regression Tree)알고리즘입니다. CART알고리즘의 대표적인 특징은 Binary 노드로 분기된다는 것이고, 이 알고리즘은 차후 Random Forest나 Bagging/Bossting을 적용한 알고리즘에도 활용됩니다. 지난 포스팅에서 정리했던것과 같이 Regression Tree는 실제값과 예측값이 최소화 되도록, Classfication Tree는 불순도를 최소화하도록 구역을 나누되, Classification T..
2021.10.15 -
Generalized Additive Models(GAM)
앞서 우리는 하나의 Feature를 다항식, Basis function으로 나타냄으로써 비선형적으로 다루는 방법에 대해 다루었습니다.(https://direction-f.tistory.com/85, https://direction-f.tistory.com/86, https://direction-f.tistory.com/87) GAM은 이를 좀 더 확장하여 변수가 여러개 일 때 변수들간의 가법성(Additive)를 유지하면서 비선형을 부여할 때 활용할 수 있는 방법입니다. 따라서 GAM은 아래와 같이 표현될 수 있습니다. 이 때 $f_j$는 Feature $X_j$에 대해서 비선형성을 가진 함수를 나타냅니다. GAM은 logit이나 probit과 같은 GLM에 대해서도 적용될 수 있으며, link func..
2021.08.15 -
모델 평가 및 선정 > Bootstrap Method
머신러닝에서 일반적으로 bootstrap 방법은 Trianing dataset이 부족할 때, dataset의 규모를 늘릴 때 많이 활용되는 방법입니다. 통계학관점에서는, 평균과 같은 측정된 통계치에 대한 통계적 검증 및 신뢰성 확보를 위해 활용하곤 합니다. Bootstrap을 수행하는 기본적인 방법은 복원추출을 활용하여 기존 Training data의 수와 똑같은 수의 dataset을 추출하는 것입니다. 만약 N개의 Bootstrap data set을 만든 후 data의 총 합과 같은 어떤 관측값을 도출해본다고 생각해보겠습니다. 원래 하나의 dataset만 있다면 해당 값의 분산을 구하는 것은 어렵지만 Bootstrap을 활용한다면 이러한 것이 가능하게 됩니다. 이와 마찬가지 생각을 모델 Error에도 ..
2021.06.28 -
커널 밀도 추정 기반 Classification
커널 밀도를 추정하게 되면 우리는 데이터에 대한 확률 분포를 추정한 것과 같게 됩니다. 따라서 LDA(direction-f.tistory.com/80?category=954338)에서 분포를 활용하여 Classification을 수행한 것과 동일한 원리로 Classification을 수행할 수 있게 됩니다. 즉 Bayes Rule을 적용하여 Classification을 수행하게 됩니다. Bayes Rule에 따라 아래와 같이 정리되고 이 때 확률은 다음과 같이 정의됩니다. 최종적으로 $Pr(G|X)$는 $Pr(X|G)$와$Pr(G=k)$에 비례하게 되므로, 최종적으로 아래와 같이 정리 됩니다. LDA와 다른 점은 우리는 $f_k(x)$를 KDE로 추정하여 활용한다는 것입니다. Python을 활용하여 추정..
2021.04.19 -
커널 밀도 추정(Kernel Density Estimation, KDE)
Kernel density estimation은 unsupervised learning으로, 밀도 추정 방법 중에 하나입니다. 우리가 가장 흔히 알고 있는 밀도 추정 방법 중에 하는 히스토그램입니다. 다만 히스토그램은 각 계급간 불연속적 이고 계급의 크기나 시작위치에 따라 형태가 쉽게 달라지는 단점이 있습니다. KDE는 말그대로 Kernel을 활용하는 것으로 Kernel Regression본 것과 같이 연속적입니다. 따라서 부드러운 밀도 함수를 도출해낼 수 있습니다. KDE에서 분포를 찾아가는 과정은 아래와 같습니다. Kernel Regression에서 Kernel을 활용한 기본적인 개념은 나(기준)와 가까운 것에 가중치를 주는 것이였습니다. KDE에서도 마찬가지입니다. $x_0$이 있다고 가정해보면 $..
2021.04.12 -
KRR(Kernel Ridge Regression)
이번 포스팅에서는 Parametric한 방법론으로, Kernel Trick을 활용한 Regression에 대해서 다루어보도록 하겠습니다. Kernel Trick을 활용한 Regression은 Basis Expansion과 개념적으로 동일하게 Input 변수 X를 커널함수를 활용하여 Mapping한 변수를 활용하여 파라미터를 추정하는 것입니다. (Basis Expansion 개념의 쉬운 예로 Polynomial Regression같은 경우는 Input X를 제곱, 세제곱하여 새로운 값를 만들어 Regression을 하여 특정 Parameter $\beta$를 추정하였습니다.) [Kernel Ridge Regression] Kernel Ridge Regression의 경우에는, 위에서 정리된 것과 동일하게 ..
2021.03.23