본문 바로가기

AI/ML

(15)
Interpreting ML Model, PDP / ICE / SHAP 1. Interpreting ML Model 높은 성능을 가지는 모델을 만들기 위해 랜덤포레스트, 부스팅과 같은 복잡도가 높은 모델을 사용하게 된다. 이처럼 복잡한 계산으로 인해 내부 작동원리가 드러나지 않는 모델들을 Black Box Model이라 한다. 이러한 블랙박스 모델들을 해석하는 방법에 대해 정리하였다. 1.1 모델을 왜 해석해야 하는가? 많은 분야에서 모델을 무조건 신뢰할 수 없다. 의료 분야, 자율자동차, 금융 분야 등 모델에 따라 위험성이 큰 분야에서는 모델의 결과를 온전히 신뢰할 수 없다. 모델이 왜 이런 결정을 내렸는지 알고, 신뢰성을 개선해야 한다. 의사 결정에 직접적 영향을 주는 것은 해석이다. 많은 분야에서 모델을 이용하는 이유 중 하나는 의사결정에 도움을 얻기 위해서이다. 따라..
Feature Importances / Boosting 1 Feature Importances 1.1 Feature Importance(Mean decrease impurity, MDI) : 각각 특성을 모든 트리에 대해 평균 불순도 감소(mean decrease impurity)를 계산한 값 장점 속도가 빠르다. 단점 high cardinality 특성의 경우 중요도가 높게 나올 수 있음 1.2 Drop-column Importance : 모든 특성을 한번씩 제거하고, 제거하기 전/후 성능을 비교함으로써 중요도를 계산해보는 방법 장점 정확한 중요도 계산이 가능한다. 단점 특성이 n개 존재할 때 n + 1 번 학습이 필요 이론적으로는 좋아보이나, 특성이 많아질 수록 매우 느려져서 현실적으로 불가능하다. 1.3 순열중요도(Permutaion Importance..
데이터 과학 실무, 정보의 누수, 타겟 분포 변환, Data Wrangling 오늘 배운 것들 1. 예측 문제 정의 1.1 데이터 과학자 실무 프로세스 1) 비즈니스 문제 실무자들과 대화를 통해 문제를 발견 2) 데이터 문제 문제와 관련된 데이터를 발견 3) 데이터 문제 해결 데이터 처리, 시각화 머신러닝/ 통계 4) 비즈니스 문제 해결 데이터 문제 해결을 통해 실무자들과 함께 해결 타겟을 명확하게 정의해야 함 지도학습에서는 예측할 타겟을 먼저 정한다. 실수형 타겟 타입을 변형시켜 이진 분류 문제로 변경할 수도 있다. 분류로 풀때 활용도 쉽다. 2. 정보의 누수(leakage) 데이터에 대해 완전히 이해하고 있지 못했을 떄, 예측을 100% 가깝게 잘 하는 경우가 종종 있다. 1) 타겟변수 외에 예측 시점에 사용할 수 없는 데이터가 포함되어 학습이 이루어질 경우 2) 훈련데이터와 ..
confusion matrix / model selection confusion matrix 모델을 만들때 설명하기 아주 유용함 f1 score는 precision과 recall을 둘다 보기 위해 많이 쓰임 베타를 키웠을 때 recall이 영향이 더 커진다. 시나리오에 따라 precision과 recall의 차이를 정확히 알아야 함 암진단 recall 중요, 스팸메일 precision 중요 비즈니스 시나리오에 따라 달라진다. 비즈니스 시나리오에 따라 임계값을 조절해주어야 함 임계값을 조절함으로써 competition에서도 중요 roc, auc accuracy 외에도 여러가지 평가지표가 쓰일 수 있음 model selection 교차검증 중요함 그리드 서치 - 랜덤 서치
오차 / 잔차, 손실함수/비용함수 오차(error) : 모집단(population)으로부터 추정한 회귀식으로부터 얻은 예측값과 실제 관측값의 차이 ε로 표기 고정요소(fixed component)와 확률적 요소(random component)로 분류 고정요소란, 가정하는 회귀식이 변수들 사이의 참의 관계식을 반영하지 못할때 발생하는 고정 오차(fixed error) 확률적 요소는 일반적으로 세가지 형태로 구분 첫째로 측정오차란(measurement error) 측정하고자 하는 관찰값과, 측정도구를 적용하여 얻은 측정값의 차이 이 외에도 확률적 요소로는, 모형에서 포함되어야할 설명변수의 부재로부터 일어나는 오차와, 자연 발생적으로 생겨나 통제불능한 오차(순수오차, Pure error)가 있음 1. E( εi ) = 0 고정오차가 없다는 가..
결정트리, 랜덤포레스트 1 결정트리(Decision Trees) : 특성들의 수치를 가지고 질문을 통해 정답 클래스를 찾아가는 과정 노드(node): 질문 또는 말단의 정답 엣지(edge): 노드를 연결하는 선 1.1 결정트리 학습 알고리즘 결정트리는 노드를 어떻게 분할하는가에 대한 문제. 비용함수를 정의하고 그것을 최소화하는 알고리즘을 갖는다. 트리 학습에 자주 쓰이는 비용함수는 지니불순도(Gini Impurity or Gini Index)와 엔트로피(Entropy)가 있다. 노드를 분할하는 시점에서 이러한 비용함수를 가장 많이 줄이는(불순도의 감소가 최대가 되는, 정보획득이 가장 큰) 특성을 찾아내는 것이 핵심이다. 불순도(impurity): 여러 범주가 섞여 있는 정도 불순도 감소량이 크다. = 정보 획득량이 많다. = ..
Simple Regression 1 단순선형회귀모델을 만들기 위해 전제되어야 하는 조건 변수가 1개일 때 적합하다. 독립변수 x만으로 y를 설명할 수 있을 때 회귀계수에 대한 검정을 통해 변수 x의 설명력이 존재하는지 확인할 수 있음(p-value 확인) 1차항 이하일 때 적합하다. 선형관계 1) 선형성(Linearity) : 독립 변수 X와 종속 변수 Y의 관계는 선형적이어야 한다. 2) 정규성(Normality) : 잔차(예측값과 실제 값의 차이)가 정규 분포여야 한다. 3) 등분산성(Homoscedasticity, Constant Variance) : 독립 변수 X의 모든 값에 대하여 잔차의 분산이 같아야 한다. 4) 독립성(Independence) : 모든 잔차는 독립적이어야 한다. 5) 외생성(Exogeneity, Fixed ..
Dimension Reduction 고유값(eigenvalue)과 고유벡터(eigenvector) 행렬 A를 선형변환으로 봤을 때, 선형변환 A에 의한 변환 결과가 자기 자신의 상수배가 되는 0이 아닌 벡터를 고유벡터, 이 상수배 값을 고유값이라 한다. 즉, n x n 정방행렬(고유값, 고유벡터는 정방행렬에 대해서만 정의된다) A에 대해 Av = λv를 만족하는 0이 아닌 열벡터 v를 고유벡터, 상수 λ를 고유값이라 정의한다. 공분산 행렬의 고유벡터는 데이터가 어떤 방향으로 분산되어 있는지를 찾아준다. 고유값은 고유 벡터 방향으로 얼마만큼의 크기로 벡터 공간이 늘려지는지를 의미한다. ex) 고유벡터는 transformation의 영향을 받지 않는 회전축(혹은 벡터 공간)을 말한다. 이는 데이터를 가장 잘 설명하는 축을 의미 한다. 여기서 ..