Review


전체 데이터 집합을 세분화하여 더욱 정확한 정보를 전달하는 속성을 찾아가면서 감독 세분화 모델을 만듭니다.


[용어정리]


모델 : 목적 달성을 위해 실 세계를 명확화, 단순화하여 일정한 규칙으로 표현하는 것.

모델링 : 데이터에서 발견된 특정한 규칙에 의해 모델의 종류나 패턴을 생성하는 데 그것을 발견하는 행위.

예측 : 발생할 일이나, 모르는 값을 추정하는 것.

예측모델 : 어떤 값을 예측하기 위해 일정한 규칙으로 표현한 공식.

예측모델링 : 데이터 과학에서 타겟 값(미래의 행동 또는 변화의 결과)을 예측하는 것.

데이터 마이닝 : 모델이 가능한 한 데이터에 잘 맞도록 파라미터를 튜닝하는 것.

파라미터 : 전달자

파라미터 학습(Parametric modeling) : 파라미터를 수정하여 모델의 정확성을 높이는 방법


파라미터 학습에 대한 주요 가정


1. 2개의 결과값만 고려(어떤 사건이 발생한다,  안한다)합니다.

2. 속성은 수치형 속성(즉, 숫자로 표기된 속성)만 고려합니다.

3. 수치형 데이터는 표준화하지 않습니다.(예를 들어, 나이, 소득 등의 단위가 다른 데이터를 공통단위로 표준화하지 않습니다.)


수학 함수를 통한 분류


선형 판별 함수


모델을 데이터에 적합화하려 할 때 모델을 수학적으로 표현하면 도움이 됩니다.

이를 선형 판별식이라 하며, 결정 경계를 나타내는 함수는 속성들의 선형 조합(가중치의 합)입니다.

속성의 가중치 합으로 모델을 표현할 수 있으며, 이 선형모델이 일종의 다변형 감독 세분화입니다.

여러 속성을 한꺼번에 고려하기 위해 속성을 변수로 사용해 수학함수로 만듭니다.

선형함수의 가중치가 기울기입니다. 올바른 가중치는 특정데이터 세트에 맞도록 만들어야 합니다. 데이터 학습 후 알아낸 가주이는 각 특징의 중요도를 나타내는데, 특정 가중치가 크면 타겟을 분류하는 데 더 중요한 특징으로 생각되며, 특정 가중치가 0에 가까울 수록 그 특징은 무시됩니다.

하지만 계층을 잘 나누는 선을 고르는 일은 쉽지 않습니다. 그렇기 때문에 각각의 판별식은 데이터 모델을 나타내며, 훈련 데이터 세트를 완벽히 구분하는 선은 무한히 많음에도 불구하고 어떤 선을 골라야 할지의 선택이 문제가 됩니다.


목적함수의 최적화


데이터 마이닝하는 진정한 목표에 맞는 목적 함수를 만드는 일은 거의 불가능 합니다. 하지만 목적함수를 만드는 효율적인 방법들이 있으며, 가장 효율적인 방법은 <지원벡터기계(Support Vector Machine(SVM))>가 있고, 데이터 마이닝 기법 중 선형모델을 적용해 계층 확률을 추정하는 <로지스틱 회귀 분석(Logistic regression)>이 있습니다. SVM과 로지스틱회귀분석에 대해서 나중에 좀 더 자세히 다루도록 하고, 아래의 예를 통해 SVM과 로지스틱 회귀분석에 대해서 간략하게 알아보도록 하겠습니다.


ex) 아이리스(나무)의 여러 종에 대한 데이터 세트

아이리스 세토사 / 아이리스 베르시컬로 2종류를 분류하여 x축: 꽃잎 너비, y축 : 꽃받침 너비의 측정값으로 둡니다.

로지스틱 회귀분석 : 두 계층을 완전히 분할 / 선 왼쪽 - 베르시 컬로, 선 오른쪽 - 세토사로 분류

SVM : 두 덩어리의 거의 한 가운데 있으나, 별모양을 분리해내지는 못합니다.


객체를 점수화하고 순위매기는 선형판별함수


어느 객체가 어느 계층에 속하는 지가 아닌, 속할 확률이 어느 정도인지 알고 싶은 경우 사용합니다. 예를 들어, 어떤 고객이 프로모션에 응할 가능성이 높은 지, 어느 고객이 계약 만료 후 해지할 가능성이 높은지 알아볼 때 선형판별함수로 객체가 어떤 계층에 속할 확률에 따라 순서를 매기고 결정경계에 있는 사람들은 어느 계층에 속할 지 가장 불확실하고 멀어질수록 확률이 높다 판단할 수 있습니다.


지원벡터기계(SVM) 개요


SVM은선형판별식으로써 특징에 대한 선형 함수에 기반해 객체를 분류합니다.

SVM의 목적함수 : 아직 분석하지 않은 데이터를 쉽게 분류하기 위해 선형판별식 주위의 폭을 최대로 만드는 것이 목적입니다.

(앞서 말한대로, 목적함수는 계층 두개를 분할하는 무수한 선형판별식 중 어떤 선이 가장 좋을 지 선택합니다.)

경첩손실함수 : 분류가 불가능한 데이터 처리방법으로 잘못 분류한 데이터에 벌점을 적용하여 가장 잘 맞는 함수만 사용할 수 있도록 하는 함수입니다.(분할경계에서 멀리 떨어질수록 더 많은 벌점을 부여함)



2017/03/25 - [Cyong's 마케팅/Data Science] - [Data Science] Ch1. 예측모델링_정보전달하는 속성 찾아내기

2017/05/24 - [Cyong's 마케팅/Data Science] - [Data Science] Ch2. 트리구조모델

안녕하세요
뱅갈고양이 시바가 드뎌 출산했습니다
이쁜 삼남매를 출산했는데요
아깽이들을 소개하도록 하겠습니다

첫째부터 단독샷~~

둘째입니다~~

얼굴을 잘 안보여주려는 셋째~~

아직 태어난 지 일주일도 안된 아깽이들이러 눈도 못떴어요ㅎㅎ
아~~~너무 이뻐 죽겠어요♡




트리 구조 모델을 이용한 감독 세분화


속성 선택이 매우 중요하긴 하지만 속성을 선택하는 것이 전부는 아닙니다. 만약 정보량을 증가시키는 속성이 하나가 아니라 여러 개 존재한다면 이 속성들을 어떻게 결합해야 할 지 판단하기 쉽지 않습니다. 이럴 때는 중요한 속성을 골라내기 위해 개발한 방법을 활용한 다변량 감독 세분화 방법인 트리구조화 방법을 이용합니다.

출처:Data Science for Business


트리는 내부노드(Internal node)와 단말노드(Teminal node)로 나눠지며, 내부노드에서 가지가 뻗어 나옵니다. 트리구조는 모든 데이터가 트리에서 단 하나의 경로를 따라 결국 단 하나의 단말노드에 도착하도록 데이터를 분할합니다. 달리 말하면, 단말노드는 하나의 세그먼트(segment)이고, 여기에 도착하는 경우의 값은 세그먼트의 특성을 나타냅니다. 그리고 분류에 대해 설명하고 있으므로 각 단말 노드는 세분화한 그룹을 담고 있으며, 이런 트리를 분류트리 또는 결정트리라고 부릅니다.


데이터에서 분류트리를 만드는 방법


트리유도는 분할정복법을 이용합니다. 우선 전체 데이터 세트에서 속성을 기준으로 가장 순수한 하위그룹으로 분할하는 변수를 찾습니다. 그리고 이를 재귀적으로 반복하여 트리를 유도할 수 있습니다.


확률 추정


트리의 단말 노드에 있는 모든 객체에 동일한 계층확률을 부여해도 된다면 단말노드에 있는 객체의 수를 이용해 계층 확률 추정치를 계산할 수 있습니다. 예를 들어 단말노드에 n개의 긍정적인 객체와 m개의 부정적인 객체가 있다면 새로 세그먼트로 분류된 객체가 이 계층에 속할 확률은 입니다. 이렇게 확률을 계산하는 방법을 빈도기반 계층확률추정이라고 합니다. 그러나 객체 수가 적을 때는 난관적인 결과(과적합화(overfitting))를 초래할 수도 있습니다. 이럴 경우에는 단순히 빈도를 계산하는 대신 빈도를 완충시킬 수 있는 라플라스 교정법을 사용해서 아래와 같은 식으로 바꿔줍니다.

(n은 단말노드, c는 계층에 속하는 객체의 수, m은 c객체에 속하지 않는 객체의 수)


트리유도로 고객이탈 문제 해결하기


분류트리를 만들기 전 '고객이탈을 예측하는 데 변수들의 중요성'을 알기 위해 각 속성의 정보증가량(IG)을 측정합니다.

(IG에 대한 설명 참고 - 2017/03/25 - [Cyong's 마케팅/Data Science] - [Data Science] Ch1. 예측모델링_정보전달하는 속성 찾아내기)

그리고 IG의 순위로 정렬한 속성데이터를 차례로 노드로 트리를 만듭니다. 하지만 루트노드를 제외한 모든 노드 변수는 전체 객체 집합이 아니라 상위노드에 의해 분류된 객체만을 평가하기 때문에 내부노드의 정보증가량 순위와 전체집합의 정보증가량은 다를 수 있습니다.(대게 같지 않습니다.)

+ Recent posts