본문 바로가기

Research/Machine Learning72

Bayesian Network 베이지안 네트워크 (Bayesian Network)베이지안 네트워크는 Naive Bayes 모델의 빈약한 인과관계 구조(1 depth)를 훨씬 복잡하게 표현할 수 있는 조건부 확률 기반의 Probabilistic Graphical Model(PGM) 이다. 베이지안 네트워크의 핵심은 다음과 같다. 1. 조건부 확률을 사용한 인과관계 모델링2. 인과관계 모델(=structure)은 사람이 만든다.3. 그 모델의 조건부 확률 값을 데이터로부터 학습한다. 예를 들어 어떠한 일련의 사건과 관련이 있다고 생각되는 Binary(True/False) variable이 5가지라고 생각해보자. 그런데 이 변수들이 서로 복잡한 구조의 인과성을 가질 수 있다. 아주 유명한 아래의 그림을 예시로 들 수 있다. 만약 단순히 5.. 2015. 3. 10.
Ada boost 0.51의 정확도 (0.50 가 랜덤)를 가진 weak classifier를 여러개 합쳐 정확도 1 에 가까운 strong classifier 를 만들 수 있다. 각 weak classifier 마다 weight에 해당하는 계수가 있고, 각 classifier가 낸 error를 이 weight로 평균낸, 평균 error를 최소화하는 방향으로 학습을 함.그래서 특정 weak classifier가 틀리면 weight를 내리고, 맞으면 그대로 둠.이를 무한히 반복하면 점진적으로 acc가 같거나 좋아짐 2014. 12. 16.
평균과 분산 통계적 검정, T 검정, 카이스퀘어 검정 - T 분포 : 정규분포*자유도/카이스퀘어분포t분포는 데이터의 개수에 따라서 점점 뾰족하게 모양이 변하는 분포이다. 따라서 t분포를 이용한 검정 즉, t검정을 하면 그냥 정규분포로한 일반 검정보다 데이터의 샘플수가 적을때 보다 아웃라이어에 강한 특징이 있다.그대신 데이터가 30이상이 되면 가우시안과 분산이 거의 같아지므로 t분포를 쓰는 의미가 없다.보통 데이터의 개수가 적은 경우, 즉 데이터 1개짜리의 자유도가 작은 경우에 t분포를 사용한다. (t분포는 자유도가 작으면 양끝이 두툼해지는 모양이되어 아웃라이어에대해 robust해진다.)http://blog.naver.com/gracestock_1/120202114986 - 카이스퀘어 분포 : 표준정규분포를 제곱한 데이터의 분포통계에서 쓰는 자유도는 모두 같.. 2014. 12. 15.
Digital Signal Processing, Parallelization 과거에는 신호처리를 아날로그 방식(하드웨어에서 처리)으로 많이 했었으나, 하드웨어의 발달로 빠르고 자유로운 프로그래밍이 가능한 디지털 방식이 선호되고 있다.물론 디지털 방식은 아날로그 방식에 비해 속도가 느리므로, 아직도 성능이 중요한 부분은 아날로그 방식을 사용하고 있다. 즉 기술이 발달될 수록 기존 기술은 디지털화가 되고, 성능이 중요한 새로 개발된 기술은 아날로그가 담당하게 된다.Embeded System이란 단일 목적으로 개발된 (일종의 아날로그) 하드웨어이다. 아날로그 방식 : 상대적으로 저전력, 저비용에 고성능이다. 그러나 한번 완성된 제품은 수정이 불가능하고 개발 기간이 매우 길고, 단일 목적만 가능하다.디지털 방식 : 상대적으로 고전력, 고비용에 저성능이나 반대로 수정이 언제든지 가능하며 .. 2014. 11. 17.
Kernel Density Estimation, Gaussian Mixture Model 비 모수적 방법 (Non-parametric method) : Model의 구체적인 스펙을 정하지 않고, 데이터에 따라 저절로 정해지도록 하는 방법 Kernel Density Estimation : N개의 데이터가 주어졌을 때, 각각의 데이터를 평균으로하는 N 개의 가우시안 분포를 가정한다. 이때 가우시안의 분산은 임의로 정한다.(그래도 가장 중요한 평균은 데이터에 맡기므로 non-parametric에 해당함) 그리고 N개의 가우시안을 모두 더하여 다음과 같은 Model을 만든다. 가우시안 믹스쳐 모델 (Gaussian Mixture Model) : 가우시안 믹스쳐 모델도 가우시안을 기본으로 모델링을 한다는 점은 같지만, 가우시안의 개수를 직접 지정해주기 때문에 parametric 에 해당한다. 이 모델.. 2014. 10. 30.
Bayes Error 베이즈 에러 (Bayes Error) Classification 문제에서, P(Y | X)에 대한 확률 분포(underlying true distribution)를 알고 있다고 가정했을 때, 이론적으로 도달할 수 있는 최소의 classification error를 의미한다. https://en.wikipedia.org/wiki/Bayes_error_rate 단, 여기서 중요한 것은 아무리 underlying true distribution를 알고 있다하더라도, 이를 이용해 class label을 inference하는 방법이 반드시 P(y1, x)와 P(y2, x)를 비교해서 확률이 높은 쪽을 정답으로 골라야만 이 Bayes Error에 도달할 수 있다. 이 방식이 아닌 모든 inference 방법은 이론.. 2014. 10. 27.
Polynomial Regression, Non-Linear Features 변수들이 선형적인 관계만을 갖는 Linear Regression 의 경우 모델링이 극히 단순하고 학습이 쉽다.그러나 변수들이 비선형적인, 예를 들어 서로 곱샘이나 제곱 등의 관계를 갖는 경우 다소 어려운 모델링이 필요하다. Ex) 집의 가격 = f(면적, 도로와의 거리, 층 수) Ex) 배란다의 면적 = f(집의 가로, 세로 길이,층 수) Ex) 키 = f(유전적 요소(부모의 키), 환경적 요소(영양공급상태)) 이러한 비선형적 문제는 Neural Network 중 가장 간단한 Multi-Layer Perceptron 만 사용하여도 충분히 쉽게 풀린다. 왜냐하면 Neural Network 는 충분한 Hidden Node를 가질 때, 그 어떤 함수도 근사시킬 수 있는 Universial Function Ap.. 2014. 10. 3.
Information Theory, Distance Metric on PDF 1. Information Theory (=Shannon's Information Theory) 정보량에 대해 기술하기 위한 이론으로 엔트로피를 핵심 개념으로 사용하며, 기계학습을 비롯해 셀 수없이 방대한 분야에서 활용되고 있다. * Shannon's Bits : Information의 양(정보량)을 나타내기 위해 샤논은 bit를 사용하였다. 먼저 정보량을 다음과 같이 정의한다.확률 p인 사건의 정보량 = 1/p 를 나타내는데 필요한 bit의 개수 = log_2(1/p)즉 정보량의 정의는 log_2(1/p)인 것이다. 이에 따라 확률(o)가 낮은 사건일수록 그값을 표현하는 데 bit가 더 많이 필요하게 된다. 즉 낮은 확률의 사건일 수록 정보량이 더 큰 것이다. http://en.wikipedia.org.. 2014. 9. 29.
Generative Model, Discriminant Model Generative Model : Bootstrapping이 가능한 모델이라고 생각하면 됨. 즉 학습한 input 데이터의 분포를 따르는 데이터를 생성해낼 수 있다. 즉 input과 속성이 동일한, 새로운 input2 데이터를 만들 수 있다. - PGM(MRF, BN 이 해당됨) Discriminant Model : 재생성이 불가능하고 오직 분류만 가능하다. -SVM, DNN------ 탐미첼 책에서 든 예시(Naive-Bayes 와 Logistic Regression의 분류에서의 비교. 둘다 거의 비슷한 방식인데 하나는 Generative, 하나는 Discriminant 임)Generative Model은 데이터가 작을 때 유리하고,(간단히 생각해보면 Resampling을 통해 데이터를 더 많이 취하는.. 2014. 8. 12.
테일러 급수, 푸리에 급수 - 다항함수 : y=1+x^2과 같은 다항식만으로 표현 가능한 함수- 초월함수 : 로그함수, 지수함수, 사인함수와 같이 다항식으로는 표현할 수 없는 함수 - 테일러 급수의 의미 : 초월함수를 다항함수로 근사한다. - 테일러 급수의 직관적 이해여기서는 엄밀한 증명이나 정의보다는 테일러 급수를 거꾸로 분석해 최대한 직관적으로 이해해보고자 한다. 우선 테일러 급수는 작은 구간에 한하여, 초월함수를 다항함수로써 근사시키는 것이다. (다항식으로 근사하는 이유는 수식의 계산이 엄청나게 쉽고 편해지기 때문이다) 이때 테일러 급수에 왜 미분계수가 사용 될까?x=a 지점에서의 초월함수가 근방의 좁은 구간에서 어떤 임의의 다항함수 g(x)와 같다고 가정해보자.그럼 이때 다항함수는 g(x) = C1 + C2*x + C3*x.. 2014. 8. 10.
Weight Decay, Regularization, Overfitting, Validation set, Drop out, ReLU Overftting : 뉴럴 네트워크를 학습하다보면, 오버피팅이 쉽게 일어난다.오버피팅은 training set을 너무 많이 학습해서, training set에대한 error는 매우 줄어들지만, 문제에대한 일반성이 떨어져서 test set 또는 validation set(오버피팅 여부를 확인하기위해 error를 측정하기위한 데이터 셋으로, test set도 아니고 training set도 아닌 데이터)에대한 error가 증가하는 것을 의미한다. Regularization : 이러한 현상은 weight가 처음에는 매우 작게 세팅되어 있다가, 점점 커지는 것과 비례해서 오버피팅이 일어나는 것으로 해석된다.따라서 이것을 막기위해 weight decay(=regularization) 을 사용한다.이것은 Erro.. 2014. 8. 4.
Deep Belief Network DBN : 보통 MLP에서 Hidden Layer의 개수가 1개보다 큰 경우 Deep이란 말을 쓰는 것 같다. MLP에서 Deep한 뉴럴넷을 학습시키기위해 BackPropagation 이 개발되었으나, Hidden Layer의 개수가 많아질 수록 아래쪽 Layer까지 제대로 error를 전파시키지 못하는 문제가 생겼다.그래서 이를 해결하기위해 2006, Hinton 이 만든 DBN은 RBM을 이용해서 MLP의 Weight를 input 데이터들만을 보고(unsuperivesd로) Pretraining 시켜서 학습이 잘 일어날 수 있는 초기 세팅을 하는 방법을 고안하였다. (기존에는 초기조건으로 그냥 0~0.1 사이의 weight를 랜덤으로 주었음.)RBM은 두 레이어가 서로를 좀 더 잘 표현할 수 있는 방.. 2014. 8. 1.
RBM, Contrastive Divergence http://deepcumen.com/2015/04/restricted-boltzmann-machine/#comment-437http://147.46.219.139:8889/tree/DeepLearningTutorials/code RBM 학습 알고리즘 다시 정리 :cost = T.mean(self.free_energy(self.input)) - T.mean(self.free_energy(chain_end))이 cost function을 최소화하는 gradient descent를 수행한다. 이 cost function은 (input데이터에 대한 free energy)-(input데이터로 k번 왔다갔다하면서 gibbs 샘플링한 V노드의 데이터의 free energy)이다. 이 둘이 최대한 같아지도록 grad.. 2014. 7. 23.
MCMC, Metropolis-Hastings, Gibbs Sampling Markov Assumption(=Markov Property) : 직전 사건에의해서만 현재 사건이 영향을 받는 속성Chain : discrete한 Time Sequence 사건Markov Chain : Markov Assumption 을 만족하는 ChainMonte Carlo Method : 다음과 같이 여러개의 표본을 추출해서 전체적인 분포를 파악하는 방법론 Sampling : 해당 모델을 만족하는 데이터를 생성, 추출해내는 것. 단 그 모델의 확률 분포에 비례하여 확률 밀도가 높은 곳에서 그에비례하게 더 많은 데이터가 나오도록 추출해야 한다. Markov Chain Monte Carlo : Markov Chain에서 샘플링을 하기위해 Monte Carlo Method를 써서 확률 분포가 반영된 데이.. 2014. 7. 22.
P, NP, NP-Complete, NP-Hard, 시간 복잡도 # 아주 직관적인 설명P: 폴리노미얼 타임으로 완전한 정답을 구할 수 있는 쉬운 문제 NP: 임의의 값 하나에 대해서만 그것이 정답인지 아닌지 폴리노미얼 타임이하로 계산가능한 검산만 쉬운 문제보통 NP를 풀때는 휴리스틱 탐색 등의 계산적인 접근법을 사용한다. 위의 정의에서 P 문제는 애초에 폴리노미얼 타임으로 정답을 구할 수 있으므로, 당연 그 시간내에 검산도 가능하다. 따라서 P ⊂ NP이다. NP-Hard: NP-Hard는 계산복잡도가 NP일 수도 있고, 그보다 더 어려울 수도 있다. NP-Hard >= NP영어로는 이렇게 표현한다. "at least as hard as the hardest problems in NP". 그런데 여기서 어렵다의 의미가 조금 복잡하다. 어떤 NP문제를 다른 문제로 다항.. 2014. 7. 22.
Dimension Reduction, Curse Of High Dimensionality 고차원의 저주 (Curse Of High Dimensionality) : 고차원에서는 다음과 같은 현상이 일어나 기계학습에서 여러 문제가 발생한다.1) 차원이 무한으로 갈 수록 임의의 두 점간의 거리가 무한대로 발산한다. 그러므로 당연히 임의의 두점에 대한 거리의 비가 1로 수렴한다.(즉 임의의 점 4개를 뽑고, 2점들 간의 거리의 비가 1로 수렴한다) 2) 데이터의 instance가 고차원의 공간에서는 보다 희소(Sparse)해진다. 따라서 특정한 차원(Feature)를 충분히 설명할 수 없어지고, 부족한 데이터는 곧 모델의 Generalization Ability를 약화시켜 Overfitting이 일어난다. 차원 축소 (Dimension Reduction) :차원 축소는 고차원의 저주를 비롯해 여러가.. 2014. 7. 18.
Linear Discriminant Analysis (Latent Dirichlet Allocation 과 약자가 똑같으니 주의하자.) 선형판별분석법은 PCA와 그 원리가 거의 유사하다. PCA는 label 즉, 데이터의 클래스에대한 정보를 쓰지 않는 unsupervised learning인데비해, LDA는 클래스에대한 정보를 갖고 분석하는 supervised learning이다. 원리는 각 데이터들을 분리하는 최적의 정사영을 계산하는 것이다. 클래스가 2개가 있다면, 각각을 eigen vector를 이용해서 대각화 시켜, 서로 직교하도록 만드는 것이라고 한다. http://funnypr.tistory.com/36 2014. 7. 18.
라그랑지 승수법, KKT condition 라그랑지 승수법(Lagrange multiplier) : 어떤 함수(F)가 주어진 제약식(h)을 만족시키면서, 그 함수가 갖는 최대값 혹은 최소값을 찾고자할 때 사용한다. L(x,λ) = F(x) + λ*h(x) 으로 표기하며, (x,λ)변수들로 각각 편미분 한 식이 0이 되는 값으로 해를 구한다. 이러한 계산의 원리는, 사실 두 함수의 기울기가 같아지는 공통접선을 구하는 것이다.(위 수식이 가능한 이유는, F(x) = F(x) 에서 양변에 0에 해당하는 제약식( 0=h(x) )을 더해서 F(x) + 0= F(x) + λ*h(x) 으로 놓고 문제를 푼것이라 생각해볼 수 있다.) http://blog.naver.com/mindo1103/90154212128이글에 원리가 아주 잘 설명되어 있다. * 부연 설.. 2014. 7. 18.
Eigenvalue, Eigenvector, PCA, SVD # 아이겐 벡터와 아이겐 벨류의 의미 : 3*3으로된 행렬에 일련의 값들이 들어있다고 하자. 이 값들은 3차원 공간상에 점들로 표현될 수 있다. 그런데 만약 이 점들에 전부 x,y위에만 존재한다면, 이는 사실 x,y 2개의 차원만으로 표현될 수 있는 데이터였던 것이다. 이러한 n*n행렬에서의 핵심 차원을 알아내는 것이 바로 아이겐 벡터와 아이겐 벨류이다. # 정의 : 임의의 정방행렬(n*n) A에대해, AB=λB를 만족하는 (단, B는 0이 아닌 벡터) B를 eigenvector, 상수 λ를 eigenvalue 라고 한다. - 직관적 해석 : A라는 행렬에 벡터 B를 곱하여 선형 변환(프로젝션)시켰을 때, B 벡터가 그리는 직선(상수 λ가 미지수이므로)위에 행렬 A가 놓여지는 것을 의미한다. 즉, 임의의.. 2014. 7. 18.
Naive Bayse, Bayesian Network, HMM Naive Bayse : bayes theorem 에 모든 변수들이 C라는 클래스에대해 conditionally independent 라고 가정하고 모델링 한것. 위 그림에서처럼 단순한 구조로만 모델링이 됨. Bayesian Network(=bayesian belief network, belief network) : bayes theorem 에서 변수들간에 다양한 conditionally independent이 존재한다고 가정하고 모델링 한 것. 위 그림에서처럼 복잡한 구조가 모델링 될 수 있음.DBN = deep BN conditionally independent 조건을 많이 가정할 수록 계산해서 구해야하는 확률 변수의 개수를 확 줄일 수 있다. HMM(Hidden Markov Model) : 은 BN.. 2014. 7. 7.