전체 글 310

[Statistics] independent of probability variable

우리가 일반적으로 생각하는 독립(independent)이라는 개념과 확률변수(probability variable)에서의 독립과는 다소 차이가 있다. 일반적으로 생각하는 독립은 '떨어져 있는', '겹치지 않은' 의 의미로 받아들인다. 하지만 확률 변수에서의 독립은 다음과 같이 정의한다. 어떤 값 a, b에 대해 조건 'X=a'와 조건 'Y=b'가 항상 독립할 때 확률변수 X,Y는 서로 독립이라고 한다. XY가 독립 P(Y=y|X=x)x에 의존하지 않고 y만으로 정해진다. P(Y=y|X=x)=P(Y=y) 항상 성립 결합 확률의 비가 일정. P(X=x,Y=y)=P(X=x) P(Y=y) 위와 같은 벤다이어 그램을 생각해보자. $P(A)..

[Statistics] Chi-squared test

Chisq-test 는 기존에 활용된 모수추정과는 조금 다른 모습을 띈다. Chisq-test는 일반적으로 두 집단 혹은 집단 내 데이터들의 분포가 비슷한가에 대한 검정을 하는 방법으로 대표적인 비모수 통계 기법 중 하나이다. 만약 우리가 기존에 연속형 변수를 가지고 분석을 하려고 하는데, 정규성, 선형성, 독립성 등 BLUE의 가정을 만족하지 못한다면 윌콕슨, 카이제곱 검정 등 여러 비모수 추정 단계로 넘어와서 분석을 진행한다. χ2 검정은 범주형 변수 간의 관련성을 확인할 수 있다. χ2의 기본 가정은 기대 빈도(도수)가 5이하인 셀이 20퍼센트 이하 존재할 경우 정규분포를 가정하고 χ2을 사용할 수 있다. 해당 가정에 위배될 경우 Fisher's exact test를..

[Statistics] ANOVA(Analysis of variance) 사후검정까지

ANOVA ANOVA(Analysis of variance)는 두 개가 아닌 여러 모집단 간의 평균의 동일성을 검정한다. 집단을 구분하는 범주형 변수가 한 개인 경우를 일원분산분석(one-way ANOVA)라고 하며, 두 개인 경우 이원분산분석(two-way ANOVA)라고 한다. 이론상으로는 삼원분산분석, 사원분산분석등 더 많은 집단을 구분하는 것이 가능하지만 해석하는데 있어서 어려움이 있기 때문에 한 개 혹은 두개의 범주형 변수를 다룬다. 예를 들어 수학학원A, B가 있다고 하자. 학생들은 두 학원 모두 다니는 것은 불가하며 한 번에 한 학원만 다닐 수 있다고 가정하자. 여기서 집단을 구분하는 학원은 독립변수며, 수학점수는 종속변수다. 집단 간 one-way ANOVA를 시행할 수 있으며, 분산을 비..

[Python] Open file

파이썬에서 분석을 하기 위해서는 데이터가 필요하다. 파이썬 패키지 내의 내장된 데이터셋을 활용하여 분석을 할수도 있지만, 직접 데이터를 호출해 분석하는 일이 생길 것이다. 그럴때 패키지를 다운받지 않고도 파일을 불러오는 방법에 대해서 알아보자. 파일을 불러오는 패키지로 대표적인 패키지는 pandas가 있단는 것을 알고 있다. 하지만 여기서는 패키지가 아닌 내장함수 open에 대해서 다루어 볼 것이다. 다음에 있는 open 함수 내의 method를 하나하나 뜯어보자. open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None) file 우리가 불러오고자 하는 파일의 위치를 적어주어야..

Python 2021.09.30

[CS224N] ELMo, ULMfit

기존에 우리는 모델에 사전학습을 하지 않고 모델을 바로 Small labeled data 에 적용을 시켰다. 모델의 성능을 더 좋게하기 위해서 semi-supervised approach를 이용하자는 내용으로 Pre-ELMo(Train NLM on large unlabeled corpus for NER)이 등장했다. Pre-ELMo는 총 3가지 과정을 거친다. step1. Pretrain language model step2. Word embedding and Char-CNN step3. Use both word embedding and LM for NER ELMo : Embeddings from Language Models ELMo는 모든 문장을 이용해 Contextualized word vector를..

[Statistics] T test with R

T test 는 주로 평균검정을 할 때 사용한다. 평균검정이란 평균에 대한 가설검정을 의미하며 선정한 표본이 특정 평균값을 갖는 모집단에 속하는지 또는 두 표본집단의 평균값 간에 차이가 존재하는지에 대해 검정하는 것이다. 평균검정의 종류로는 일표본, 독립표본, 대응표본 등이 있다. t test의 가설은 다음과 같다. Hnull : μ = a Ha : μ  a 연구자가 찾고자하는 결과는 기존과 다르다라는 주장이며 대립가설로 설정한다. t test에서는 σ를 사용하지 않고, 표본의 표준오차인 sn 를 사용한다. 다음과 같이 정의되는 t값을 검정통계량(test statistic)으로 사용하여 검정한다. $ t = ..

[Python] matplotlib으로 스타벅스 데이터 시각화 하기

스타벅스 데이터를 구할 수 있어서 그 자료를 가지고 간단하게 시각화해보자. import pandas as pd import matplotlib.pyplot as plt import numpy as np import os import matplotlib.font_manager as fm plt.rcParams['font.family'] = 'NanumGothic' 필요한 라이브러리는 다음과 같다. 스타벅스 코리아, 즉 한국에 입점한 스타벅스 데이터를 가지고 오는거라 위도, 경도 주소 등 여러 데이터가 포함되어 있어서 한글 폰트를 받아와야한다. 나눔 고딕 폰트를 선호해서 해당 폰트로 진행을 했다. ( 음수일 경우 표시가 안된다는 단점이 있다.. ) # 현재의 directory 를 체크한다. os.getcwd..

[CS224N] Subword Model - BPE, Wordpiece

12강에서는 Subword Models에 대해서 다룬다. 이전의 언어모델에서는 형태론을 통해서 각 단어를 띄어쓰기 기반으로 분류해 단어에 대해 분석을 진행했다. 하지만 합성어의 경우 띄어쓰기가 존재하는 합성어도 있고 아닌 경우도 있으며, 띄어쓰기가 없는 언어도 존재하기 때문에 문제에 직면하게 된다. 모든 단어를 커버할 수 없기 때문에 단어기반이 아닌 Character 기반의 모델이 등장했다. Character level 모델은 Unknown word도 파악이 가능하며, Conneted Language 분석은 당연히 가능하며, Character n-gram으로 의미를 추출하는 경우로 주로 사용된다. Byte Pair Encoding (BPE) 수부지 피부 고민이라는 단어를 예측하려면 '수부지'라는 단어는 ..

[GAN] Generative Adversarial Networks(GAN) - (StarGAN, fusionGAN)

GAN Generative Adversarial Networks(GAN)은 Vision 분야를 접해본 사람이라면 한 번쯤은 들어봤을 단어이다. GAN을 한국어로 번역하면 '대립쌍(Adversarial) 구조를 사용하는 생성모델'이라고 할 수 있다. 말그대로 서로 다른 대립쌍 Generator와 Discriminator를 만들어낸다. Generator(생성자)는 새로운 데이터를 계속해서 생성하고, Discriminator(구분자)는 생성된 데이터가 진짜인지 가짜인지 계속해서 구별한다. 굿펠로우에서는 Generator를 위조 지폐범, Discriminator를 위조지폐를 구분하는 경찰에 비유했다. Generator는 Random noise를 받아서 Traning set과 비슷한 데이터를 생성해 Discrim..

Deep Learning/GAN 2021.09.08

[CS224N] ConvNets for NLP

해당 강의에서는 CNNs을 다루기 전 RNN의 단점에 대해서 먼저 다룬다. RNN은 Prefix(접두사) context를 모두 포함하게 되며 Piece of sentence로 나누지 못한다는 단점이 있고, Sequence to Sequence의 모델을 살펴볼때 앞 단 Encoder부분의 RNN에서 Decoder로 보내주는 과정의 Last hidden state는 Last token에 영향을 많이 받게 된다. 또한 단어의 길이가 길어지면 정보의 손실이 발생할 수 있다는 것이 큰 문제이다. GRU나 LSTM 등 모델을 사용하거나 Encoder 부분에 Attention을 사용해 문제를 보완하곤 했다. CNNs CNNs 에서는 특정 길이로 Sub-sequence로 분할한 후 Feature를 추출하는 과정으로 접..

[CS224N] Machine Translation (MT), Attention

Contents Machine Translation(MT)는 1950년대부터 연구를 진행해왔다. 이당시에는 주로 Bilingual dictionary를 활용한 Rule-based의 번역 시스템을 사용했고, 1990s~2010s에는 서로 다른 두 언어의 Parallel 데이터로부터 확률 모델을 구축하는 Statistical Machine Translation이 주를 이루었고 2014이후부터 현재까지는 Neural Machine Translation 이 주로 연구되고 있다. Statistical Machine Translation SMT는 주어진 parallel 데이터로부터 확률 모델(Probabilistic Model) 을 구축하는 것이 핵심이다. 프랑스어를 영어로 번역하는 경우를 예로 들어보자. 프랑스 ..

[CS224N] Language Model (n-gram, NNLM, RNN)

Contents Language Model 이란? 단어의 시퀀스에 대해서 얼마나 자연스러운 문장인지를 확률을 통해 예측하는 모델이며, 주어진 단어의 시퀀스에 대해 다음에 나타날 단어가 어떤 것인지를 예측하는 작업을 Language Modeling이라고 한다. 기계번역, 음성인식, 자동완성 등 여러 분야에 사용될 수 있다. w1,w2,,wtn+1,,wt1,wt,,wT1,wT P(w1,,wT)=P(w1)×P(w2|w1)××P(wT|wT1,,w1) $\underset{t=1}{\overset{T}{\prod}}P(w_t|w_{t-1..

[CS224N] Parsing

Parsing 이란? parsing은 각 문장의 문법적인 구성 또는 구문을 분석하는 과정이다. Constituency Parsing은 문장의 구조를 파악하는 것이 주목적이고, Dependency Parsing은 단어간 관계를 파악하는 것이 주목적이다. Constituency Parsing Constituency Parsing은 구 구문분석이라고도 불리며, 문장을 중첩된 성분으로 나누어 문장의 구조를 파악하며, 영어와 같이 어순이 비교적 고정적인 언어에서 주로 사용된다. 아래 예시를 보면 첫 번째로 John이라는 주어(N)와 hit the ball이라는 동사구(VP)로 나눌 수 있고, 동사구는 다시 hit라는 동사(V)와 The ball이라는 명사구(NP)로 나눌 수 있고, the(D)와 ball(N)로 ..

[CS224N] Named Entity Recognition(NER)

NER 개체명 인식은 문장에서 Location, Person, Organization 등 개체명Named Entity를 분류하는 방법론이다. 개체명 인식을 하기 위해서는 그 전에 전처리 과정을 해주어야 한다. input으로 text가 들어오면 sentence단위로 split을 해주는 과정이 필요하고, 그 후 tokenizing을 거치고 pos tagging을 해준 후 Named entity recognition을 진행할 수 있다. 아래와 같이 '우리', '아버지', '가방', '에', '들어간', '다' 로 토큰화 되었다고 해보자. 일반적으로 '가방'이라는 단어를 location으로 판단할 수는 없지만 NER에서는 문맥을 보고 결정하기 때문에 아래의 경우 '가방'을 Location으로 개체명을..

반응형