본문 바로가기

딥러닝기초

(17)
딥러닝에서 사용하는 가우시안 분포 기초개념 Probability VS Likelihood 주사위의 경우의 수와 같은 이산확률분포에서는 probability = likelihood 이지만 연속확률분포에서는 probability != likelihood 이다. 연속확률분포에서는 면적이 확률이 된다. ex) 강수량이 100mm~ 150mm 일 확률 즉 특정 사건 딱 오늘 비가 115mm 내릴 확률에 대해서는 0이겠다. probability가 될 때 0이지만, likelihood는 y값이다. Likelihood란 지금 얻은 데이터가 이 분포로부터 나왔을 가능도를 뜻한다. Maximum Likelihood Estimation에서 봤던 것처럼, 데이터 샘플에서 후보 분포에 대한 높이(likelihood 기여도)를 다 곱한 것을 이용할 수 있을 것이다. 가우..
분산부터 공분산행렬까지 분산, 공분산, 상관계수, 공분산행렬까지 개념을 살펴보자. Variance 분산 확률변수 X가 평균으로부터 얼마나 퍼져있는가? $$Var(X) = E[(X-\mu)^2]$$ Covariance 공분산 1개의 변수 값이 변화할 때 다른 변수가 어떠한 연관성을 나타내며 변하는지를 측정한다. $$Cov(X, Y) = \sigma_{XY} = E[(X-E(X))(Y-E(Y))] = E(XY) - E(X)E(Y)$$ 여기서 알 수 있는 것은 단 세가지로, $Cov(X, Y) > 0$ : X와 Y가 양의 선형관계이다 $Cov(X, Y) < 0$ : X와 Y가 음의 선형관계이다 $Cov(X, Y) = 0$ : X와 Y가 아무런 선형 상관관계를 갖지 않는다. 이때 확률 변수 X, Y가 독립이면 $Cov(X, Y) = ..
커널함수와 함께하는 Non linear SVM 지금까지는 선형 분리가 되는 상황을 가정하였다. 그렇다면 선형 분리가 어려운 경우에는 어떻게 해야할까? 우리는 multi layer perceptron으로 XOR 문제를 해결할 때 공간변환을 통해서 선형 분리가 가능한 상황으로 바꾸었다. 그러나 모든 데이터셋에 샘플마다 공간 매핑을 적용하게 되면 데이터셋이 커질 수록 계산 복잡도가 증가한다 ㅠㅠ 그래서 Kernel Trick을 사용한다. 당연히 모든 데이터셋에 공간 변환을 적용할 필요가 없으니 사용하겠다. 선형 SVM시 L을 최대화시키는 데에는 오직 x의 내적만이 영향을 미친다고 하고 끝냈었다. 그 점을 이용하여 어떤 수식이 벡터 내적을 포함할 때 그 내적을 커널 함수로 대치하여 계산한다. 커널함수란, 원래 특징공간 $L$에 정의된 두 특징 벡터 x와 z..
선형 SVM까지 끝장보기 이전 시간에 훈련샘플의 개수만큼 제약조건 식이 세워지는 대참사가 일어났다. $$\textrm{minimize } J(w) = \frac{1}{2}||w||_2^2$$ $$\textrm{subject to } y_i(w^Tx_i + b)-1\geq 0, i=1,2, ... , n$$ 여기서 라그랑즈를 사용한다! 우리는 KKT Condition에서 $$\textrm{minimize } f(x) \textrm{ subject to } g(x)\leq 0$$ 라그랑즈로 우리는 다음처럼 표현했다. $$L(x, \lambda) = f(x) + \lambda g(x)$$ 제약조건마다 $\lambda$ 대신 $\alpha_i$를 붙여서 표현하면 다음처럼 된다. $$L(w, b, \alpha) = \frac{||w||^..
서포트 벡터 머신(SVM) 식까지 세워보기 Decision Boundary 선형을 거쳐 나온 $w^Tx$에 아래와 같은 activation function을 거치면 그 값이 threshold보다 크냐 작느냐에 따라서 결과가 달라진다. 아래에서는 세로축을 기준으로는 빨간 x인 0과 0.5가 threshold인 상황이다. 두 함수 공통적으로 가로축 기준 $z=w^Tx$값이 0보다 크냐 작냐로도 이야기할 수 있겠다. 즉 $z=w^Tx = 0$이 결정적인 순간이 된다. Decision Boundary is, $d(x) = w^Tx = 0$ 2차원의 feature space에서 1차원 직선의 boundary가 그려지듯이, 항상 n차원의 feature space에서 n-1차원의 boundary가 그려진다. 이 decision boundary를 hyperpl..
Constraint Optimization와 같이 정리하는 KKT condition 제약 최적화 문제를 푸는 방법을 알아본다. Convex 함수를 가정한다. Constraint Optimization 문제는 세 가지로 나뉠 수 있다. 1) No Constraint minimize $f(x)$ 2) Equality Constraint minimize $f(\bar{x})$ subject to $g(\bar{x}) = 0$ 3) Inequality Constraint minimize $f(\bar{x})$ subject to $g(\bar{x}) \leq 0$ No Constraint 이 경우에서는 함수를 미분해서 0되는 지점을 따져서 최솟값을 구하면 되겠다. Equality Constraint minimize $f(x_1, x_2) = x_1^2 + x_2^2 - 1$ subject to..
[SVD]Singular Value Decomposition와 고유치 및 고유벡터 PCA : input들의 공분산을 분해하여 데이터의 분포를 가장 잘 설명하는 최대 분산 축을 찾음. input들의 공분산을 분해하여 데이터의 분포를 가장 잘 설명하는 k개의 축을 파악 SVD : 행렬 자체를 분해. 정방 행렬이 아니어도 가능함 PCA를 설명하면서 간단하게 고유치, 고유벡터의 정의를 살펴보았다. n x n의 행렬로부터 고유치와 고유벡터 n개의 열벡터를 모아 행렬 $V$로 나타내면 다음과 같이 $\lambda$가 대각성분을 지니게끔 할 수 있다. 그렇게 나타낼 수 있는 이유가 아래에 제시되어있다. 위와 같이 나타낼 수 있도록 하는 trick이다. 그러므로 우리는 위를 통해서 $AV = VD$로 표현 가능하고 이는 곧 $A=VDV^{-1}$ 이를 Eigen-Decomposition 라고 부른다..
[PCA] 고유치, 고유벡터의 대표적인 활용 PCA 훈련 집합을 이용하여 특징 추출이 사용할 변환 행렬 U를 추정 이전에는 s → 특징 추출 → x 같은 모습이었다면, PCA를 통해 훈련집합 → 변환행렬 U 추정 → 특징 추출 과정을 추가적으로 수행한다. 그러면 기존의 데이터를 질좋은 feature로 구성할 수 있게 된다. 특징 벡터 x의 차원 줄이기 + 정보 손실 최소화 차원 축소를 어떻게 표현할 것인가? 정보 손실을 어떻게 수량화 할 것인가? 차원 축소 표현하기 pca는 차원 축소를 신호 공간에 정의된 어떤 축으로의 투영으로 표현한다. 다음은 2차원 공간을 각기 하나의 축에 투영하여 1차원으로 축소된 모습이다. 그림을 보면 (a)