본문 바로가기

전체 글

EM(expectation maximization) 알고리즘 python 구현 EM 알고리즘은 다음과 같은 목표 함수를 최소화 하는 것이다.$$J= {\sum_{n=1}^N \sum_{k=1}^K r_{nk} \Vert x_n - u_k \Vert^2}$$여기서 \(N\)은 데이터의 갯수 \(K\)는 집단의 갯수이다.\( r_{nk}\)는 데이터 포인터 \(x_n\)대한 이진 표시 변수 \(r_{nk} \in {0,1}\)을 도입한 것이다.목표는 \( J\)를 최소화하는  \(\{r_{nk}\}\)와 \(\{u_{k}\}\) 를 찾는 것이다.이를 위하여 반복적 과정을 통해 \(r_{nk}\) 와 \(u_{k}\)의 최적화를 수행한다.일단 \(u_{k}\) 에 대한 초기값을 설정한다.첫단계 \(u_{k}\) 를 고정한 채로 \( J\)를 최소화하는 \(r_{nk}\) 를 찾는다.두번.. 더보기
윈도우에서 tensorrt 설치 하기 및 python 확인 처음 tensorRT를 윈도우에서 설치하려면 어디서 부터 시작 해야 할지 조금 당황스럽다. 인터넷을 찾아 보면 아래와 같이 설치한다고 되어 있지만, pip install nvidia-pyindex pip install nvidia-tensorrt 실제로 해보면 두번째 줄에서 에러가 발생한다. 윈도우는 내길이 아닌가 하는 생각이 들지만 계속 구글링을 해본다. 1. tensorRT 홈페이지에 들어가 환경에 맞는 zip 파일을 다운로드 받는다. https://developer.nvidia.com/nvidia-tensorrt-download 윈도우 버전이고 CUDA 11.2가 설치 되어 있으므로 TensorRT 8.4를 선택했다. 파일을 다운 받아 D: 최상위에 풀면 아래와 같이 된다. D:\TENSORRT-8.. 더보기
tensorflow dataset padded_batch 함수 입력데이터의 크기가 가변 일때 같은 크기로 읽을 수 있게 변환해 주는 함수이다. 샘플을 보면 그리 어렵지 않게 사용법을 익힐수 있다. padded_batch padded_batch( batch_size, padded_shapes=None, padding_values=None, drop_remainder=False ) Combines consecutive elements of this dataset into padded batches. This transformation combines multiple consecutive elements of the input dataset into a single element. Like tf.data.Dataset.batch, the components of the .. 더보기
tf.transpose 함수 사용하기 텐서플로의 transpose 함수는 행렬 연산의 transpose 를 구현하는 함수이다. 함수의 사용법은 아래와 같고, tf.transpose( a, perm=None, conjugate=False, name='transpose' ) a A Tensor. perm A permutation of the dimensions of a. This should be a vector. conjugate Optional bool. Setting it to True is mathematically equivalent to tf.math.conj(tf.transpose(input)). name A name for the operation (optional). Args A transposed Tensor. Returns .. 더보기
우분투 initramfs unpacking failed /etc/initramfs-tools/initramfs.conf 파일을 열어서 COMPRESS=lz4, to COMPRESS=gzip 로 바꾸고 sudo update-initramfs -u 하면 되는데... 이렇게 하면 부팅이 느려지는 것 같다. COMPRESS=lz4 로 하고 $ sudo update-grub;sudo update-initramfs -c -k all;sudo update-grub 하는 것도 방법이라고 함. 더보기
Bayes Discriminants and Neural Networks Pattern Classification Duda 책에 나온 Bayes룰과 Neural Networks의 관계에 대하여 증명하는 내용이 다소 불친절하여 좀 더 정리하고자 한다. Neural Networks에서의 \( k\)번째 출력을 \( g_k (x;w_k)\) 라고 한다. 카테고리가 \(w_k)\) 일때 이에 해당하는 discriminant function이 된다. Bayes 룰은 아래와 같다. $$ P(w_k | x) = \cfrac{p(x | w_k)P(w_k)}{\sum_{i=1}^c p(x|w_i)p(w_i)} = \cfrac{p(x,w)}{p(x)}$$ 어떤 패턴 \( x\) 에 대한 Bayes decision : \( g_k(x) =P(w_k|x) \)를 갖는 가장 큰 카테고리 \(w_k .. 더보기
Sufficient Statistics and the Exponential Family Factorization Theorem 이 어떻게 sufficient statistics를 구하는데 사용되는지 알기 위하여 \(d\) 차원 normal case, 고정 covariance인 경우를 생각해 본다. 평균을 알려져 있지 않고, \( p(x|\theta) \;\sim \; N(\theta,\Sigma) \) 여기서 우리는 $$ \begin{split} p(\mathcal{D}|\theta) &= \prod_{k=1}^n \cfrac{1}{(2\pi)^{d/2}|\Sigma|^{1/2}} exp[-\cfrac{1}{2}(x_k-\theta)\Sigma ^{-1}(x_k -\theta)] \\&= \cfrac{1}{(2\pi)^{nd/2}|\Sigma|^{n/2}} exp[-\cfrac{1}{2}\.. 더보기
BAYESIAN PARAMETER ESTIMATION : General theory and 예제 Bayesian 접근법은 특별한 경우 즉 multivariate Gaussian에서 원하는 density \( p(x| \mathcal{D})\) 를 얻기 위하여 사용된다. 이 접근법은 알려지지 않은 density가 parameterized 되는 경우에 적용 될 수 있도록 일반화 될 수 있다. \( \bullet \; \) \( p(x| \theta) \)는 알려져 있다고 가정한다. 그러나 \( \theta\)의 값은 정확하게 모른다. \( \bullet \;\) \( \theta\)의 대한 초기 값은 알려진 prior density \( p( \theta)\) 에 포함되어 있다고 가정한다. \( \bullet \;\) \(\theta\)에 대한 나머지 정보는 알려지지 않은 Probability dens.. 더보기