전체 글 (43) 썸네일형 리스트형 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 : 각 집단의 공분산이 유사하지 않아도 된다. K - Nearest Neighbor K - Nearest Neighbor 는 특정 기준점에서 반경에서 K개를 기준으로 가장 많은 class 를 분류해주는 방법이다. (Majority Voting 에 근거한 방법이겠지?) K 를 직접 설정 해야 한다는 점에서 약간의 불편함이 존재할 수 있고, 어떤 K 를 설정했느냐에 따라 너무 큰 경우 경계가 세분화 되지 않고, 너무 작은 경우 Outlier 의 영향력이 커지고, Overfitting 이 가능하기에 조심해서 선택하는 것이 좋다. Target Value (Label) 의 값의 유형 별 처리 1. Categorical Variable - 가장 많이 나타나는 Class 를 y 로 추정 - K 는 홀수로 정하는 것이 tie 문제에 유용하다. 2. Continuous Variable - 대표값(평균).. Naive Bayes Naive bayes 는 Bayes Rule 을 기반으로 하는 통계적 분류 기법이다. 나이브 베이즈의 기본적인 원리를 예) 날씨 정보와 축구 경기 여부에 대하여 정리해보면 날씨에 대한 정보 (사전 정보)를 기반으로 축구를 할 것인지 하지 않을지에 대한 확률을 구하는 문제입니다. 과거 날씨에 따라 축구 경기가 있었는지 없었는지에 대한 데이터를 사용하여 사전 정보를 활용한다. P(Yes|Overcast) = P(Overcast|Yes) P(Yes) / P(Overcast) --> Bayes Rule P(No|Overcast) = P(Overcast|No) P(No) / P(Overcast) 사전 확률 P(Overcast), P(Yes), P(No) 사후 확률 P(Overcast|Yes) 이 때, 베이즈 정리.. Neural Network - DeepLearning Deep Learning 은 기본적으로 Machine Learning 의 Classification 에서 Logistic Regression 의 연장선으로 이해할 수 있다. Input data 를 모델에 사용하게 되면 설정해준 각 layer 의 node 마다 weight 를 곱한 뒤 계산할 수 있는 term 이 생기고 결과적으로 가장 작은 오차를 안겨줄 수 있는 weight 에 대한 정보를 업데이트 하는 과정이다. input data --> hidden layer (product weight) --> output 이 순서의 작업을 이용하게 되는데 이 때, 앞서와 같이 error 를 줄여가는 과정을 동일하게 작업한다. 하지만 이 과정에서 hidden layer 가 error 를 줄여줄 수 있는 weight.. 이전 1 2 3 4 5 6 다음 목록 더보기