우선, 작성자는 머신러닝에 대해 그리 많은 지식과 경험은 없다. 하지만, 많은 공부와 서적을 함하여 얻은 지식 중 하나는 머신러닝이 모든 것에 대한 정답이 아니란 것이다. 머신러닝은 우리가 데이터를 보기위한 도구 중 하나이다. 결론을 보고 해석하고 적용하는 것은 결국(아직까진?) 인간의 몫이다. 하고싶은 말은 머신러닝은 코드 몇 줄로 내가 얻고싶은 결과를 얻을 수 있는 것이 아니란 것이다. 머신러닝의 세계에서 "No Free Lunch" (NFL) 이론은 중요한 원칙 중 하나로, 이는 모든 최적화 문제에 대해 일관되게 우월한 알고리즘이 존재하지 않는다는 개념을 담고 있다. 이 이론은 데이비드 H. 울퍼트(David H. Wolpert)에 의해 1990년대에 처음 소개되었으며, 머신러닝 알고리즘의 선택과 ..
🌞 Statistics for AI
📌 조건부 추론 나무(Conditional Inference Trees) Conditional Inference Trees (CIT)는 통계적 학습의 한 분야에서 비교적 새로운 접근 방식으로, 전통적인 의사결정 나무 모델들이(벌써 의사결정 나무가 전통적인 방법이 되었네요 ㅜ) 직면하는 몇 가지 문제를 해결하고자 하기위해 등장했다. 이 방법론은 의사결정 나무를 구축하는 과정에서 통계적 검정을 사용하여 분할을 결정하는 것이 특징이다. 이러한 접근 방식은 데이터 내의 구조를 탐색할 때 발생할 수 있는 과적합과 변수 선택 편향 문제를 줄이는 데 도움을 준다. 의사결정 나무 생성 알고리즘으로 가장 많이 사용되는 CART 알고리즘은 과적합 방지를 위한 Prunning 그리고 gini index를 이용하는 생성 방법..
📌 의사결정 나무와 알고리즘들 의사결정 나무(Decision Tree)는 데이터 과학의 강력한 도구로, 복잡한 데이터 세트로부터 의미 있는 정보를 추출하고 예측 모델을 구축하는 데 널리 사용된다. 실제로 우리 Data mining, ML에 관해 공부할 때 거의 기초 수준으로 공부하고 볼 수 있는 모델이다. 이 방법론은 그 이름에서 알 수 있듯이, 결정 규칙을 나무 구조로 조직화하여 결과를 도출한다. 각 분기는 데이터의 특성에 따른 결정 과정을 나타내며, 최종적으로 리프 노드에 도달하여 결론을 내린다. 이러한 과정은 복잡한 의사 결정 과정을 직관적이고 이해하기 쉬운 방식으로 시각화할 수 있게 해준다.(가장 큰 장점) 의사결정 나무의 핵심 가치는 그 간결함에 있다. 데이터의 내재된 패턴을 명확하게 파악할 수..
이미 통계 학습 카테고리에서 소개한 방법이지만 Resampling의 파트에서도 자세히 소개해보고자 합니다. - LOO and K-fold 아래에서 설명하는 내용은 모두 Train set를 이미 따로 둔 상태를 가정하고 설명하는 겁니다. 📌 Hold-out Hold-out방법의 경우 간단합니다. 보통 50:50을 사용하고 주어진 데이터를 랜덤하게 Train set, Validation set로 나눕니다. with R # Auto data의 mpg 사용. library(ISLR) set.seed(42) data = Auto$mpg dim(data.frame(data)) >> 392 1 # caret이용 library(caret) train = createDataPartition(data, p=0.5) dim..
📌 Bootstrap 부트스트랩? 최대우도? 부트스트랩 방법은 복잡한 데이터 세트의 추정치를 분석하고 이해하기 위해 널리 사용되는 강력한 재표본 추출 기술입니다. 이 접근법을 통해 연구자들은 원본 데이터 세트에서 복원 추출을 수행하여, 모집단의 실제 특성을 모르는 상황에서도 통계적 추정치의 신뢰성과 정확성을 높일 수 있습니다. 부트스트랩의 핵심은 간단합니다. 주어진 데이터 세트에서 무작위로 샘플을 복원 추출함으로써, 새로운 "부트스트랩 샘플"을 생성하고, 이를 통해 원본 데이터의 통계적 추정치를 다시 계산합니다. 이 과정을 여러 번 반복하면, 추정치의 분포를 얻을 수 있으며, 이를 통해 실제 모수에 대한 근사치를 더 정확하게 추정할 수 있습니다. 우리는 실제 모수에 대한 정보를 알 수 없습니다. 그래서 ..
📌 Jackknife Jackknife기법입니다. 우리에게는 leave-one-out과 비슷한 것으로 많이 알려져 있죠? 추정치의 편향을 감소시키기 위해 개발되었습니다. LOO처럼 데이터에서 한 번에 하나의 관측값을 제외하면서 통계량을 recompute하는 방법입니다. 이를 통해 우리는 통계량의 변동성(Variability)를 추정할 수 있습니다. Jackknife 방법론은 통계학에서 편향성 감소와 데이터의 변동성 추정을 위해 널리 활용되는 재표본추출 기법입니다. 이 방식은 전통적인 leave-one-out 교차 검증과 유사한 절차를 따르면서, 단일 데이터 세트로부터 다양한 통계적 추정치의 분포를 파악할 수 있는 효율적인 접근법을 제공합니다. 어떤식으로 jackknife가 진행되는지 아주 간단하게 본다면..
📌 순열 검정법(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\..