Machine Learning9

ML Performance Improvement Cheat sheet (a). Improve Performance With Data (b). Improve Performance With Algorithms (c). Improve Performance With Tuning (d). Improve Performance With Ensembles Process: 1. Pick one group ; (a) Data. (b) Algorithms. (c) Tuning. (d) Ensembles. 2. Pick one method from the group. 3. Pick one thing to try of the chosen method. 4. Compare the results, keep if there was an improvement. 5. Repeat. Improve Perf.. 2019. 12. 4.
XGBoost(Boosting / Gradient Boosting Algorithm(GBM) / Adaptive boosting) Boosting 약한 분류기를 결합하여 강한 분류기를 만드는 과정 어떤 모델이 유효한지, 적절한지를 찾아내는 과정 배깅과 유사하게 초기 샘플 데이터로 다수의 분류기를 만들지만 배깅과 다르게 순차적 무작위성이 없으며 강력한 사전 가지치기 사용 * 약한 분류기의 특징은 바로 오분류율이 0.5에 가깝다 Gradient Boosting Algorithm(GBM) examples: LightGBM, CatBoost, XGBoost Gradient Boosting = Residual Fitting Gradient Boosting에서는 Gradient가 현재까지 학습된 모델의 약점을 드러내는 역할을 하고, 다른 모델이 그걸 중점적으로 보완해서 성능을 Boosting한다. 위에서는 L2 손실함수등 미분만 가능하다면 다.. 2019. 9. 25.
Batch Normalization NEED TO CHECK Batch Normalization 배치 정규화 Batch Normalization 의 목적 Batch normalization 을 설명하기 전에 Nomalization 이 무엇인지 먼저 이해해야 한다. Normalization 에 대한 설명은 아래 링크로 대체한다. Normalization 설명 글 링크 위 글에선 입력 데이터를 왜 정규화해야 하는지 설명했다. 딥러닝 모델의 구조를 단순화하여 설명하면 흔히들 입력층 → 은닉층 → 출력층으로 묘사한다. 입력층의 입력 데이터는 쉽게 normalization 할 수 있지만, 입력층을 지나서 만나게 되는 레이어들의 입력은 normalization 하기 쉽지 않다. Batch normalization 은 이런 문제를 해결하기 위한 알고리즘이다. Batch Nor.. 2019. 9. 18.
Momentum, AdaGrad, RMSProp, Adam --- NEED TO CHECK Momentum Momentum 은 Gradient descent(이하 GD) 기반의 optimization algorithm 이다. 수식으로 표현하면 아래와 같다. L : loss function value W : weights η : learning rate α : 가속도 같은 역할을 하는 hyper parameter, 0.9 등 1 이하의 값을 취함. 자세한 것은 아래에 설명. v 는 일종의 가속도(혹은 속도) 같은 개념으로 생각하는 것이 이해에 더 도움이 될 것 같다. v 의 영향으로 인해 가중치가 감소하던 (혹은 증가하던) 방향으로 더 많이 변화하게 되는 것. 최초의 v 는 0으로 초기화 한다. 간단한 예를 이용하여 설명한다. 첫번째 스텝의 기울기가 5, 두번째 스텝의 기울기가 3인 경우 학습률.. 2019. 9. 18.
MGD(Mini-batch gradient descent) vs SGD(stochastic gradient descent) MGD(Mini-batch gradient descent), SGD(stochastic gradient descent)의 차이에 대해 설명하기 위해선 먼저 배치 Batch 가 무엇인지 알아야 한다. 배치 Batch 배치의 사전적 의미는 (일괄적으로 처리되는)집단이다. 배치는 한번에 여러개의 데이터를 묶어서 입력하는 것인데, GPU 의 병렬 연산 기능을 최대한 효율적으로 사용하기 위해 쓰는 방법이다.(GPU 의 병렬연산에 대한 설명 링크) 배치는 Iteration 1회당 사용되는 training data set 의 묶음이며, Iteration 은 정해진 batch size 를 사용하여 학습(forward - backward) 를 반복하는 횟수를 말한다.(철수네 옆집이 영수네 집이고 영수네 옆집이 철수네 옆.. 2019. 9. 18.
Normalization Normalization Data Normalization 은 데이터의 범위를 사용자가 원하는 범위로 제한하는 것이다. 이미지 데이터의 경우 픽셀 정보를 0~255 사이의 값으로 가지는데, 이를 255로 나누어주면 0~1.0 사이의 값을 가지게 될 것이다. 위의 예를 수식으로 간단하게 쓴다면, (정규화하고자 하는 값 - 데이터 값들 중 최소값) / (데이터 값들 중 최대값 - 데이터 값들 중 최소값) 이다. 다른 방법으로는 (정규화하고자 하는 값 - 데이터의 평균) / 데이터의 표준편차 가 있다. 두번째 경우는 Standardization 이라고도 한다. 왜 하는데? 학습을 더 빨리하고 Local optimum 에 빠지는 가능성을 줄이는 등의 다양한 실용적 이유가 있다. 직관적 이해를 위해 그림을 첨부한.. 2019. 9. 18.
Cross Validation Validation Cross Validation 을 이해하려면 먼저 Validation 을 이해해야 합니다. Model 을 학습시킨 뒤 평가할 때 Test 와 Validation 이라는 2가지의 Phase 가 있습니다. Test 는 Unseen data 가 입력되었을 때, 학습결과와 유사한 결과가 나오는지 확인하는 과정입니다. Generalization(일반화) 성능을 평가한다고 할 수 있죠. Model 이 Overfitting(과적합) 되었는지 확인한다고 할 수 있습니다. Validation 은 Model 의 Hyper parameter(사용자가 임의로 지정할 수 있는 Parameter, 예를 들어 Learning rate(학습률) 같은)를 조정하는 Phase 입니다. Validation data s.. 2019. 9. 18.
L1 Regularization, L2 Regularization 딥러닝 용어 정리, L1 Regularization, L2 Regularization 의 이해, 용도와 차이 설명 제가 공부하고 정리한 것을 나중에 다시 보기 위해 적는 글입니다. 제가 잘못 설명한 내용이 있다면 알려주시길 부탁드립니다. 사용된 이미지들의 출처는 본문에 링크로 나와 있거나 글의 가장 마지막에 쓰여 있습.. light-tree.tistory.com 1. Norm Norm 은 벡터의 크기(혹은 길이)를 측정하는 방법(혹은 함수)입니다. 두 벡터 사이의 거리를 측정하는 방법이기도 합니다. 한국어로 적을 땐 '노름' 이라고 발음기호대로 적는데, 막상 제 귀엔 영미권에서의 발음은 '노ㄹㅡ엄' 으로 들립니다. p-놈 : ∥u∥_p= ( ∑ |u_k|^p in (k=1 ~ n) )^(1/p) ∥x∥=.. 2019. 9. 18.
Generative VS Discriminative Models Q. There are two images of animal(lion and elephant). Classify it!!! In General, A Discriminative model ‌models the decision boundary between the classes. A Generative Model ‌explicitly models the actual distribution of each class. In final both of them is predicting the conditional probability P(Animal | Features). But Both models learn different probabilities. A Generative Model ‌learns the jo.. 2019. 8. 15.