Machine Learning/Theory
피어슨 상관 계수 (Pearson Correlation Coefficient)
피어슨 상관 계수 (Pearson Correlation Coefficient)
2019.10.20상관계수(correlation coefficient)란 두 변수가 어떤 상관 관계를 가지는가?를 의미하는 수치다. +1은 완벽한 양의 선형 상관 관계, 0은 선형 상관 관계 없음, -1은 완벽한 음의 선형 상관 관계를 의미한다. X와 Y 사이의 피어슨 상관 계수를 구하는 식은 다음과 같다 \\[r_{XY} = \frac{ \sum^n_i (X_i - \bar{X})(Y_i - \bar{Y}) }{ \sqrt{\sum^n_i (X_i - \bar{X})^2} \sqrt{\sum^n_i (Y_i - \bar{Y})^2} } \\] 여기서 X, Y는 vector인데 식을 조금 들여다보면 결국 다음과 같은 과정이다. 1. 각 vector의 표본평균\\(\bar{A}\\)를 구해서 A의 0이 아닌 각 원소에 빼주..
Website for public datasets
Website for public datasets
2019.09.10Recommendation datasets: http://cseweb.ucsd.edu/~jmcauley/datasets.html https://www.wikidata.org/wiki/Wikidata:Database_download/ko Machine learning datasets (including clustering): https://archive.ics.uci.edu/ml/index.php Various datasets: https://www.kaggle.com/datasets Network(graph) datasets: https://snap.stanford.edu/data/ Graph datasets: https://graphchallenge.mit.edu/data-sets Web graphs:..
민감도와 특이도 (sensitivity, specificity)
민감도와 특이도 (sensitivity, specificity)
2019.05.24sensitivity(민감도) / specificity(특이도)\\(sensitivity = \frac{True Positive}{True Positive + False Positive}\\) \\(specificity = \frac{True Negative}{True Negative + False Positive}\\) 실제 정답PositiveNegative실험 결과PositiveTrue PositiveFalse Positive (Type Ⅱ error)NegativeFalse Negative (TypeⅠerror)True Negative True Positive : Positive일거라고 예측한 것 중에서, 실제로 정답인(True) 개수.True Negative : Negative라고 예측한 것 중에..
재표본추출 방법, Resampling Methods
재표본추출 방법, Resampling Methods
2019.05.20training set에서 반복적으로 표본을 추출하고, 각 표본에 모델을 적합하여 적합한 모델들에 대해 정보를 얻는 것을 말한다. 예를 들어 각 표본 마다 적합 결과가 다를 것이므로, 적합 결과가 다른 정도를 조사할 때 사용할 수 있다. Resampling에 주로 사용되는 방법으로는 교차검증(cross-validation)과 붓스트랩(bootstrap)이 있다. cross-validation은 본질적으로는 validation error를 구하기 위해서이고, validation error를 구하는 이유는 이를 이용해 test error를 추정하는 방식으로 성능을 평가하거나 적절한 수준의 유연성을 선택하는데 사용. 즉, 모델 평가(model assessment), 모델 선택(model selection) b..
분류, Classification
분류, Classification
2019.05.07반응변수는 크게 양적 반응변수와 질적 반응변수(categorical)로 나눌 수 있다.질적 반응변수는 동물(개, 고양이, 치타)처럼 분류할 수 있는 반응변수를 말한다. (범주형, categorical) 반응변수가 질적인 경우 선형회귀는 적합하지 않다.분류 클래스 수가 3 이상인 경우 선형회귀?범주에 따라 Y값을 1, 2, 3으로 나눌 수는 있는데, 1과 2, 2와 3의 차이가 비슷한 경우에만 해볼만하다. 분류 케이스가 3 이상인 경우 질적 반응변수를 선형 회귀를 위해 양적 반응변수로 바꾸는 자연스러운 방법은 없다.그래서 후술할 LDA 분류기를 사용한다. 분류 클래스 수가 2인 경우 선형회귀?분류해야하는 케이스가 2개면 0, 1로 할 수 있으니까 가능은 하지만…이런 경우 f가 직선이라 Y값이 음수로 나오거..
선형 회귀, Linear Regression
선형 회귀, Linear Regression
2019.05.07선형 회귀란 선형대수 ( Linear Algebra )와 선형성이란 X와 Y 사이에 선형적 상관관계가 있다고 가정하고 \\(f\\)를 추정하는 것. 선형적 상관관계가 있다고 가정하기 때문에, 함수 전체를 추정하는 문제를 계수 \\(\beta\\)를 추정하는 쉬운 문제로 단순화 시킬 수 있다. \\[\hat{y} = \hat{\beta}_0 + \hat{\beta}_1 x\\] 주어진 데이터를 통해 직선 y를 추정하는 척도로 가장 흔하게 사용되는 기법은 최소제곱. 잔차제곱합(RSS: residual sum of squares) \\[RSS = \sum (y_i - \hat{y_i})^2\\] RSS를 최소화하는 \\(\beta\\) 추정량을 최소제곱추정량(LSE)라 한다. 장단점? 모델이 간단하여 해석은 ..
편향-분산 절충, Bais-Variance Decomposition
편향-분산 절충, Bais-Variance Decomposition
2019.04.07Expected test MSE 는 크게 reducible error 와 irreducible error 로 분리할 수 있으며 reducible error 는 다시 variance 와 bias 로 분리할 수 있다. Variance 는 training set 을 변경했을 때, \\(\hat{f}\\)이 변화하는 양을 나타낸다. Variance 가 클수록 training set 의 작은 변화에도 \\(\hat{f}\\)가 크게 변한다. 일반적으로 더 복잡한 방법일수록(more flexible) 더 큰 Variance 를 가진다. 이를 생각해보면, 복잡한 방법이라는 것은 그 만큼 주어진 training data 에 가깝게 따라간다는 것을 의미한다. 따라서 그 만큼 데이터 변화에 민감할 수 밖에 없다. Bias..
GAN : Generative Adversarial Networks (생성적 적대 신경망)
GAN : Generative Adversarial Networks (생성적 적대 신경망)
2019.02.14심층 합성곱 생성적 적대 신경망 (Deep Convolutional Generative Adversarial Networks, DCGAN)Generator와 Discriminator라는 2개의 신경망을 서로 경쟁시킨다.Generator는 이미지를 생성하고, Discriminator는 이게 진짜 이미지인지, 생성한 이미지인지를 판정이런 식으로 둘을 경쟁시키는 방식으로 학습하는 모델을 GAN 이라 함.비지도 학습 참고 자료원논문 https://arxiv.org/pdf/1511.06434.pdfhttps://www.tensorflow.org/tutorials/generative/dcgan?hl=ko텐서플로우 가이드 문서에 아주 잘 나와있음개념 부터 실제 모델 생성하는 것 까지 Keras 예제도 있음.
Supervised, Unsupervised / Linear Regression
Supervised, Unsupervised / Linear Regression
2017.04.15ANN에서 문제를 해결하는 방식은 두 단계로 이루어져 있다.학습 : 학습 데이터를 이용해 가중치 매개변수를 학습한다. (지도 학습, SL(Supervised learning))추론 : 학습한 가중치 매개변수를 이용해 입력 데이터에 대한 결과를 추측한다.추론은 다시 분류(Classification)와 회귀(Regression)로 나뉜다. Supervised, Unsupervised지도 학습과 비지도 학습의 차이는, 학습 데이터가 라벨링되어 있느냐이다.라벨링되어 있는 경우 데이터를 어떻게 분류해야 할 지를 알고 있으므로 주어진 데이터를 올바른 곳에 분류하게 된다.그러나 비지도 학습의 경우 데이터가 라벨링되어 있지 않기 때문에 비슷한 특징을 가진 데이터들 끼리 묶을 수는 있겠지만, 이 데이터가 무엇을 의미하는..
딥러닝 ( DL, Deep Learning ) / 심층 신경망 ( DNN )
딥러닝 ( DL, Deep Learning ) / 심층 신경망 ( DNN )
2017.03.29딥러닝, 심층 신경망딥러닝은 사실상 층을 깊게 쌓은 심층 신경망(DNN)을 가리키는 말이다.여태까지는 오버피팅, 높은 시간 복잡도 때문에 층을 깊게 쌓는게 불가능했었지만오버피팅은 Dropout으로, 높은 시간 복잡도는 GPU의 병렬처리를 이용해 해결하여 층을 깊게 쌓는 것이 가능해져 주목받게 되었다. 여러 머신러닝 알고리즘 중에 신경망이, 그 중에 층을 깊게 쌓은 심층 CNN이 이미지 인식이나 자연어 처리 등에서 압도적인 성능을 보인다. 심층 신경망의 이점1. 신경망의 매개변수 수가 줄어든다.층을 깊게 했을 경우 더 적은 매개변수로 같거나 높은 수준의 표현력을 가질 수 있다. 가령 입력 데이터의 일부인 5x5 영역이 Conv 연산에 참여하려면, 층이 1개인 신경망에서 Conv layer의 필터의 크기는 ..
합성곱 신경망 ( CNN, Convolutional Neural Network )
합성곱 신경망 ( CNN, Convolutional Neural Network )
2017.03.27CNN, Convolutional Neural NetworkCNN은 합성곱(Convolution) 연산을 사용하는 ANN의 한 종류다.Convolution을 사용하면 3차원 데이터의 공간적 정보를 유지한 채 다음 레이어로 보낼 수 있다.대표적인 CNN으로는 LeNet(1998)과 AlexNet(2012)이 있다.VGG, GoogLeNet, ResNet 등은 층을 더 깊게 쌓은 CNN기반의 심층 신경망(DNN)이다. CNN의 네트워크 구조지금까지 다룬 신경망은 이전 계층의 모든 뉴런과 결합되어 있었고, 이를 Affine layer라고 불렀다.이런 식으로 이전 계층의 모든 뉴런과 결합된 형태의 layer를 fully-connected layer(FC layer, 전결합 레이어) 또는 Dense layer라고..
인공신경망 ( ANN ) #6-3 최적화 : 오버피팅 방지( weight decay, droupout ) / 하이퍼파라미터 최적화
인공신경망 ( ANN ) #6-3 최적화 : 오버피팅 방지( weight decay, droupout ) / 하이퍼파라미터 최적화
2017.03.26오버피팅( Overfitting )오버피팅은 훈련 데이터에만 지나치게 적응하여 시험 데이터에 제대로 반응하지 못하는 현상을 말한다.주로 다음 경우에 발생한다.매개변수가 많고 표현력이 높은 모델인 경우훈련 데이터가 적은 경우 Regularization오버피팅을 억제하기 위해서 다음과 같은 regularization 기법을 사용한다.regularization은 일반화 정도로 번역될 것 같다. 신경망이 범용성을 갖도록 처리하는 거니까. normalization, 정규화와는 다르다. weight decay ( L2 regularization )L2 regularization은 가장 일반적으로 사용되는 regularization 기법으로, 오버피팅은 가중치 매개변수의 값이 커서 발생하는 경우가 많기 때문에 가중치..