728x90
728x90
728x90

즉 왜 Arithmetic mean, Geometric mean이 아니라 Harmonic mean으로 했는가? 

 

1. 

AM >= GM >= HM인 와중에 HM으로 정의함으로서 

좀 더 낮은 값인 HM을 통해, reliable함을 얻을 수 있다.

 

2. 

large outlier metric에 대한 기여를 낮출 수 있다.

즉, precision과 recall 중 하나가 나머지 하나에 비해 클 때, 그 큰 값의 영향력을 보정하여 mesure함

 

3. 주어진 데이터 값의 scale/unit이 어떻냐에 따라 활용하는 mean이 다르다.

AM은 각각이 same units일 때

GM은 각각이 다른 units일 때

HM은 각각이 rate일 때

 

4. (Fbeta를 쓰는 이유)

recall이 precision보다 beta만큼 더 중요도를 부과하고 싶다면(weighted harmonic mean)

그 때의 weighted harmonic mean으로 fbeta사용(beta=2->recall이 precision보다 2배 중요)

 

 

 

참고자료:

Harmonic Mean (mathsisfun.com)

 

Harmonic Mean

Harmonic Mean The harmonic mean is: the reciprocal of the average of the reciprocals Yes, that is a lot of reciprocals! Reciprocal just means 1value. The formula is: Where a,b,c,... are the values, and n is how many values. Steps:  Calculate the reciproca

www.mathsisfun.com

 

Arithmetic, Geometric, and Harmonic Means for Machine Learning (machinelearningmastery.com)

 

Arithmetic, Geometric, and Harmonic Means for Machine Learning

Calculating the average of a variable or a list of numbers is a common operation in machine learning. It is an operation you may use every day either directly, such as when summarizing data, or indirectly, such as a smaller step in a larger procedure when

machinelearningmastery.com

Harmonic mean - Wikipedia

 

Harmonic mean - Wikipedia

From Wikipedia, the free encyclopedia Jump to navigation Jump to search Inverse of the average of the inverses of a set of numbers In mathematics, the harmonic mean (sometimes called the subcontrary mean) is one of several kinds of average, and in particul

en.wikipedia.org

 

728x90
728x90

먼저 변수는 2가지로 나뉜다. Quantitative냐 Categorical이냐

숫자로 측정되면 Quantitative, 범주로 측정되면 Categorical

 

먼저 변수의 성질부터 알아보자.

 

(1) 두 변수의 비율이 의미가 유지되는가?

(2) 두 변수의 차이의 의미가 유지되는가?

(3) 두 변수간 대소비교가 가능한가?

 

3가지 모두 만족 -> Ratio scale, 예를 들면 대한민국의 매년 GDP값(quantative)

(2), (3)만 만족 -> Interval scale, 예를 들면 년도와 온도(0이 절대 0이라는 의미를 갖고 있지 않아 비율로써 의미가 없음)(quantatative)

(3)만 만족 -> Ordinal scale, 예를 들면 학점(A, B, C, D, F), 순위 비교는 가능하지만 사칙연산이 의미가 보존되지 않음(categorical)

(1), (2), (3) 모두 불만족 -> Nominal scale, 예를 들면 종교, 남성/여성 

 

고용상태는? Nominal(Ordinal로 착각하면 안됨)

사람의 몸무게(kg)은? Ratio

산성도(ph)는? Interval

 

728x90
728x90

Skewness는 measures of central tendency

left/right 용어는 tail의 방향에 따라 붙는다.

left-skewed(negatively skewed)는 mean/median/mode 순서로 놓인다.

right-skewed(positvely skewed)는 mode/median/mean 순서로 놓인다.

skewness는 (Mean-Mode)/std 이지만, small dataset에서는 Mode사용이 권장되지 않아?

근사식인 mode = 3(median) - 2(mean)을 대입하여

skewness = 3(Mean-median)/std를 사용, 

이 값의 절댓값이 [0, 0.5)에 놓이면 approximately Symmetric

이 값의 절댓값이 (0.5, 1)에 놓이면 moderately skewed

이 값의 절댓값이 (1,inf)에 놓이면 highly skewed

 

Kurtosis는 peakedness

normal distribution이 Kurtosis가 3이어서, 대개 3을 기준으로, kurtosis의 높고 낮음을 얘기함

 

 

 

참고자료:

towardsdatascience.com/skewness-kurtosis-simplified-1338e094fc85

 

Skewness & Kurtosis Simplified

What is Skewness and how do we detect it?

towardsdatascience.com

en.wikipedia.org/wiki/Kurtosis

 

Kurtosis - Wikipedia

From Wikipedia, the free encyclopedia Jump to navigation Jump to search fourth standardized moment in statistics In probability theory and statistics, kurtosis (from Greek: κυρτός, kyrtos or kurtos, meaning "curved, arching") is a measure of the "tai

en.wikipedia.org

 

728x90
728x90

math.stackexchange.com/questions/2656231/proving-that-softmax-converges-to-argmax-as-we-scale-x

728x90
728x90

Missing data에도 분류가 있다.

 

MCAR(Missing Completely At Random), 특정 column(c_k)의 결측 여부가 완전히 random으로 발생하는 경우, 즉 c_k가 다른 c_1, c_2, ...와는 관련이 없을 때를 가리킴

 

MAR(Missing At Random), 특정 c_k의 결측 여부가 다른 c_1, c_2, ... 중 몇몇과 관련이 있는 경우

예를 들면, 소득수준(=c_1)에 따라 학업성취도(=c_k)의 결측 여부가 관련이 있을 경우

 

MNAR(Missing Not At Random, non ignorable), 특정 c_k의 결측 여부가 c_k의 값과 관련이 있는 경우

예를 들면, 학업성취도가 낮은 학생들이 학업성취도에 응답하지 않는 경우

 

 

 

 

Missing data 처리 테크닉

(1) Listwise deletion

변수에 적어도 하나의 결측치라도 존재하면 해당 instance를 제거하는 방식

MCAR일 때만 가능함

sample의 개수가 줄어든다는 단점이 존재

 

(2) Pairwise deletion

특정 분석에서 사용되는 변수에만 결측치가 존재하는 instance를 제거하는 방식

MCAR일 때만 가능함

sample의 개수가 줄긴하지만 listwise보단 덜 줄어듦

 

(3) Mean imputation

전체점수의 평균값으로 결측치를 대체해버리는 방식

MAR일 때 baised된 값이 나오게 됨

 

728x90
728x90

확률변수 X가 discrete일 때

the likelihood function given the outcome x of the random variable X는 P_theta(X=x)

 

확률변수 X가 continuous일 때

the likelihood function given the outcome x of the random variable X는 f_theta(x), where f is the pdf of X

 

설명:

(1) 

Discrete variable에 대해서는 probability를 가리킨다.

Continuous variable에 대해서는 pdf를 가리킨다.

 

(2)

Parameter가 주어졌을 때 evidence가 일어날 확률을 likelihood라 한다. 즉, P(E|H)

이 때 parameter를 변수로 취급하면 특별히 이 확률을 likelihood function이라 한다.

 

(3)

MLE(Maximum Likelihood Estimation)이란,

P(E|H)가 최대가 되게하는 parameter H_0을 택하는 방식이다.

즉, theta_0 = argmax over theta P(E|theta)

 

(4) 

MAP(Maximum A Posterior)란,

parameter의 prior distribution(g(theta))가 존재하여

P(E|theta)*g(theta)가 최대가 되게하는 parameter H_0을 택하는 방식이다.

즉, theta_0 = argmax over theta P(E|theta)*g(theta)

 

728x90
728x90

Basic sampling methodsForward/Rejection/Importance sampling이 있다.

 

Forward sampling:

-먼저 Bayesian Network가 있을 때

Ex)

도둑이 들 확률은 0.001, 지진이 일어날 확률은 0.002, (P(Buglary=T)=0.001, P(Earthquake=T)=0.002)

도둑이 들었고 지진이 일어났을 때 알람이 울릴 확률은 0.95, (P(Alarm=T|Buglary=T and Earthquake=T) = 0.95)

도둑이 들었고 지진이 일어나지 않았을 때 알람이 울릴 확률은 0.94

...

알람이 울렸을 때 John이 call할 확률은 0.90 (P(JohnCalls=T|Alarm=T) = 0.90)

알림이 울리지 않았을 때 John이 call할 확률은 0.05 (P(JohnCalls=T|Alarm=F) = 0.05)

마찬가지로 Mary가 call하는 확률도 앎

 

Foward sampling의 과정은

1. Generate a sample from the Bayesian network 

  -Follow topological order and create such sample many, many, many times

2. Count the samples match the case, (예를 들면 P(Earthquake=T|MaryCalls=T)을 알고 싶다면)

  -Buglary부터 MaryCalls까지 주어진 가정하의 확률로 sampling을 엄청많이 해서, MaryCalls가 T인 case내에 Earthquake가 T인 것들의 비율을 세서, 알고 싶은 P(E|MC)을 추정하는 방식이다.

 

단점은

Bayesian Network가 꽤 클 때, 계산량이 너무 많다.(Sampling을 무식하게 하다보니)

 

 

 

Rejection sampling:

Ex) 위의 예를 따라서

P(E=T|MC=T and A=F)을 알고자 하자.(목표설정)

 

Rejection sampling의 과정은 (Dicrete case)

1. Forward sampling하는 와중에 조건부확률의 조건(MC=T and A=F)에 맞지 않는다면 즉시 버리고 처음으로 돌아가서 sampling을 하는 것

Ex)

Buglary=F -> 문제 없음

Earthquake=T -> 문제 없음

Alarm = T -> 문제 있음(조건 A=F와 맞지 않음) -> 이후 JohnCalls와 MaryCalls에 대한 sampling하지 않고 다시 초기의 Buglary로 돌아감

2. Forward sampling과 마찬가지로 Count the samples match the case...

 

Rejection sampling의 과정은 (Continuous case)

1. 원하는 target distribution을 p(x)라 하자. (sampling하고 싶은 확률분포)

2. 다음 조건을 만족하는 보조 확률 분포(q(x))를 찾는다.(proposal distribution이라 한다.)

  - sampling이 이미 가능한 확률분포(Uniform or Normal 등)

  - 적당한 M값을 곱하여 p(x)를 envelope할 수 있는 확률분포, envelope한 다는 말은, 어느 x에서든 p(x)보다 Mq(x)가 큰

3. 다음 과정을 통해 sampling을 한다.

count = 0

while count < N:

  sampling x ~ q(x)

  sampling u ~ uniform(0,1)

  if u < p(x)/Mq(x):

    Accept x

    count += 1

  else:

    Reject and resampling

여기서 p(x)/Mq(x)을 이해하는 것이 중요하다. 

우리가 목표로하는 p(x)에 비해 "너무나 큰" Mq(x)라면 sampling하여 얻은 x를 그대로 취하기 보다는

"너무나 큰" 정도에 따라 "적절히" Accept하자는 것이다.

p(x)에 비해 너무나 큰 Mq(x)면 p(x)/Mq(x)가 매우 작을 것(Ex 0.01)이며

이에 따라 if u < p(x)/Mq(x)를 통과하기 힘들 것(0.01확률로 통과)

따라서, Mq(x)와 p(x) 사이의 영역이 Reject region이고 x축과 p(x)사이의 영역이 Accept region이 된다.

 

단점:

-Forward sampling보다는 sample의 개수가 적어도, 정확도는 높아 보이나, 어쨌든 reject region이 크면 그만큼 적당한 개수의 samples을 찾는데에 오래 걸릴 것이다.

-애초에 sampling할 p(x)와 유사한 q(x)를 잡지 않는 이상, sampling이 잘 안되서 현실에선 잘 사용하지 않음

 

 

 

Importance sampling:

-sampling을 해서 p(x)의 histogram을 그린다면, 이후 p(x)관련된 계산은 수월히 할 수 있지만, 원하는게 histrogram 전체가 아니라 특정 확률, 특정 기댓값을 원하는 상황이라면 그렇게 무식하게 histogram을 다 구하지 말고 그냥 원하는 것에만 집중하자는 컨셉이다. 따라서 "Use the wasted sample".

-E_(x~p)[X], P(X>3) 형태를 계산하는 것인데, 사실 확률은 기댓값으로 표현이 가능하기 때문에(Characteristic function) 대부분 자료들이 기댓값에 대해서 설명한다.

 

 

Importance sampling의 과정은 (Discrete case)

위와 마찬가지의 예제를 따라 P(Earthquake=T|MaryCalls=T and Alarm=F)=?

즉 구체적인 확률값을 근사하고자함 from sampling

 

SumSW = 0; NormSW= 0;

Iterate many:

  SW = sample weight = 1

  Generate a sample from the Bayesian network(즉 Buglary부터 MaryCalls까지 sampling)

  (만약 Buglary=F, Earthquake=F, Alarm=F라면 P(Alarm=F|Buglary=F and Earthquak=F)=0.999를 SW에 곱)

  (만약 MaryCalls=T라면 P(MaryCalls=T|Alarm=F)=0.01을 SW에 곱)

  (따라서 현재 SW는 1*0.999*0.01)

  If the sample has E=T(즉 관심대상), SumSW += SW

  NormSW += SW (E=T든 E=F든 항상)

 

이후 P(E=T|MC=T and Alarm=False) = SumSW/NormSW

여기서 SW를 구하는 데에 있어서 P(Buglary=F)와 P(Earthquak=F)는 고려하지 않아도 되는게, NormSW와 SumSW 모두에 포함될 term이므로 생략 가능

 

Importance sampling의 과정은 (Continuous case)

즉 E(f)를 구하는 데에 p에 대한 분포를 q에 대한 분포로 바꾸고 p(z)/q(z) term을 함께 고려하여 E(f)를 추정

여기서 p(z)/q(z)가 importance weight역할을 하기에 importance sampling이라 한다.

 

 

 

Sampling methods는 이제 몇개 알겠고, 목표는

Sampling based inference이며 Metropolis-Hastings Algorithm과 특정 케이스인 Gibbs sampling에 대해 알아보자.

이전 Forward/Rejection/Importance sampling에서는 이전에 나온 sample instance가 이후 sample instance에 영향을 미치지 않는 상황이었으나, 이전에 나온 sample

www.youtube.com/watch?v=pAWc8BCUHlo

728x90

'Math' 카테고리의 다른 글

(미완)Missing data를 어떻게 다룰 것인가  (0) 2020.10.26
[Statistics]Likelihood, MLE, MAP  (0) 2020.10.25
[Algorithm]Viterbi algorithm  (0) 2020.10.18
Proxy variable  (0) 2020.10.04
Multinomial Distribution  (0) 2020.10.04
728x90

주어진 것들이 다음과 같을 때:

-observation space (=O)

-observation sequence (=Y=(y_1, y_2, ..., y_T)

-state space (=S)

-initial state probability (=Π)

-transition matrix (=A)

-emission matrix (=B)

(transition matrix a_(i,j)는 state i에서 state j로 바뀔 확률(직전 시점에서 다음 시점의 state 전이 확률로, markov property를 전제하는 상황)

 

구하고자 하는 것:

The most likely state sequence X=(x_1, x_2, ..., x_T)

 

이상적이나 불가능한 상황:

t=1, 2, ..., T까지 모든 가능한 경로를 계산하고 argmax취하자.

->|S| = 13이고 T가 10이라면

가능한 경로의 개수가 13^10, 약 5x10^14,

경로별 계산량이 덧셈, 곱셈이 20회, 

총 필요한 계산량이 10^16회 정도,

초당 10^11회 계산 가능하다면 모든 경로를 계산하는데에 있어서 약 1.15 day가 소모

 

알고리즘의 핵심:

-initial, 첫 observation을 보고 가장 높은 확률을 갖는 (state, probability)를 찾는다.

-recursive, 직전(t-1)에 구한 (state, probability) 모든 case에 대해 observation(t)을 통해 현재(t)에 (state, probability)를 찾고 max값과 argmax(state)를 저장한다.

 

알고리즘의 결과:

-마지막 시점(T)에 argmax(state)을 얻고, 그때(T)에 사용한 T-1시점의 state을 얻고, 그때(T-1)에 사용한 T-2시점의 state을 얻고....

따라서 (x_1, x_2, ..., x_T)을 얻는다.

 

Complexity of this implementation:

O(Tx|S|^2), 즉 T에 대해서는 차수가 1인게 관건

(이상적이나 불가능한 상황은 O(|S|^T), 같은 |S|=13, T=10을 비교하면 1,690과 13^10)

 

참고자료:

-en.wikipedia.org/wiki/Viterbi_algorithm

 

Viterbi algorithm - Wikipedia

From Wikipedia, the free encyclopedia Jump to navigation Jump to search Algorithm for finding the most likely sequence of hidden states The Viterbi algorithm is a dynamic programming algorithm for finding the most likely sequence of hidden states—called

en.wikipedia.org

-post.naver.com/viewer/postView.nhn?volumeNo=17867939&memberNo=11190852

 

#3 비터비와 비터비 알고리즘

[BY Sejongbooks] 비터비 알고리즘은 현대 디지털 통신에서 가장 잘 사용하는 알고리즘이며 여러 자연어...

m.post.naver.com

-cs.kangwon.ac.kr/~leeck/NLP/06-2_viterbi.pdf

 

 

 

728x90

'Math' 카테고리의 다른 글

(미완)Missing data를 어떻게 다룰 것인가  (0) 2020.10.26
[Statistics]Likelihood, MLE, MAP  (0) 2020.10.25
(미완)[Parameter Inference]Sampling based inference  (0) 2020.10.18
Proxy variable  (0) 2020.10.04
Multinomial Distribution  (0) 2020.10.04
728x90

Proxy variable이란

one that stands in for the true variable of interest, which may be unavailable, too costly, or too time-consuming to measure.

 

예를 들면, 실내 인테리어 서비스하는 회사를 생각하자. 웹페이지를 어떻게 꾸려야 좋을지 A/B test를 하려고 한다.

하지만 이러한 서비스는 고가라 판매횟수 자체가 크게 쌓이지 않으며 실제 판매까지 오래 걸리므로 회사는 A, B 선택에 있어서 오랜 기간을 기다려야한다. 이때 판매횟수라는 variable말고 "서비스 상세보기"라는 버튼을 누른 횟수(proxy variable)을 사용하여 A/B test를 하자.

 

위의 예제에서 더 나은 proxy variable은 "서비스 상세보기 페이지 내에 체류시간"을 사용

 

 

728x90
728x90

각 시행마다 k개의 event(mutually exclusive collectively exhaustive), 각 확률이 p_1, p_2, ..., p_k

n번의 독립시행에서 (kHn개의 가능한 조합 중) 특정 이벤트 개수 조합을 X(random vector)라 할 때 X의 분포를

Multinomial Distribution이라 한다.

(X=(X_1, X_2, ..., X_k), X_i:i번째 event가 n번 중 발생한 횟수)

 

k = 2 and n >= 2일 때 binomial distribution

k = 2 and n = 1일 때 bernoulli distribution

k >= 3 and n = 1일 때 categorical distribution

k >= 3 and n >= 2일 때 Multinomial distribution

728x90

'Math' 카테고리의 다른 글

(미완)Missing data를 어떻게 다룰 것인가  (0) 2020.10.26
[Statistics]Likelihood, MLE, MAP  (0) 2020.10.25
(미완)[Parameter Inference]Sampling based inference  (0) 2020.10.18
[Algorithm]Viterbi algorithm  (0) 2020.10.18
Proxy variable  (0) 2020.10.04

+ Recent posts