데이터 다루기/머신러닝 이론 (43) 썸네일형 리스트형 [Machine Learning] Boosting (부스팅) 부스팅은 배깅이랑 비슷하면서도 약간 다릅니다. 배깅은 Raw data을 random sampling하여 bootstrap 표본을 만들고, 이 표본을 통해 모델을 각각 Train 하였습니다. 반면에 부스팅은, 우선 Input data는 고정을 하고, 모델을 Train 합니다. 그러면, 첫 모델에 대해서 맞춘 관측치와 틀린 관측치가 있을거잖아요? 다음 모델을 만들 때, 틀린 관측치를 더 잘맞추게 하기 위해서, 오차에 더 큰 가중치를 부여합니다. 이러한 과정을 N번 반복한 후, N개의 모델을 선형 조합하여 최종 예측 값을 출력합니다. 위의 그림을 보면 학습된 모델들이 Weak Classifier로 정의가 됩니다. 이는 Boosting을 할 때, 학습할 모델을 복잡한 모델을 사용하지 않고, 매우 단순한 모델을 .. [Machine Learning] Bagging (배깅) 배깅(bagging)은 bootstrap aggregating의 줄임말입니다. 배깅의 알고리즘에 대해서 먼저 배워보도록 하겠습니다. 배깅을 이해하기 쉽게 하기 위해서, 그림을 하나 그려보았습니다. 배깅을 크게 3개의 단계로 구성됩니다. (1) Random Sampling 우선 Raw Data로 부터 동일한 크기의 표본 자료를 N번 Random sampling 합니다. 그러면 N개의 Train dataset을 만들 수 있습니다. 이를 붓스트랩 (bootstrap) 자료를 생성한다고 정의합니다. (2) Training 위 절차에서 생성된 N개의 붓스트랩 자료들을 활용해서, N개의 모델을 학습합니다. (3) Prediction N개의 모델을 모두 활용하여, Prediction 값을 얻습니다. R.. [Machine Learning] Elastic Net 녕하세요. 이번 포스팅에서는 Elastic Net에 대해서 배워보도록 할게요. Elastic Net은 Ridge Regression 과 Lasso Regression을 알면 굉장히 쉬운 개념입니다. Elastic Net Regression 은 Residual에 Ridge 와 Lasso의 패널티항을 모두 추가한 게 전부 입니다. 대표사진 삭제 사진 설명을 입력하세요. 정말 쉽죠?? 람다들을 바꿔가면서 Cross Validation 방법을 사용해, 최적의 람다들을 찾아주시면 됩니다. 대표사진 삭제 사진 설명을 입력하세요. [Machine Learning] ROC 곡선 및 AUC 안녕하세요. 이번 포스팅에서는 ROC Curve (ROC 곡선)과 AUC 에 대해서 배워볼거에요. 이 두 가지는 실제로 Classification model 에서 굉장히 자주 쓰이는 데, 무엇을 의미하는 지를 모르고 쓰는 분들이 많은 것 같아요. 오늘은 핵심 개념을 잡아보고자 합니다. ROC 곡선은 Classification model 에서 예측 threshold와 밀접한 관계가 있어요. Binary Classification이라 가정할 때, Logistic Regression을 하면 각 관측치에 대해서 1의 값을 가질 확률이 예측이 됩니다. 보통 0.5를 Threshold로 정하고, 0.5보다 크면 1, 작으면 0의 값을 Return 하게 되는거지요. ROC Curve는 이 Threshold를 바꿔.. [Machine Learning] Confusion Matrix 안녕하세요. 이번 포스팅에서는 Classification 머신러닝 모델의 성능 평가 지표로 많이 사용되는 Confusion Matrix (혼동 행렬) 에 대해서 배워보고자 합니다. 혼동 행렬에서 사용되는 Accuracy (정확도), Sensitivity (민감도), Specifitify (특이도) 모두 굉장히 쉬운 내용이긴 하지만, 계속 까먹게 되는 점이 있더라구요. 아무래도 정의들이 다 비슷해서 그런 것 같아요. 그래도 계속 외우다보면 성공하는 날이 올 거에요!! Classification Model 이 심장병 여부를 예측한다고 가정해볼게요. Confusion Matrix는 위와 같이 정의가 됩니다. 그리고 Accuracy (정확도), Sensitivity (민감도), Specifitify (특.. [머신러닝] Odds vs Odds Ratio 안녕하세요. 저번 포스팅에서 Odds (오즈) 에 대해서 배워보았어요. 많은 사람들이 Odds 와 Odds Ratio를 같은 개념으로 알고 계시더라구요. 하지만 이 둘은 엄연히 다른 개념입니다. Odds에 대해서 복습해볼게요. Odds는 위와 깉이 어떤 일이 발생할 확률과 발생하지 않을 확률 사이의 비율을 의미해요. Odds ratio는 Odds 사이의 비율이라 생각하면 됩니다. 그렇다면 Odds ratio로 어떠한 정보를 얻을 수 있을까요?? Mutated gene을 보유한 환자가 없는 환자보다 암에 걸릴 확률이 더 높을지에 대해서 Odds ratio를 계산하면, 6.88배 더 높다는 정보를 얻을 수 있습니다. 즉, Odds ratio는 일반적으로 두 변수 사이의 관계를 나태내며, 큰 값을 가질수록.. [머신러닝] Odds (오즈) 란? [참조] StatQuest 안녕하세요. 이번 포스팅에서는 머신러닝 알고리즘에서 자주 쓰이는 Odds (오즈) 가 무엇인지에 대해서 배워볼게요. A라는 사람이 8번의 경기를 치뤘다고 해보겠습니다. 그리고 A는 5번을 이기고 3번을 졌습니다. 경기를 승리하는 것에 대한 Odds는 A가 지는 것에 비해서 얼마나 이기는 가에 대한 값으로 5/3으로 쉽게 계산이 됩니다. 하지만, 알아두셔야 점이 바로 Odds 는 확률을 나타내는 것이 아니라는 것입니다. 위의 Case에서 A가 게임에서 이길 확률 p=5/8 입니다. 이 때, Odds는 p에 의해서 계산 되기도 합니다. Odds 는 (A가 게임에서 이길 확률 / A가 게임에서 질 확률) = p/(1-p)로 계산될 수 있습니다. 즉, 이를 다시 말하자면 Odds를.. [머신러닝] Gaussian Process Regression 안녕하세요. 이번 포스팅에서는 Gaussian Process Regression에 대해서 배워보도록 하겠습니다. 우선, Gaussian Process는 분포위의 함수라고 할 수 있습니다. 따라서 Gaussian Process또한 분포의 형태를 가집니다. 이 때, 중요한 것은 k(x1,x2)를 어떻게 정의하는 가 입니다. GPR은 정규분포를 따르는 두 개 x의 Covariance를 가까울수록 크게 만듭니다. 이 때, k(x1,x2)는 아래와 같이 정의되는데 이를 Squared exponential (SE) kernel이라 부릅니다. 이 때, 시그마 제곱과 l 값은 하이퍼파라미터입니다. 시그마 제곱이 크거나, l이 작아지면, K값이 커지기 때문에, 예측의 분산이 커집니다. 그 이유는 지금부터 살펴보겠습니다... 이전 1 2 3 4 5 6 다음