기계학습/ML26 [ML심화] (n) Exponential Weighted Moving Average Moving Average는 크게 두가지로 나뉜다. 시계열데이터를 다룰 때 error term을 활용한 MA모형과, 주식시장에서 흔히들 많이사용하는 Moving Average(이동평균)이 바로 그것이다. Gaussian Process를 공부함에 있어 Moving Average를 짚고 넘어갈 필요가 있어 글을 작성해본다. 우리는 특정 시계열데이터의 추세를 파악하기 위해 이동평균을 활용한다. 가령 MA(5)의 경우 시점 t에서의 데이터와 t-4시점까지의 총 5개 데이터로 도출한 값이다. 이 때 이들 데이터는 전부 equally weighted되어 평균값이 산출된다. 만약 반영 데이터가 적다면 최근 추세를 어느정도 잘 설명할 수 있겠지만, 반영 데이터가 많아질수록 최근 추세에 대한 설명력이 약해진다. 가령 주.. 2022. 5. 28. [ML개론] (25) Multivariate Gaussian Distribution GMM을 배우기에 앞서 multinomial distribution, multivariate distribution을 배울 필요성을 느낀다. Multinomial distribution은 다음 예시를 통해 설명할 수 있다. T/F의 option이 단번에 6개 존재하는 distribution이 있다고 가정하자. 가령 부탄추에 라멘을 먹으러갔는데 무료 택1 토핑 옵션이 (숙주/마늘/파/차슈/국물진하기/면양)와 같이 존재하며 고객은 이 중 하나만을 무료로 먹을 수 있다. 그럼 특정 instance 고객1은 숙주를 선택할 수 있고, 고객2는 차슈를 선택할 것이다. 그럼 P(X1|mu)=mu_1, P(X2|mu)=mu_4가 된다. 그럼 N개의 selection이 주어진 D개의 dataset이 존재한다고 가정해보자.. 2022. 3. 1. [ML개론] (24) K-Mean Algorithm 이제 Regression을 활용한 Classification 말고 non-labeled data에 대한 Clustering을 진행해보자. 가령 좌측그림과 같이 서로 세가지의 다른 label을 지닌 data가 x1, x2에 대해 다음과 같이 산포되어있다고 가정하자. 이들은 서로 다른 label을 지닌 다른 타입의 data지만 우리가 지닌 sample dataset에는 이들의 label이 없다. 즉 이전까지 살펴본 지도학습의 경우 정답에 해당하는 label이 있었기 때문에 그 정답과 예측치의 오차를 줄이는 방식으로 classification을 진행했지만 clustering은 label이 없기 때문에 조금 다른 방향으로 학습을 진행한다. 이를 비지도학습이라 부른다. 그 중 K-Means Clustering과 .. 2022. 3. 1. [ML개론] (23) Potential Function & Belief Propagation Algorithm normalized되지 않았다든지의 이유로 PDF가 아닌 함수를 potential function이라 부른다. 가령 P(A,B,C,D)=P(A|B)P(B|C)P(C|D)P(D)와 같이 PDF이기에 factorization될 수 있는 node들이 존재하는 반면, potential fn이기에 위와같이 표기되지 못하는 함수들이 존재한다. 이는 NN에 있어 치명적인데, NN의 output값이 확률의 형태, 즉 0과 1 사이의 값이어야만 하는데 만일 적분값이 1이 되지 못한다면 이는 softmax를 통해 normalize 작업을 거쳐야 비로소 활용된다. 즉 potential fn의 형태로 weight을 곱하고 ReLU 등을 거치고 최종적으로 이를 normalize해주어 확률값을 도출해내는 것이다. 그 과정에서 p.. 2022. 3. 1. [ML개론] (22) Marginalization & Elimination 이전 글에서 Conditional prob, likelihood, most probable assignment inference를 다뤘다. 결국 특정 확률의 inference를 위해선 full joint에서부터 시작하여 이를 계속 marginalize out하여야 함을 확인했다. 가령 P(A, B, MC)의 likelihood inference를 위해선 JC, E factor에 대해 marginalize out한 full joint prob을 구해야한다. 그런데 이러한 inference algorithm을 Big-oh notation으로 평가하면 어떨까? r.v의 갯수가 늘어날수록 더 많은 multiplication으로 이어지기 때문에 연산이 늘어나게 된다. 가령 n개의 variable이 존재하고 이 중.. 2022. 2. 26. [ML개론] (21) Inference prob. based on evidence 이전글에서 Bayesian Network를 통해 Joint probability를 계산하는 방법에 대해 다뤘다. 이번엔 Likelihood, Conditional Prob., Most Probable Assignment를 inference하는 방법을 배워보자. 우선 기호를 몇가지 약속하고 살펴보자. X는 모든 node, 즉 모든 random variable을 뜻한다. Xv는 evidence로 주어진 varaible을 뜻한다. Xh는 X에서 Xv를 제외한 node들, 즉 hidden variable을 뜻한다. 가령 Xv={도둑, Mary전화}라면 도둑이 들고 Mary가 전화한 event가 관측되었음을 뜻한다. P(Xv)= Σ_Xh P(Xh,Xv)를 통해 우린 해당 evidence가 관측될 joint pro.. 2022. 2. 26. [ML개론] (20) Bayes Ball Algorithm & Factorization 앞서 살펴본 Bayesian Network의 목적은 joint probability를 계산하기 위해서다. 그럼 node들간의 관계를 나타내는 Bayesian Network를 활용하여 joint probability 계산을 더욱 쉽게 해보자. 우선 Bayes Ball Algorithm을 논하기에 앞서 Markov Blanket 개념을 알아보자. Markov Blanket이란 특정 node A에 대해 해당 node의 확률분포를 알기 위해서 필요한 최소한의 node집합을 뜻한다. 가령 node A를 알기 위해선 최소 A의 parent node, child node, child's other parent node가 필요하다. 따라서 node A 인근의 여타 node들의 집합을 markov blanket이라 명명.. 2022. 2. 26. [ML개론] (19) Bayesian Network 일전에 살펴본 Naive Bayes Classifier는 Bayes Thm에 기반한다. Bayes Thm은 P(Y|X) = P(Y)*P(X|Y) / P(X) 으로 정의된다. 이 때 만약 instance의 feature 갯수가 2개 이상일 경우, P(X1, X2, ..., Xd|Y)에 대한 데이터가 필요하다. 대략 2^d개 만큼의 데이터가 존재해야만 Y가 주어졌을 때 각 feature들의 Y/N을 알 수 있는 것이다. 그런데 이를 naive하게 feature들간의 conditional independence를 가정하여 이들을 곱의 형태로 표현한 것이 NBC다. 이 때 우리는 Y의 발생여부가 X1, X2의 확률에 미치는 영향을 위의 도식처럼 표현할 수 있다. 이 때 X1, X2는 서로 conditional .. 2022. 2. 25. [ML개론] (18) Review on Probability 본격적으로 Bayesian Network를 다루기에 앞서 확률론에 대한 기본적인 정의를 복습해보자. 확률은 빈도주의학파, 베이지언에 따라 그 정의가 다르다. 우선 빈도주의학파의 관점에선 확률이란 특정 event인 A=True가 지속적으로 발생했을 때, 이를 Law of Large Number에 의해 특정 확률로서 믿을 수 있단 것이다. 가령 가위바위보를 10000번 했을 때, 무승부를 제외한 가위의 승률이 33%인 것이 이에 해당한다. 조건부확률은 B=True인 event가 관측되었을 때, A=True일 확률을 뜻한다. 수식에서 볼 수 있듯이 사건이 관측되었기 때문에 확률세계는 B=True라는 국소지역으로 축소된다. 결합확률은 event A, B가 동시에 발생할 확률을 뜻한다. 결합확률은 조건부확률을 통.. 2022. 2. 25. [ML개론] (17) F-measure & Regularization 이전 글에서 testing을 하는 이유와 그 방법론에 대해 알아봤다. 그럼 testing의 결과는 어떻게 측정되는가? 사실 true fn과 average hypothesis를 통해서 bias와 var를 구하는 것이 가장 좋지만 이들은 계산불가하다. 따라서 우리는 performance mtx를 활용하여 error를 측정하고자 한다. 만약 우리가 classifier로 스팸필터를 설계했다고 가정해보자. 스팸필터의 핵심은 "스팸이 아닌 메일을 스팸으로 분류하면 안된다"는 것이다. 스팸메일을 일반메일로 분류하면 그냥 삭제해주면 되지만 일반메일인데 스팸메일함에 들어가 있으면 이를 놓치게 되기 때문이다. 따라서 우리는 False-positive, 즉 스팸이 아닌데 스팸이라고 판독한 1종오류를 중점적으로 측정해야한다... 2022. 2. 25. [ML개론] (16) Occam's Razor & N-fold cross validation 우리는 dataset을 활용하여 g(x)를 학습시키려고 한다. 이 g(x) 함수는 true fn인 f(x)=sin x를 예측하는 것이 그 목적이다. 실제 dataset은 sin x를 따르고 있는데, 우리에게 주어진 관측치가 두 점 밖에 없을 경우 우리는 녹색선으로 목표함수를 예측할 것이다. 그러나 이는 sin함수를 잘 설명하지 못한다. 비슷한 예로 관측치가 sin함수 봉우리 상단에 몰려있다고 가정하자. 그럼 해당 관측치를 기반으로 예측된 목표함수는 우상향하는 직선이 될 것이다. 그러나 이 경우 실제로는 봉우리 하단에 위치할 값과의 오차가 극대화된다. 반면 이번에는 수평선을 그어 목표함수를 예측하는 경우를 생각해보자. 이 경우 이전 예시와는 달리 큰 error가 발생하진 않을 것이다. 그러나 모형이 지나치.. 2022. 2. 24. [ML개론] (15) bias & variance model의 efficiency는 어떻게 측정하고 향상시킬 수 있을까? 우리는 기존데이터를 통해 model의 parameter를 학습시키면서 lost function을 최적화하는 방식을 취했다. 이 모형은 새로이 관측되는 데이터의 label을 예측하기 위해 활용된다. 따라서 model의 efficiency는 정확한 예측에서 비롯된다고 볼 수 있다. 그러나 여기엔 두가지 문제가 존재한다. 첫째, 정확도는 어떻게 측정할 수 있을까? 둘째, 우리가 학습에 활용한 training dataset이 지나치게 편향된 데이터는 아니었을까? 우리는 parameter inference를 위해 Training을 진행한다. 사실 과거데이터를 통해 model을 학습하는 것이기 때문에 data의 특성이 시간에 걸쳐 변화한다면 우.. 2022. 2. 24. 이전 1 2 3 다음 반응형