📌 순열 검정법(Permutation test) 비모수 통계 기법입니다. 정규성 가정을 충족하지 못하였을 경우 쓰이죠. 요즘은 실제 데이터가 정규성 가정을 충족한다고.. 보기 어려운 경우가 많기 때문에 이런 비모수 통계 기법을 많이 쓰는 거 같아요. 비모수 통계 중에서도 고전적인 순열 검정법에 대해 알아봅시다. 우리에게는 Wilcoxon으로 많이 알려져 있습니다. 한번 가정해봅시다. 우리가 X와 Y의 두 평균을 비교하고자 합니다. 이 때 X, Y의 분포는 알려지지 않은 공통 분포 $F$로 표현할 수 있다고 해봅시다. 이 때 각각의 분포를 아래와 같이 표현할 수 있습니다. $$ F_X(u) = F(u-\mu_X), F_Y(u) = F(u-\mu_X)$ $$ 여기서 만약에 $F$가 normal distrib..
◼️ 모든 글 ◼️
📌 Elastic Nets(엘라스틱 넷) 먼저 엘라스틱 넷에 대해 이해하기 위해 아래 내용을 참조해주시길 바랍니다. 이어지는 내용입니다. 정규화 방법 : 라쏘와 릿지 엘라스틱 넷은 Ridge regression(릿지 회귀, $L_2$)와 LASSO(라쏘 회귀, $L_1$)을 cobination 한 것입니다. ◼️ Elastic nets 접근 엘라스틱넷의 solution은 아래와 같습니다. $$ \frac1{2n} \sum_{i=1^n}(y_i-\beta_0-\sum_{j=1}^p \beta_j x_{ij})^2 + \lambda((1-\alpha)\frac12 \sum_{j=1}^p \beta_j^2 + \alpha \sum_{j=1}^p |\beta_j|) $$ 릿지의 제곱항과 라쏘의 절댓값항 모두를 ..
📌 정규화 방법? 우리는 일반적으로 최소자승법을 이용한 회귀를 사용합니다. 하지만 최근 표본의 크기가 커지고, 많은 수의 feature들을 이용하는 빅데이터 시대에서는 한계점이 두드러진 방법입니다. 정규화는 회귀 계수에 제약을 가함으로써 과적합을 방지하고 일반화 성능을 높이는 기법입니다. 깊이 들어가면 편향을 조금 허용하는 대신, 분산을 줄이는 것이라고 볼 수 있습니다. 그렇다면 회귀 계수에 제약을 가한다는 것은 무엇인가? 바로 변수 선택을 통해 오차는 낮추고 차원 축소를 하는 것입니다. 이를 어떻게 진행하는지 알아보려고 합니다. 📌 Ridge regression(릿지 회귀) 릿지는 하나의 정규화 방법으로 변수들 사이의 공변량을 조정해줍니다. 한번 아래의 설명과 함께 봅시다. 아래와 같은 linear r..
📌 경사 하강법 최적화 알고리즘 경사 하강법 최적화 알고리즘의 변형들로, 신경망의 학습 속도와 성능을 향상 시키기 위해 고안되었다. ◼️ Momentum method 모멘텀을 사용하는 확률적 경사 하강법은 각 반복에서의 업데이트인 $\Delta w$ 을 기억하고, 다음 업데이트를 그래디언트와 이전 업데이트의 선형 조합으로 결정합니다. 이전 단계에서의 속도(momentum)을 사용해 다음 단계의 속도를 결정하면서 최적화를 수행하는 것입니다. $$ \begin{align} \Delta \textbf{w}^{r+1} &= \alpha \Delta \textbf{w}^r - \eta \nabla E_i ( \textbf{w}^r) \\ \textbf{w}^{r+1} &= \textbf{w}^r + \Delta\..
뉴럴네트워크에서 또한 정규화가 이루어집니다. 추가로 과적합을 피하기 위한 다른 방법인 드롭아웃에 대해 알아보겠습니다. 📌 정규화(Regularization) 정규화를 통해 모델 복잡성을 제어하여 과적합을 방지하고자 하는 목적입니다. 어느 모델과 마찬가지로 L1, L2 Regularization이 존재합니다. 손실 함수에 모델 파라미터의 크기에 대한 페널티를 추가하는 방식입니다. L1 정규화는 가중치의 절대값에 비례하는 페널티를 더하고, L2 정규화는 가중치의 제곱에 비례하는 페널티를 더합니다. 이를 통해 모델이 특정 가중치에 지나치게 의존하지 않도록 제한합니다. $$ \text{cost function = loss + Reguralization term} $$ 정규화 항이 추가되면 가중치 행렬 값이 감소..
이번 포스팅은 경사 하강법입니다. 굳이 Deep learning 카테고리에 추가 안 해도 됐지만.. 뉴럴 네트워크와 연결되니 여기에 포스팅하는 걸로! 📌 Batch Gradient Descent(배치경사하강법) 앞선 포스팅에서 뉴럴네트워크에 대해 알아보았는데, 경사하강법이 등장했었습니다. 배치 경사 하강법은 신경망에서 사용되는 최적화 알고리즘 중 하나로, 학습 프로세스 에서 모델 파라미터를 업데이트하는데 전체 훈련 데이터 셋을 사용합니다. 전체 훈련 데이터셋을 사용하여 비용함수의 기울기를 모델 파라미터에 대해 계산합니다. 이때 에포크라는 것이 등장하는데 이 에포크란 전체 훈련 데이터셋을 한 번 훑는 것이라고 생각하시면 되겠습니다. 업데이트 규칙으로서 모델 파라미터는 에포크 마다 한 번 업데이트됩니다. 장..
📌 NN(Neural network) 뉴럴 네트워크는 통계적인 모델링이나 패턴 인식에 적용되는 기계 학습(Machine learning)중 하나입니다. 기본 원리는 우리의 뉴런과 같습니다. 뉴런의 작동방식에 영감을 받아 만들어진 모델로, 여러 계층의 뉴런들이 서로 연결되어 입력(input)에서 출력(output)으로의 복잡한 mapping을 학습합니다. 각 뉴런은 입력을 받아 가중치를 적용하고 활성화 함수를 통과하여 이의 결과를 다음 뉴런으로 전달합니다. 신경망 구조로서 뉴럴 네트워크를 입력 계층, 은닉 계층, 출력 계층으로 구성됩니다. 각 계층은 여러 뉴런으로 이루어져 있고, 이 신경망의 깊이(은닉 층의 개수), 그리고 너비(뉴런의 개수)를 결정하는 것이 point라고 할 수 있습니다. ◾ Feed F..
📌 GAM(Generalized additive Model) 통계 모델링에서 사용되는 강력한 방법 중 하나로 다양한 예측 변수들을 효과적으로 다루면서 비선형성과 상호 작용을 모형화(여기선 안다룸)할 수 있는 모델. 다변량 함수 형태로 각 변수의 영향을 표현하고, 이러한 함수들을 결합하여 종속 변수와의 관계를 모델링한다. 일반화 선형 모델(Generalized Linear Model, GLM)의 확장 모형으로, 여러 예측 변수들 간의 비선형 관계를 고려할 수 있다. 기존 선형 확장 모델에서 $\beta_0 + \Sigma_j \beta_j X_j$의 모델을 사용했다면 함수를 결합하기 때문에 아래와 같은 모델로 사용한다. $$ \beta_0 + \Sigma_j f_j (X_j) $$ 각각의 $f_j$(for..
📌 로컬 회귀(Local Regression) 로컬 회귀 자체는 스플라인과 유사하지만 영역(region)들이 서로 겹치도록 허용되며, 이들 영역은 부드럽게 연결됩니다. 비모수 회귀 방법 중 하나로, 특히 데이터의 지역적인 패턴을 보고자 할 때 유용합니다. 기본적으로 특정 관측치 주변에서 회귀 모델을 만들어 해당 지역의 패턴을 파악하고, 이를 다른 지역과 겹치게 함으로써 전체 데이터에 대한 부드러운 회귀 모델을 형성합니다. 당연히 데이터가 지역적 특징을 가질 때 유용하고, 스플라인과 같은 전역적인 회귀모델은 전체 데이터에 대한 단일한 함수를 가정하지만, 로컬 회귀는 데이터의 지역적 특성을 놓치지 않고 볼 수 있습니다. 즉! 데이터가 비선형성이 강하고 지역적인 특이성을 파악하고자 할 때 사용합니다. 어떠한 ..
📌 Smoothing spline smoothing spline(스무딩 스플라인)은 회귀 스플라인(링크 : 회귀 스플라인)과 유사하지만 약간 다른 상황에서 나탄나다. 이름에서 드러나는 것 처럼 잔차 제곱합 기준을 최소화 하면서 smoothness penalty(부드러움 패널티..?)를 고려하는 방식으로 생성된다. 이는 데이터에 부드러운 곡선을 적합시키는 통계적 방법 중 하나로, 데이터에 대한 복잡한 관계를 모델링하고자 할 때 사용된다. 잔차 최곱합을 최소화 하면서도? 부드러운 곡선을 유지하기 위해서 패널티 항을 추가한다는 얘기.. 자유도를 가진 함수를 사용하여 데이터를 설명하고, 이 함수의 곡률, 기울기에 제약을 두어 부드러운 형태를 유지하는 방식을 사용. 즉! 우리가 조정해줄 하이퍼 파라미터가 존재한다..