본문 바로가기

Research114

T-Test에 대한 이해 scikit learn에는 두가지 종류의 t-test가 구현되어 있다. 하나는 ttest_ind이고, 다른하나는 ttest_rel이다. 전자는 두 종류의 sample들이 완전히 독립적으로 추출되었을 때를 가정하고, 후자의 경우 그 반대를 의미한다. T-test의 구체적인 계산 과정은 아래와 같다. https://diseny.tistory.com/entry/t-test-%EB%B0%91%EB%B0%94%EB%8B%A5%EB%B6%80%ED%84%B0-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0 즉, 각 분포에서 뽑은 sample들의 차이들의 평균을 구해서 빼주고, 그리고 분모에 해당하는 모집단의 분산은 직접 구할수가 없기 때문에, 각 sample들의 분산을 구한다음 합쳐서 사용하는 방.. 2024. 2. 2.
확률 통계에서 분포에 대해 말하는 모드(Mode)란 https://dawoum.ddns.net/wiki/Mode_(statistics) 2023. 8. 21.
Kernel Density Estimation https://darkpgmr.tistory.com/147 KDE는 히스토그램을 훨씬 고도화한 방법으로 이해할 수 있다. 각각의 x이 가우시안분포(커널)를 갖는다고 가정한다. 모든 점에 대해 가우시안분포를 부여한다음, 모든 확률을 누적해서 거대한 하나의 분포를 그린다. 즉, 히스토그램의 bin 대신 가우시안분포를 쓴다고보면 된다. Kernel Density Estimation(커널밀도추정)에 대한 이해 얼마전 한 친구가 KDE라는 용어를 사용하기에 KDE가 뭐냐고 물어보니 Kernel Density Estimation이라 한다. 순간, Kernel Density Estimation이 뭐지? 하는 의구심이 생겨서 그 친구에게 물어보니 자기도 잘 모른 darkpgmr.tistory.com 2023. 7. 26.
CCA(Canonical Correlation Analysis) https://en.wikipedia.org/wiki/Canonical_correlation 두개의 vector를 각각 Linear Projection한다음 최대의 유사해지도록 가지도록 학습한 상태에서 corrleation을 구한것 SVCCA : SVD와 CCA를 결합 https://arxiv.org/abs/1706.05806 2023. 3. 21.
Contrastive Learning Contrastive Learning Contrasitive Learning이 Masked Language Model하고 다른 핵심은, 감독학습처럼 명확하게 정답을 만들기 힘든 상황에서, ambiguous한 보기 중 가장 가까운 정답을 찾도록 하는 방식이라는 것이다. https://analyticsindiamag.com/contrastive-learning-self-supervised-ml/#:~:text=Contrastive%20learning%20is%20an%20approach,between%20similar%20and%20dissimilar%20images. Contrastive Learning에 쓰이는 Loss는 보통의 retreiver model 학습하는것처럼 CrossEntropy loss를.. 2022. 2. 28.
Hinge Loss https://en.wikipedia.org/wiki/Hinge_loss Hinge Loss는 확률에 대한 정의가 들어있지 않으므로, 아주 쉽게 생각하면 일종의 regression 방식으로 학습된다고 생각할 수 있다. 즉 pos label에 대해서는 예측된 y값이 1로 수렴하도록 리그레션을 하는 것이다. 좀 더 정확히는 정답 class에 대해서는 1-y가 최소가 되도록 학습을 해서, y가 커지도록 학습이 되는건데 다만 y값이 무한히 커지면 안되니까 max(0, 1-y)를 취해서 y가 1보다 커지면 0으로 처리해버려서 1에서 멈추도록 한다. 즉 확률이란 가정없이 y의 범위가 1이하로 되도록 제한하는 것이다. 반면에 오답 class에 대해서는 1+y가 최소가 되어야하므로, y가 작아지도록 학습하는데, 이 역.. 2022. 1. 6.
소리에 대한 사람의 인지적인 특성 Mel scalemel scale의 핵심은 사람이 멜로디를 인지하는 방식대로, hz에 대해 log scale을 취하겠다는 것이다. 데시벨소리의 크기인 amplitude를 log scale로 처리해주는 것. 이는 사람이 자극의 크기(소리의 크기)를 log scale로 인지하는 [베버-페히너의 법칙](https://ko.wikipedia.org/wiki/%EB%B2%A0%EB%B2%84-%ED%8E%98%ED%9E%88%EB%84%88%EC%9D%98_%EB%B2%95%EC%B9%99)에서 기초한다. https://m.blog.naver.com/PostView.nhn?blogId=msnayana&logNo=80100281096&proxyReferer=https:%2F%2Fwww.google.com%2F ht.. 2021. 1. 7.
Smooth Approximation LogSumExpLogSumExp는 max()의 smooth approximation이다.그 이유는 exp를 취하게 되면, 숫자가 큰 값의 영향력이 지수적으로 커지게 되는데, 이것들을 덧셈을 하게되면 숫자가 작은 값들은 영향력이 매우 줄어들게된다.그다음 log를 취해서 다시 exp의 역과정을 하게 되면, 사실상 영향력이 큰 숫자만 의미를 갖게 되므로 max함수와 유사한 기능을 하게 된다. https://en.wikipedia.org/wiki/LogSumExp Softmaxsoftmax는 argmax()의 smooth approximation이다.argmax의 결과물이 one-hot encoding으로 표현되는 상황에서 사실상 softmax의 결과물은 argmax와 같은 솔루션을 갖는다. 특히 temper.. 2020. 8. 6.
레이더와 라이다 - 레이더(Radar): 전자기파를 방출하고 돌아오는 시그널을 통해 주변의 물체를 파악 - 라이다(Lidar): 레이저를 방출하고 돌아오는 시그널을 통해 주변의 물체를 파악레이저는 직진하도록 가지런히 모은 전자기파를 의미하며, 따라서 라이다는 레이더에 비해 더 고해상도이다. http://blog.naver.com/e_mobis/221979032096 2020. 7. 21.
Information Bottleneck Information Bottleneck Method 한마디로, input X와 latent T의 정보량은 최소가 되면서 동시에 latent T와 target Y의 정보량은 최대가 되어야한다. https://en.wikipedia.org/wiki/Information_bottleneck_method 2020. 6. 12.
Pseudo Label 원 모델이 틀린 데이터에 대해서, pseudo-labeling할 때 class를 맞춰야만 유의미한 성능이 증가한다. 모델이 underfitting 된 상황에서만, 이러한 pseudo-labeling이 동작하는게아닐까? 데이터가 부족해서 블러리한 디시전바운더리가 있는 지점의 sharpness를 증가시켜서, 모델의 underfitting을 해결한다.음어렵다... 근데 이게 블러리한 영역에서 양쪽 방향으로 동일한 개수의 x가 생성되면...? 다만, 여기에 thresholding을 해서 좀 더 확실한 클래스에 대해서만 학습을한다면? 근데이건 애초에 블러리하지 않다는건데..게다가 overconfident문제가 있음.. 2020. 6. 12.
Probability Calibration Probability Calibrationscikit-learn 사이트에 정말 친절하고 상세하게 잘 설명되어있다.https://scikit-learn.org/stable/modules/calibration.html#calibration 아주 간단히 insight만 적자면 이러하다. 애초에 LogisticRegression처럼 모델 자체가 sigmoid 함수를 이용한 확률을 return하고, 이 확률을 NLL로 학습시키면 자연히 probability분포가 confidence와 동치가 된다. 그런데 SVM같은 모델은 output과 loss가 확률 및 NLL과 관련이 없어서, probability가 confidence를 갖지 않고, 항상 bias를 갖는 prediction 분포가 생긴다. 그래서 이러한 문제를.. 2020. 4. 17.
Forward Looking Problem, Omniscient(Oracle) Forward Looking Problem기본적으로 time-series데이터를 이용한 future forecasting task에서는 절대적으로 미래의 정보가 예측 모델(함수)의 input으로 들어가는 것이 엄격히 금지된다.특히 금융 모델의 경우, 미래 주가를 validation셋으로 사용하고, 여기서 구한 단순 1차 통계(mean값)를 사용해 과거의 데이터인 training셋을 normalize하기 위해서 사용하는 것 만으로도 엄청난 문제가 된다. 그 정도로 future 정보는 엄격히 사용이 금지되어야 하는 것이 원칙적으로는 맞다. Time-series Cross-validation그래서 이러한 종류의 time-series forecasting하는 task에서 cross-validation을 할 때에.. 2020. 3. 16.
Graph Neural Networks 0. Convolutional Neural Networks의 Graph 해석 Karate club graph, colors denote communities obtained via modularity-based clustering (Brandes et al., 2008) 위와 같은 그래프 형태의 데이터를 학습하기 위한 가장 좋은 네트워크 아키텍쳐는 무엇일까? 바로 Graph Convolutional Networks이다. GCN은 널리 알려진 Convolutional Neural Networks에 Adjacency Matrix를 도입하여 보다 데이터의 structure를 보다 일반화된 형태의 그래프로 정의한 것이다. Adjacency Matrix란 아래와 같은 graph가 있을 때, 각 node간에 연결(.. 2020. 1. 30.
다양한 Convolution Layer Convolution기본적으로 convolution layer는 fully connected layer에서 spatial(이미지의 가로세로) 영역을 잘게 쪼개고, 그만큼 weight sharing을 시킨 아키텍쳐이다.그러나 feature dimension(=channel, depth)에 대해서는 여전히 fully connected를 유지하고 있다. 즉 모든 input channel을 섞어서 각각의 output channel로 연결하는 과정이 fully connected라는 의미이다. 수식으로 말하자면 input channel이 256 dim이고 output channel이 128 dim이라면, feature dim에 대한 weight matrix는 [256x128]로 fully connected 이다. .. 2020. 1. 30.
Bayesian Inference Machine Learning 에서 궁극적으로 추구하는 목표는 P(X'|X) 를 알아내는 것이다. (X' : 예측하고자 하는 데이터 , X : 기존에 관측된 사건의 데이터) 즉, 기존에 관측된 사건의 데이터 X를 이용해서 앞으로 일어날사건 X'에 대해 예측하는 것이다. 만일, X 없이 그냥 P(X')를 계산한다는 것은 기존에 일어난 사건 데이터 전혀 고려하지 않고, 오직 수학적 모델만으로 확류를 계산하겠다는 의미이다. 이는 machine learning이라 부를 수 없고, 일반적으로 데이터 X를 고려할 때보다 훨씬 부정확한 확률 추론을 하게된다. 좀 더 직관적인 예를 들면, 두개의 박스 A와 B에서, A에는 빨간공이 99%, B에는 파란공이 99% 들어 있다고 하자. 이때 한 사람이 무작위로 두 박스중 .. 2020. 1. 29.
Advanced Supervised Learning Advanced Supervised Learning Active LearningUnlabeled data에 대해 MC dropout을 inference를해서 confidence를 측정해서 낮은것부터 labeling한다.똑같은 방법으로 loss prediction을 해서 loss가 큰 것부터 labeling할 수도 있다. Online Service Data + Active Learning감독학습 모델의 실서비스를 하면서 계속해서 들어오는 input x에 대해, 모든 데이터를 전부 labeling할 수는 없다. 따라서 이 중에서 어떤 데이터를 labeling할 지 우선순위를 정해야하는데 이 때 active learning이 필요하다. Multi-task Learning에서 난이도에 따른 Overfitting.. 2020. 1. 28.
The Bitter Lesson 번역 The Introduction of Reinforcement Learning의 저자로 유명한 Richard Sutton의 2019년 5월 13일에 올라온 AI에 대한 글을 번역해보았다. (역자: 곽동현, 윤상웅) The Bitter Lesson 씁쓸한 교훈 70년간의 AI연구로부터 깨달을 수 있는 가장 큰 교훈은 바로 계산을 이용하는 일반적인 방법론이야말로 궁극적으로, 큰 격차를 두고도 가장 효율적이라는 것이다. 이에 대한 궁극적인 이유는 바로 무어의 법칙, 더 일반화해서는 유닛 당 계산 비용이 지수적으로, 꾸준히 감소하고 있기 때문이다. 대다수의 AI 연구는 agent가 사용가능한 계산자원이 일정하다는 조건에서 행해졌으나(이 경우 인간의 지식을 최대한 이용하는 것이 오직 유일한 성능 향상의 방법일 것이.. 2020. 1. 17.
음성인식 기초 이해하기 # 발음기호와 문자표현 - phoneme: 음소, 가장 작은 소리의 단위. 쉽게 말해 영어사전의 발음기호를 생각하면 된다. - grapheme: 자소(=문자소), 가장 작은 문자의 단위. 발음기호로 표현되기 이전의 원래 문자를 의미한다. 그리고 대부분의 경우 알파벳 1개가, phoneme 1개에 대응 된다. ex) help -> h / e / l / p 그러나 항상 phoneme과 1:1대응은 아니다. 예를 들어 shop 에서 sh는 2개의 알파벳이 묶어서 ʃ 으로 발음되므로, 2개의 알파벳이 1개의 grapheme에 대응 된다. ex) shop -> ʃ / ɑː / p 경우에 따라서 최대 4개의 알파벳이 1개의 graphpeme에 대응 되기도 한다. ex) weight -> w / ei / t - mo.. 2019. 12. 29.
소리 합성 사람 목소리의 주파수목소리의 fundamental frequency의 경우 남성 85~180hz, 여성 165~255Hz이다.그런데 전화통화 기술에서는 목소리의 범위를 300~3400Hz로 가정하고, 이를 voice frequency라고 한다. 그리고 목소리를 전송하는 채널은 4kHz를 쓰며 이에 따라 최소한 2배(Nyquist-Shannon의 샘플링이론에 의해)가 되는 8kHz로 샘플링을 해서 목소리를 pcm으로 변환한다. https://en.wikipedia.org/wiki/Voice_frequency#:~:text=The%20voiced%20speech%20of%20a,frequency%20band%20as%20defined%20above. Voice Synthesis에서의 두가지 큰 방법- con.. 2019. 12. 9.