목록Artificial Intelligence (44)
ROKO
Notation\( z^([1]) \): 1번째 layer로부터 나온 값\(z^{[1]}_1\): 1번째 layer로부터 나온 값중 1번째 node|(\z^{[1](1)}\): 1번째 training data로 계산한 1번째 layer 값\(a^{[0]}=X\)[]: subscript square bracket[]는 노드 (node)나 층 (layer)에 관련한 정보를 주는 표시이고 ()는 이전에 정의했다시피 training data에 대한 정보를 의미한다. .층이 하나인 logistic regression이 아닌 multi layer 상황을 다룬다. 각 층은 입력층 은닉층.출력층으로 구분된다. Activation function수식에서 활성함수는 g()로 표현한다. 보통 최종 출력값이 0~1이 나와야하..
Vectorizationfor loop 병목현상을 효과적으 해결하는 skill이다.보통 GPU를 활용해 병렬처리를 하는데 jupyter notebook은 기본적으로 CPU에서 돌아간다. 그럼에도 vectorization이 효과가 있는 이유는 CPU, GPU 모두 SIMD (single instruction multiple data) instruction이라는 병렬 명령어를 지원하기 때문이다. 따라서 많은 데이터를 처리하는 경우 numpy를 적극 사용하는것을 추천한다. 자세한 실험들은 아래 링크에서 확인하자.https://tech.kakao.com/posts/349 NumPy와 C++ Extensions의 성능 비교 - tech.kakao.com파이썬은 놀라운 생산성을 발휘하는 언어입니다. 하지만 성능 문..
고양이 사진을 입력으로 받아 고양이인지 아닌지 이진분류하는 로지스틱 회귀 모델에 대해 얘기한다.우선 컬러 색상이 있는 이미지의 경우 이미지의 높이, 너비와 색을 표현하기 위한 R,G,B 3가지 채널로 분리되어 총 HxWx3의 숫자들로 표현된 데이터로 나타낼 수 있다. 따라서 모델의 목표는 HxWx3 의 크기에 해당하는 데이터를 input으로 받아 고양이가 맞다면 1 아니라면 0을 반환하는 과정을 학습하는 것이 목표다. 표기 정의\((x,y) \, x \in R^{n_x},y \in \{ 0,1\} \) - \( n_x \): feature 크기, x: data, y: label\( m: \{ (x^{(1)}, y^{(1)}) \cdots (x^{(m)}, y^{(m)}) \} \) - 학습데이터 개수..
신경망 (neural networks)은 input으로부터 output을 예측하도록 하도록 하는 알고리즘이다. 이때 hidden units은 input 값에 의존적이며 구체적인 특징 값을 의미하지 않고 그저 output을 잘 예측하기 위한 임의의 값으로 학습된다. 현재 경제적 가치를 이끌어내는 딥러닝은 대부분 지도학습 (supervised learning)을 이용한 모델들이다. 지도 학습이란 input(x)에 대해 대응되는 output(y)가 존재하는것을 의미하고 모델은 input x에서 output y로 매핑하기 위한 함수를 학습한느것이 목적이 된다. 쉽게 말하면 데이터에 대한 정답이 주어진 환경을 학습하는 것을 말한다. Input (x)Output (y)ApplicationHome features (..
Overview PCA = linear AE PCA ~ MF MF는 matrix completion 문제로 확장하여 볼 수 있다 PCA와 MF의 차이점은 무엇일까? Matrix Factorization은 SVD(Singular Value Decompostion)를 활용하기 때문에 정확히 비교하자면 PCA vs SVD를 살펴보아야한다. PCA -> \(X ≈ UZ\) SVD -> \(X = U\Sigma V^T\) \(X\)가 mXn matrix라고 했을때, \(U\)는 mXm matrix인 orthonormal columns 이다. \(V\)는 nXn matrix인 orthonormal rows이다. \(\Sigma\)은 mXn diagonal matrix로써 min(m,n) 개수(rank)만큼의 non..
mixture model 비지도 학습에는 label k가 없기에 latent z를 사용한다. \(p(x)=\sum_zp(x,z)=\sum_zp(x|z)p(z)\) 대표적인 mixture model인 GMM을 알아보자. GMM은 더 일반화된 분포를 다룰수 있다. \(p(x)=\sum_{k=1}^K\pi_kN(x|\mu_k,\sum_k),\pi_k\) : mixing coefficients \(\sum_{k=1}^K\pi_k=1,\pi_k\geq0, \forall k\) GMM은 밀도추정을 하고 universarial approximator 이다. 심지어 diagonal GMM 또한 universarial approximator이다. MLE \(lnp(X|\pi,\mu,\sum)=\sum_{n=1}^Nln(..
density modeling 중 nonparametric방식으로 latent data 없이 모두 관측 가능한 데이터셋에 대해 적용하는 기법이다. latent variable이 있거나 never observed 되는 부분이 있는 데이터라면 latent variable models이라고 부른다. Clustering 비슷한 데이터끼리 집합으로 모으는 방식으로 다른 집합끼리는 데이터끼리도 서로 다르다. label없이 데이터의 유사도끼리 grouping 하는 걸 clustering 이라고 한다. 이때 유사도를 어떤 metric으로 결정하냐에 따라서 다양한 cluster가 생성된다. 위의 예시는 multiple modes가 있으므로 multimodal distribution이라고 부른다. k-means intui..
Discriminative models : P(Y|X)을 바로 추정하는 확률모델 Generative models : P(X|Y)를 추정하는 확률 모델 생성모델의 의미 X가 어떤 class인지 확률을 아는 것보다 class를 대표하는 데이터는 어떠한 형태일까를 추정하는게 더 좋지 않을까? Bayes Classifier \(h(x)=\underset{k}{argmax}p(t=k|x)\) \(=\underset{k}{argmax}\frac{p(x|t=k)p(t=k)}{p(x)}\) \(=\underset{k}{argmax}p(x|t=k)p(t=k)\) What if x is discrete or continous? x 변수가 이산형 분포인지 연속형 분포인지에 따라 생각해보자는 의미이다. https://www...
이전 포스트에서는 MLE 방식을 통해 롹률모델을 최적화하는 방법을 알아보았다. Maximum likelihood(MLE)의 단점 Data sparsity -> overfitting 최대 가능도에 대한 확률을 데이터셋의 분포를 통해 결정하므로 데이터가 적은 경우나 편향 된 경우 잘못 추정할 수 있다. Bayesian parameter estimation MLE에서 dataset을 random variable로 보지만, parameter는 그렇지 않다. Bayesian approach는 parameters 또한 prioir로부터 얻어진 random variable로 본다. Bayesian model을 정의하기 위해서는 prior distribution과 likelihood 가 필요하다. Posterior d..
확률은 빈도주의와 베이지안 관점 2가지로 나뉜다. 빈도주의는 큰 수의 법칙을 이용해 반복적으로 관측할 수 있는 사건을 확률로 정의하고, 베이지안은 어떠한 사건이든 각각 다른 확률로 사건이 일어날 믿음의 정도를 기준으로 확률을 정의한다. 큰 차이는 빈도주의는 확률이 고정적이나 베이지안 추가적인 관측에 따라 믿음의 정도(확률)가 달라진다. 주사위에서 1이 나올 확률은 무엇일까? (빈도주의) 1/6 (베이지안) 특정 불가 Why? (빈도주의) 주사위를 반복적으로 큰 수 만큼 던지며 1/6에 근사하는 것을 보고 무한번 던지면 1/6이 될것이라고 믿는다. (베이지안) 자연계의 모든 확률을 고려하여 1이 나올 확률, 정확히는 알 수 없음 이번엔 우도,가능도의 관점에서 빈도주의와 베이지안의 차이점을 보자. 주사위에서..