interpreter model 중 즉 해석이가능한 머신러닝 모델입니다.
Auto score 라는 기법을 설명하려고 합니다.
사실 제가 까먹지 않으려고 하는것인데요
간단히 말해서
이 방법은 랜덤포레스트와 변수선택을 하여서 로지스틱 회귀분석으로 이루어져 변수의 중요도를 평가할수있는 기법으로 생각하시면 될것같습니다.
저자는 임상적인 환경에서의 변수 중요도를 제시하였습니다.
임상적 환경뿐만 아닌 제조업 데이터분석쪽에서도의 변수중요도 파악에 유용할것으로 생각되어집니다.
오토스코어의 과정은 이렇습니다.
Module 1 : 기계학습(랜덤포레스트)을 통한 변수 순위 지정
Module 2 : 변수 변환
Module 3 : 점수 파생
Module 4 : 모델 선택
Module 5 : 도메인 지식 기반 점수 미세 조정
Module 6 : 모델 평가
6개 모듈로 구성됩니다.
먼저 module1으로 기계학습을 통한 변수의 순위를 지정하는것인데 이 방법에는 랜덤포레스트로 순위가 지정되어집니다.
랜덤포레스트란?
AUTO SCORE의 특징은 랜덤포레스트로 트리를 생성시에 가지치기 없이 최대 크기로 트리를 생성합니다.
(최대 트리가 생성된 경우 불필요한 노드가 많이 존재하게 되어 과대적합의 위험성 이 존재하지만)
부트스트랩 샘플과 모든 변수의 무작위 하위 집합에 대해 훈련합니다.
각 트리는 리샘플링을 통해 변수의 하위 집합과 관찰의 일부만 봅니다.
그러면 트리가 상관관계가 해제되어 과적합이 덜 발생합니다.
분류 작업의 경우 Gini 지수를 사용하여 최적의 분할을 결정합니다.
의사 결정 트리의각 노드대해 지니 인덱스는 다음과 같이 정의할 수 있습니다.
지니계수 GINI - INDEX란 무엇인가 ??
그림에서 빨간색이 사건 A 라고 하고 파란색을 사건 B 라고 하면
제일 위 왼쪽 상자에 10개의 파란색 네모가 있습니다. 파란색 관점에서 오직 파란색만 존재하니 순수하다.
즉 쉽게 생각하자면 물컵안에 물만 있을경우에는 pure 하다는 것이죠. 즉, 불순물이 없다는 것입니다.
만일 우리가 순수한 물에 커피의 샷을 넣는다면 그리고 샷을 많이 넣는다면 커피는 진해지겠죠?앞서
랜덤 포레스트는 impurity 라는 개념을 사용하여 가지를 치는(생성하는) 기준을 설정합니다
저희는 이 기준을 지니 계수(Gini index)라는것을 이용하여 이 것을 기준으로 분류를 할것입니다.
지니 계수란 원래 경제적 불평등을 표현하는 방법인데 지니계수가 1에 가까울수록 소수의 사람이 다 해먹는 것을 의미하고, 0에 가까울수록 모두가 평등함을 의미합니다.
이는 의사결정 나무에서도 마찬가지이다. 지니 계수가 0에 가까울수록 그 클래스에 속한 불순도가 낮으므로 좋습니다.
조금더 직관적으로 살펴보자면
G=0 인 경우를 확인해 보겠습니다.
파란색 네모 입장에서 보면 빨간색 네모는 불순물과 같은 존재가 됩니다.
제가 자주마시는 커피로 비유를 하자면 물컵에 커피를 샷1개를 타느냐 2개를 타느냐 3개를타느냐 이렇게 생각하시면 될것같습니다.커피를 점점 타면 진해지면서 불순물이 많아지는거죠? 순수한 물로생각 한다면
따라 이러한 GINI - INDEX를 수학적인 식으로 나타내보겠습니다.
예를들어 순수한 물에(파란색) 빨간색(커피의 샷으로 정의)샷을 6번 넣는다고 가정해봅시다.
이러한 경우 G값을 계산해보자면
이런식으로 불순도가 계산되어집니다.
p1은 전체중에 순수한 물의 비율 파란색이 4개니까 4/10으로 정의 되어지고
p2는 전체중에 커피의 샷의 비율(갯수) 6개니까 6/10으로 정의되어집니다
따라 GINI index를 계산하는 방법을 고려한다면 0.48이 나오는거죠
매우 간단합니다.
그렇다면 트리를 만드는데 어떠한 기준으로 트리모형으로 만들까요?
향상도라는것이 고려되어지는데 이부분은 추후에 랜덤포레스트나 의사결정 나무에서 자세히 다루도록하겠습니다.
앞서 불순도가 0.48인경우 즉 10개중 6개가 커피샷인경우 도중에 어느 부분에서 절단을 합니다
비유가 액체라서 적절하진 않지만 어느 부분만을 분류하였을때 예를들어 3개 7개로 분류하였을때 3개중에 커피샷이 1개가 존재하고
7개 중에는 커피샷이 5개가 존재할때 다시 GINI 계수를 구합니다
두개의 지니계수를 확인하고
가중평균으로 두 불순도를 구하여 계산합니다 기존의 불순도는 0.48 이였는데 0.48-0.41 0.07만큼 불순도가 낮아진것을 확인할수있습니다. 우리는 이것을 향상도라 부릅니다 즉 향상도가 가장 많이 커지는 점을 찾는것이 분류 기준이 되는것입니다.
각 변수가 split될 때 impurity 감소분의 평균을 중요도로 정의하는 것으로 식은 아래와 같습니다.
RF를 변수 순위 지정기로 사용하는 이점은 비모수 모델로서 RF가 비선형 및 이질적 효과를 기반으로 변수의 순위를 지정할 수 있다는 것입니다.
AutoScore 프레임워크에서 변수의 최종 목록 은 최종 선택된 변수의 수인 매개변수 m 외에 순위에 의해 결정됩니다 .
매개변수 m 은 임상적 선호도, 전문 지식 또는 실제 적용의 필요에 따라 사례별로 선택할 수 있습니다.
즉 이부분은 분석가의 판단에 따라 변수를 선택할수 있습니다.
또한 모듈 4에서 자세히 설명하는 그리드 검색 및 성능 검증을 통해 최적화된 변수 수를 결정할 수 있습니다.
따라 랜덤포레스트로 선택되어진 변수는 이렇습니다
이후 선택되어진 변수는 변수변환을 위해 전처리됩니다.
변수 선택 후, 선택된 모든 변수는 변수 변환을 위해 전처리됩니다.
즉, 연속 변수는 범주형 변수로 변환됩니다. 범주형 변수를 생성하면 비선형 효과를 모델링할 수 있습니다. AutoScore에서 각 변수의 최대 범주 수(예: K = 5)는 유용성을 보장하기 위해 미리 정의됩니다. 범주형 변수의 경우 원래 범주 수( L )가 미리 정의된 최대 수를 초과하면(즉, L > K ), 여러 초과 범주를 결합해야 하며 K' 는 변환된 변수의 범주 수입니다. 여기서 K' ≤ 엘. 범주형 변수와 달리 점수 기반 점수를 개발하기 위해 연속 변수는 특정 분위수에 따라 K 범주로 계층화됩니다(우리 연구에서는 K = 5). 분위수를 0%, k 1 %, k 2 %, k 3 %, k 4 % 및 100%로 설정합니다. k 1 , k 2 , k 3 , k 4 의 값 은 변수의 분포에 따라 설정될 수 있습니다. 우리 연구에서는 기본값을 다음과 같이 설정합니다. k 1 =5, k 2 =20, k3 = 80 및 k 4 = 95로, 대부분의 변수(일반적인 활력 징후 및 실험실 검사 결과와 같은), 특히 정규 분포 또는 정규 분포에 가까운 변수에 적합했습니다.