DataScience/MachineLearning23 [차원축소] PCA의 직관적 의미 PCA를 이해하기 위해서는 다음과 같은 인식(?)이 필요합니다. 분산이 곧 정보다. 따라서 분산을 유지하는게 중요하다. 이는 꽤나 직관적인 이야기입니다. 왼쪽에 있는 데이터가 오른쪽처럼 변환된다면 아무런 정보도 남지 않게 됩니다. "분산"이란 데이터가 퍼져있는 정도를 의미하며, 그 자체로 정보를 나타내게 됩니다. 이런 데이터의 분산을 의미하는게 "공분산 행렬"입니다. 공분산 행렬은 행렬이 가지는 본질적인 기능, "선형변환"의 역할을 통해 데이터를 표현합니다. 왼쪽의 기저벡터는 공분산 행렬이 곱해져 오른쪽과 같이 변환됩니다. 이로부터 분산을 최대한 유지하면서 차원을 축소하기 위한 아이디어가 추출됩니다. 공분산 행렬의 고유벡터대로 축소하자 공분산 행렬은 행렬의 정보인 "분산"을 반영하는 행렬이고, 공분산 행.. 2023. 8. 4. [Clustering] DBSCAN vs HDBSCAN 1. DBSCAN의 기본 개념 DBSCAN은 밀도 기반으로 군집을 분류하는 방법입니다. 굉장히 직관적인 방법으로 Core point, Border point, $\varepsilon$, m이라는 4가지 키워드가 있습니다. 이 키워드들로 군집을 형성합니다. - $\varepsilon$ 안에 있는 점의 수가 m 개 이상이면 core point로 정의됩니다. - core point의 $\varepsilon$ 안에는 포함되지만, 본인의 $\varepsilon$ 반경 안에 점의 수가 m개 이하이면 border point로 정의됩니다. - core point의 $\varepsilon$ 안에 속하지 못한 점들은 noise로 정의됩니다. - $\varepsilon$ 안에 있는 core point들 끼리는 border .. 2023. 8. 2. [Clustering] Spectral Clustering의 직관적 의미 Spectral Clustering은 그래프 기반의 군집화 방법입니다. 점 사이에 유사도를 구해 그래프를 구성하고 군집을 잘 구분하는 기준에 따라 잘라내는 방식입니다. 이 때 유사도 또는 가중치는 점 사이의 거리를 기반으로 구합니다. 더보기 이 때 가우시안 커널을 사용하는데 다음과 같은 특징이 있습니다. - 값이 0~1 사이의 값을 갖는다 - 거리가 멀 수록 작은 값을 가지고, 거리가 가까울 수록 큰 값을 가진다. - $\sigma$에 따라 거리의 분포가 달라진다. 첫 번째와 두 번째는 직관적이며, 세번째 부분에 대해 추가로 정리하자면 아래와 같은 특징을 가집니다. - $\sigma$ 가 작을 수록 세밀하게 군집을 나눌 수 있으나 같은 군집 내에 있더라도 거리가 조금이라도 멀어지면 유사도가 급격히 낮아짐.. 2023. 8. 1. [eXplainable Method] SHAP(1) 기본개념 SHapley Additive exPlanation SHAP은 모델을 설명하는 방법 중 하나로 다음과 같은 컨셉을 가지고 있습니다. " Y의 값은 Y의 평균과 X의 기여도의 합으로 분석할 수 있다" 여기서 기여도를 shapley value로 구하고, 이 합으로 Y값을 구성한다는 점에서 additive라는 이름이 붙었습니다. 이에 대해 하나씩 정리해보겠습니다. LIME의 문제점 : 공평하지 못하다. 2023.07.30 - [DataScience/MachineLearning] - [eXplainable Method] LIME [eXplainable Method] LIME 1. LIME의 기본 컨셉 Local Interpretable Model-agnostic Explanation. 모델과 상관없이 local.. 2023. 7. 31. [eXplainable Method] LIME 1. LIME의 기본 컨셉 Local Interpretable Model-agnostic Explanation. 모델과 상관없이 local Y를 해석가능한 모델을 말합니다. 복잡도가 높은 블랙박스 모델을 해석하기 위해서는 여러번 두드려보고 이를 통해 추론해야합니다. LIME의 기본 컨셉은 "특정 Y값을 변형시키고 이에 맞게 새로운 모델을 학습해 이로부터 원래 모델을 추론하는 것" 입니다. 이를 좀 더 자세히 설명하자면 원래 모델을 A, 새로운 모델을 B, 궁금한 i번째 Y 값을 Y_i라고 할 때, 1. 모델 A를 학습시킨다. 2. Y_i를 변형시킨다. 3. 학습된 모델 A로 변형된 데이터셋들을 예측한다. 4. 모델 B를 변형된 데이터셋과 A로 예측한 Y값들에 대해 학습시킨다. 5. 학습된 모델 B를 통해.. 2023. 7. 30. [eXplainable Method] 필요한 이유, Local vs Global Feature Importance Score 모델의 설명력은 굉장히 중요합니다. 그 이유를 생각해보면 굉장히 직관적입니다. 어떤 모델을 제시할 때, 성능지표만으로는 설명도, 설득도 할 수 없기 때문입니다. 수치를 제시하는 것도 중요하지만, 그 모델이 어떻게 이런 결과를 냈는지를 설명할 수 있어야합니다. 그냥 정확도가 이정도 나왔고 정밀도가 높게 나왔다는 식의 이야기는 설득력을 갖추기 어렵습니다. 저는 아직 학생이라 현업에서의 경험은 없지만, 졸업과제를 할 때 이 부분에 대해 정말 많이 느낄 수 있었습니다. "와디즈"라는 크라우드 펀딩 사이트에서 펀딩에 성공하는 제품을 판별하는 모델을 만들었습니다. 이에 대해 발표를 할 때, 수치 위주로 발표를 하니 청중인 학생들과 교수님들은 전혀 이해하지 못하는 모습을 보였습니다. 생각해보면 수치 위주가 아닌, 이.. 2023. 7. 30. [유사도지표] Gaussian kernel 가우시안 커널이 뭔지 , 왜 유사도 지표로 쓰이는지에 대해 정리해보려 합니다. Gaussian Kernel : $K(x, x') = exp(-\frac{||x-x'||^2}{2\sigma^2})$ 이는 non-linear fucntion of Euclidean distance으로 볼 수 있고, 0~1사이의 값을 갖도록 정규화된 버전이라고도 생각할 수 있습니다. 즉 Euclidean distance와 다르게 0~1 사이의 값을 가지므로 가중치로 자주 사용됩니다. Reference - https://datascience.stackexchange.com/questions/17352/why-do-we-use-a-gaussian-kernel-as-a-similarity-metric 2023. 7. 30. [트리계열 이해하기] 7. CatBoost CatBoost는 이름에서 알 수 있 듯 Categorical 변수에 특화된 모델입니다. 왜 범주형 변수를 잘 처리하는지, 그 전 GBDT 모델들과는 뭐가 다른지에 대해 정리해보려 합니다. CatBoost를 구성하는 키워드는 크게 3가지입니다. Orderded Boosting, Ordered Target Encoding, Feature Combination 1. Ordered Boosting CatBoost은 다른 GBDT모델과 다르게 전체 데이터를 사용하지 않고, 순서대로 데이터를 늘려가며 사용합니다. 먼저 동일한 순서대로 학습하지 않도록 데이터를 섞어서 사용합니다. ( 오버피팅을 방지하기 위해서 ) 그리고 순서대로 데이터를 이용합니다. 1. 첫번째 데이터의 잔차를 이용해 학습한다. 2. 학습된 모델로.. 2023. 7. 29. [트리계열 이해하기] 6. LightGBM LightGBM은 이름에서 알 수 있 듯 GBM 계열의 알고리즘을 더 가볍게 만든 모델입니다. GBM 계열의 알고리즘들은 모든 데이터에 대해 스캔하여 IG를 획득하게 되는데, " LGBM은 사용되는 Feature와 Data를 줄여 이 과정을 더욱 가볍게 만든 모델 " 입니다. 이를 위해 두 가지 기법을 사용합니다. GOSS (데이터 줄이기) , EFB (피처 줄이기) 뿐만 아니라 트리를 발전시켜나가는 방향을 개선시켜 속도를 향상시켰습니다. Leaf-wise (vs Level-wise , XGBoost ) 1. GOSS Gradient based One Side Sampling GOSS의 컨셉은 "Gradient가 큰 데이터는 Keep하고 Gradient가 낮은 Data는 Randomly Drop을 수행한.. 2023. 7. 29. [트리계열 이해하기] 5. XGBoost 2023.07.29 - [DataScience/MachineLearning] - [트리계열 이해하기] 4. GBM [트리계열 이해하기] 4. GBM 1. 기본 컨셉 Gradient Boosting Machine 은 이름처럼 Boosting 계열의 트리 모델입니다. 2023.07.28 - [DataScience/MachineLearning] - [트리계열 이해하기] 3. AdaBoost [트리계열 이해하기] 3. AdaBoost AdaBoost는 이름에서 알 mkk4726.tistory.com GBM은 뛰어난 성능을 보이지만 학습 속도가 굉장히 오래 걸린다는 문제가 있습니다. eXtreme Gradient Boosting, XGBoost는 이러한 GBM의 문제를 해결한 optimized version of.. 2023. 7. 29. 이전 1 2 3 다음