Python(81)
-
모델 평가 및 선정 > 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 -
Smoothing Spline
우리가 앞서 정리했던 Cubic Spline, Natural Cubic Spline은 knot이라는 절단점을 정하여 구간별로 적절한 3차 다항식을 Fitting하였습니다. Smoothing Spline은 knots의 Maximal set을 활용함으로써 절단점을 어디로 할지 결정하는 것에 있어서 자유롭습니다. 즉 주어진 Input X의 Unique한 모든 값을 knot으로써 활용한다는 것입니다. 따라서 Smoothing Spline을 구현하는 것은 모든 Unique한 X값을 knot으로 하는 Natural Cublic Spline을 구현한 것과 같습니다. 다만, 아래의 식에서 보는 것과 같이 추가적인 Penalty가 주어지기 때문에 $\lambda$가 0이 아니라면 Ridge, Lasso와 같이 Natur..
2021.03.12 -
Natural Cubic Spline
Natural Cubic Spline을 다루기에 앞서, 지난 포스팅(direction-f.tistory.com/85)에 다루었던 Regression Spline에 대해서 다시 한 번 정리하고 가보도록 하겠습니다. Regression Spline은 절단점에서 연속이라는 제한조건을 추가로 부여하여 다항식을 적합하는 것입니다. 이는 Basis Exapansion관점에서 해당 제한조건을 만족하는 적절한 Basis Function을 찾아서 Fitting 하는 것과 마찬가지 였습니다. 마찬가지로 Basis Exapansion 관점에서 추가적인 제한조건을 추가하게 되면 기존과 다른 Basis function을 찾게 될 것임을 직관적으로 예상할 수 있습니다. 여기서 가장 작은 절단점보다 값이 작은 구역과 가장 큰 절단..
2021.03.09