1. 왜 해야하는가? 원본 데이터의 값 범위가 크게 다를 경우, 일부 머신러닝 알고리즘에서는 정규화를 하지 않으면 목적 함수가 제대로 작동하지 않을 수 있습니다. 예를 들어, 많은 분류기(classifier)들은 두 지점 간의 유클리드 거리(Euclidean distance)를 계산합니다. 만약 어떤 특성(feature)이 매우 넓은 값의 범위를 가진다면, 이 거리 계산은 해당 특성에 의해 지배될 수 있습니다. 따라서 모든 특성의 값 범위를 정규화하여, 각 특성이 최종 거리 계산에 거의 비슷한 비중으로 기여하도록 하는 것이 중요합니다. 또한, 정규화를 적용하는 또 다른 이유는 경사 하강법(gradient descent)이 정규화를 통해 훨씬 더 빠르게 수렴하기 때문입니다. 정규화는 손실 함수에 정규..
matrix나 tensor는 linear transformation이다. 1차원의 [0,1]의 선분을 linear transformation T(x)=3x를 통해 변환하면 3배 늘어난 선분 [0,3]이 된다 주어진 2차원의 정사각형 ABCD를 linear transformation 을 통해 변환하면 2배 늘어나고 회전된 정사각형 A’B’C’D’이 된다 조금 더 복잡하게 주어진 정사각형을 늘리거나 회전시키거나 비틀어버리거나 하더라도 linear transformation 수학적으로 vector space V,W에 대하여 f: V → W가 linear map이라는 것은 임의의 vector u,v ∈ V와 scalar c가 $f(u+v)=f(u)+f(v)$ , $f(cu)=cf(u)..
1. history 사람이 프로그래밍을 통해 모델을 설계하여 일을 자동으로 해주는 도구를 만들었지만 초기에는 hyperparameter밖에 없어서 사람이 모든 모수를 직접 정해야했다 머신러닝 시대로 오면서 데이터의 어떤 feature를 주로 쓸 지 모델 설계를 사람이 여전히 해야했지만 일부 parameter를 모델이 자동으로 찾아주었다. 물론 여전히 많은 hyperparameter가 존재했다. 딥러닝 시대로 오면서 사람이 input, output을 던져주면 모델이 알아서 feature를 잡아 모델을 설계했고 대부분의 parameter도 알아서 찾아준다. 극히 일부의 hyperparameter는 여전히 존재했다. 추후에는 진짜 모델 설계부터 parameter search까지 기계가 알아서 해주는 시대가 ..
1. history 사람이 프로그래밍을 통해 모델을 설계하여 일을 자동으로 해주는 도구를 만들었지만 초기에는 hyperparameter밖에 없어서 사람이 모든 모수를 직접 정해야했다 머신러닝 시대로 오면서 데이터의 어떤 feature를 주로 쓸 지 모델 설계를 사람이 여전히 해야했지만 일부 parameter를 모델이 자동으로 찾아주었다. 물론 여전히 많은 hyperparameter가 존재했다. 딥러닝 시대로 오면서 사람이 input, output을 던져주면 모델이 알아서 feature를 잡아 모델을 설계했고 대부분의 parameter도 알아서 찾아준다. 극히 일부의 hyperparameter는 여전히 존재했다. 추후에는 진짜 모델 설계부터 parameter search까지 기계가 알아서 해주는 시대가 올..
1. quantile transformation의 이론적인 설명 주어진 데이터 $x _{1},x _{2} ,...,x _{n}$의 분포를 그려보니 다루기 힘들거나 마음에 안들어서 분포를 변환할 필요가 있다고 합시다. 주어진 데이터 $x _{1},x _{2} ,...,x _{n}$의 분포를 나타내는 누적확률분포함수 $F(x)$를 먼저 구해봅시다. 그런데 관측된 값으로는 이것을 구할 수 없으니 경험적 분포함수로 누적확률분포함수를 추정합니다. 주어진 데이터 $x _{i}$에 대하여 $F(X) \approx F(x _{i} )$로 추정했다고 합시다. 분포함수에 관한 theorem 1에서 "$X$의 누적확률분포함수가 $F(x)$라면 확률변수 $Y=F(X)$는 $U(0,1)$을 따른다”라고 했습니다. 이것이 무슨 ..