MachineLeaning (13) 썸네일형 리스트형 머신러닝- 관련 정리 이전 머신러닝 방법들에 대한 정리와 구현 등의 포스팅되었던 것에 대하여 주소를 공유한다. https://blog.naver.com/alstjr2604 나의 20대 후반을 현명하게 보내고 싶기에... : 네이버 블로그 별 거 없는 대학원생의 일상에 무난하게 보내는 하루가 아닌 인상적인 하루를 보내고 싶은 사람의 블로그. blog.naver.com K-Fold, Stratified Cross Validation (1) K-Fold Cross Validation 머신러닝 학습을 시행하는 경우 최적의 하이퍼파라미터 이를테면 Learning Rate, Epoch 등의 값을 찾는 것이 중요한 절차이다. Cross Validation 이라는 단어에 대하여 먼저 파악해보면, 머신러닝이나 딥러닝 모두에서 학습을 시행할 경우 가장 중요한 것은 Training 과정에서의 높은 정확도가 아니다. 일반적으로 우리가 모델을 학습하여 배포할 경우 예상되는 미지의 Label(정답)이 주어지지 않는 경우에 대한 정확도를 좀 더 중점적으로 고려해야한다. 이것을 위하여 Cross Validation 이라는 과정이 필요하게 된다. 간단하게 가지고 있는 데이터셋에서 학습에 사용할 데이터와 검증에 사용할 데이터 좀 더 구체적으로는 학습, 검증, .. Class Imbalanced Problem Class Imbalanced Problem - 모델이 소수의 데이터를 무시하는 현상 majority class 의 수가 minority class 의 수보다 월등히 많은 상황. 의료, 반도체, 보험, 텍스트 등 여러 분야의 문제 Class Imbalanced Problem 이 있는 Classificaion data 문제에서는 Accuracy 와 같은 지표는 그 의미가 현저하게 줄어든다. 따라서 G-Mean 이나 F1-Score 같은 measure 를 사용한다. G - Mean : 제 1종 오류와 제 2종 오류 중 나쁜쪽에 더욱 가중치를 준다. F1 - Score : 불량에 관여하는 지표인 정밀도와 재현율만을 고려 # 제 1종 오류 : 귀무가설이 참인데 기각하는 경우 alpha 로 그 확률값을 표현 # .. Unsupervised Learning - Clustering ( KMeans, Hierarchical, DBSCAN) Clustering 데이터의 유사성을 측정하여 유사성이 높은 대상 집단을 분류하는 방법으로 이전 Classification 과는 다르게 label (정답)이 존재하지 않는 데이터로 결과를 산출한다. Types of Clustering 1. K Means Clustering K 개의 군집을 사용자가 미리 설정하고 각 데이터 포인트에 대하여 가장 가까운 중심점을 찾고, 그 중심점에 해당하는 군집을 할당한다. 할당된 군집을 기반으로 새로운 중심을 계산하는데 이 때 각 군집의 할당에 변화가 없으면 종료한다. 중심점 : 군집 내부의 좌표의 평균(Mean) 최적의 K를 찾아가는 과정 ? Elbow method : 군집간 분산과 전체 분산의 비율로 추정한다. 비율의 한계 비용 (Margin Cost) 이 줄어드는 지.. Ensemble - (Bagging, RandomForest, Boosting(Adaboost, lightgbm, Catboost), Stacking 1. Bagging Bootstrapping ( 간단하게 복원 추출이라고 생각하면 될 것 같다 : 공을 뽑는데 뽑은 후에 다시 넣으면 전체 N 이 변하지 않는?) 이렇게 추출된 데이터를 사용해서 training 을 한다. 물론 tree 기반의 알고리즘을 사용하여... (DecisionTree...) 이런 과정을 k번 반복하는데 간단하게 bootstrapping 에 대한 생각을 해보면 복원 추출이라면 분명 중복되는 추출이 생길 것이다. (데이터가 일정 크기 이상이라는 전제에서?) 그렇다면 중복된 데이터의 추출로 이미 자리를 빼앗겨 버린 기존에 남아있는 데이터들을 자연스럽게 test data (or validataion data) 가 될 것이고 이것으로 weak learner ( D.T ) 와 같은 학습기의.. Decision Tree Categorical Variable: Classification Continuous Variable: Regression Entropy: 자료가 섞여 있는 정도 Information Gain : Entropy _ before - Entropy _ after Basis : High Entropy --> Low Entropy ( Information Gain 이 높은 순서로 왼쪽 자식 노드 부터 채워가는 것 ) 이와 같이 자료를 받았을 때, 받아온 자료 Input data 가 추정된 Y의 어떤 범주에 갔을 때, 가장 높은 확률을 갖는지 (가장 높은 확률을 갖는 class 로 분류) 오랜만에, 간단한 방법이다... 행복하군 실습은 간단하게 sklearn 의 iris datasets 을 사용하였고, 다른 하나.. Support Vector Machine 데이터 분포에 대략적인 추축이 쉽지 않은 경우 사용 (LDA 와 달리 분포에 대한 이해가 필요하지 않다.) Support Vector Machine 의 경우, Optimizing problem 을 해결하기 위하여, Lagrange Multiplier 를 적용한다. Lagrange Multiplier 는 간단하게 f(X, Y) 에 대하여 Maximizing 하기 위하여 G(X, Y) = C (Constant) 라는 제약을 주는 방법이다. 여기서 우리는 Maximizing 해야하는 대상을 확인해야하는데, SVM 은 특정 support vector 에 대한 최대 margin 는 두는 것을 목적으로 하기 때문에 Margin 을 Maximizing 한다. 이와 같은 과정에서 Margin 을 최대화 하는 것은 pa.. Linear Discriminant Analysis (LDA) & QDA 두 가지의 가정 아래에서 작동하는 선형(비선형 또한 가능) 분류기 1. 각 집단은 정규 분포를 띈다. 2. 각 집단은 비슷한 형태의 공분산 (Covariance) 구조를 가진다. Ex) 예를 들어, 두 가지 분포가 존재함을 가정했을 떄 1. 두 분포의 평균의 차이를 최대화 2. 두 분포의 각 분산은 최소화 이 두 가지를 만족 하는 방향으로 Projection (정사영) 하도록 한다. 위의 수식과 같이 f_k 와 f_l 의 차이가 양수와 음수인 경우에 따라 속하는 class 가 달라진다. LDA : 각 집단의 공분산은 대부분 유사한 경우라고 가정을 갖고 시행한다. QDA : 각 집단의 공분산이 유사하지 않아도 된다. 이전 1 2 다음