#2. 감독 학습, 정보를 전달하는 속성, 엔트로피, 정보증가량(IG)
1. 속성 찾아내기-데이터에서 속성을 안다는 것은?
감독 세분화를 할 때 우리는 데이터의 어떤 성질을 기준삼아 전체 데이터를 그룹화한다. 데이터의 어떤 성질, 즉 객체의 정보를 전달하는 변수를 속성Attribute라고 하는데, 속성은 객체에 대한 불확실성을 감소시키는 성질을 말한다. 감독 데이터 마이닝은 타겟값을 알아내고자 한다. 객체의 여러 특징 벡터(=속성) 중 타겟 변수가 정해지면, 그 변수를 알아내는 데 도움을 주는 또 다른 변수가 있을 것이다. 타겟 변수와 연관된 다른 변수가 있다는 것이다. 연관된 변수를 알게 되면 우리는 타겟값을 조사해볼 수 있다.
비즈니스 관점에서 생각해보자. 우리는 이번에 론칭한 상품A를 고객이 구매할지 여부를 알아야 한다. 그러나 우리가 알고자 하는 고객의 구매 여부는 행동이 완료(계산 완료)된 이후에나 알 수 있다. 행동이 끝난 후 결과를 알아봤자 소용이 없다. 그러니 타겟 변수(구매 여부)를 알아낼 수 있는 다른 변수를 활용해 고객이 구매 활동을 완료하기 이전에 행동을 예측할 수 있다면, 그에 적절히 대응해 상품 매출을 높일 수 있을 것이다.
그리고 정보를 가진 변수를 알게되면 그것을 기준으로 전제 데이터의 부분집합을 다룰 수 있다. 전체 데이터세트가 너무 크면 한꺼번에 다루기 부담된다. 이때 타겟 변수와 연관된 변수로 부분집합을 만들면 더 작은 데이터 세트 안에서 타겟값을 유추해볼 수 있다. 모델링의 정확도 또한 상승한다.(74)
데이터 과학에서의 예측은 '모르는 값을 추정'하는 것을 말한다. 모르는 값은 미래의 것일수도, 현재 또는 과거의 값일 수도 있다.
따라서 예측 모델은 모르는 값을 추정하기 위한, 즉 타겟값을 예측하기 위한 공식이다.
- 모델은 목적에 알맞게 실세계를 단순하게 표현한 것을 말한다. 제약과 목적에 필요없는 정보는 제외된다.
- 데이터를 이용해 모델을 만드는 것을 모델 유도Model Induction라고 한다.
- 모델은 100% 분류 또는 예측에 성공하지 못하기 때문에 범용 규칙을 가지고 있다.
- 모델을 사용하는 것은 연역법을 사용하는 것과 유사하다.
- 감독 학습은 타겟 변수와 그에 연관된 일련의 변수들의 관계를 표현하는 함수식을 모델링하는 것이다.
연역법은 이미 증명된 명제를 통해서 새로운 명제를 결론으로 도출해내는 방법을 말한다. 그렇기 떄문에 논증 과정에서 사용된 명제들의 논리적 타당성이 중요하다. 모델을 사용하는 것이 연역법을 사용하는 것과 비슷하다는 것은, 이미 알려진 타겟값을 가지고 모르는 타겟값을 결론으로 도출해내기 때문일 것이다. 모델은 훈련되는 과정에서 이미 타겟값이 알려진 데이터셋을 이용한다. 그리고 그 데이터의 정보를 바탕으로 함수식이 만들어진다. 시험 데이터세트에서 이 모델은 '이미 알려진' 훈련 데이터세트의 값을 통해서 '알지 못하는' 시험 데이터의 타겟값을 알아낸다. 참고로, 훈련 데이터는 레이블(타겟 변숫값)이 붙은 데이터로, 유도 알고리즘-모델링을 위한 알고리즘에 입력값으로 사용되는 것이다.
타겟값을 알아내기 위해 그와 관련된 속성을 찾아내야 한다는 것을 알게 되었다. 그러면 어떤 속성이 가장 쓸모있을까?
2. 정보를 전달하는 속성
정보를 잘 전달하는 속성이라는 것은, 전체 데이터세트가 해당 속성에 의해 분류될 때 '가장 순수한 상태의 부분집합으로 나눠질 수 있다'는 것을 의미한다. 우리가 어떠한 변수(속성)을 이용해 데이터를 분류하면, 데이터는 속성 안의 여러 세그먼트에 의해서 끼리끼리 모인다. 세그먼트는 무엇인가? 속성 안의 구체적인 항목들이라고 생각하면 된다. 예를 들어, '홍채 색상'이라는 속성을 기준으로 분류하면 데이터의 객체들은 속성 안의 '녹색', '갈색', '파란색' 등으로 표현되는 세그먼트들에 의해 나누어진다.
이때 정보를 잘 전달한다는 것을 위의 홍채 색상 예시에 적용해보자. 우리가 알고자 하는 것(=타겟값)이 객체의 '인종'이라는 속성이라고 해보자. '홍채 색상'이라는 속성이 정보를 잘 전달하는 속성이라 함은, 홍채 색상을 기준으로 객체를 분류했을 때 각각의 세그먼트에 의해 분류된 부분집합 안의 객체들의 타겟값(인종)이 대다수 동일하다는 것을 의미한다. 타겟값이 동일한 객체가 많을수록 그 집합은 순수한 상태에 가깝다(순도가 높다). 어떤 그룹 안의 객체들이 모두 동일한 타겟값을 가지면 그것은 '순수한 그룹'이라고 말할 수 있다.
가장 정보를 잘 전달하는 홍채 색상을 기준으로 분류를 한다고 해도, 모든 부분집합이 순수한 상태가 된다고 볼 수는 없다. 가령 '녹색' 세그먼트에 의해 분류된 객체들의 타겟값은 모두 'A인'이라고 해도(순수한 집단), '노란색'으로 분류된 객체들의 타겟값에는 'B인'외에도 'A인', 'C인'이 일부 섞여있을 수 있다. 직관적으로 알 수 있듯이, 속성 내에 존재하는 세그먼트의 수가 많을수록 순수한 분류는 힘들어진다. 게다가 색상의 이름이 아닌 수치형 세그먼트일 경우엔, 분류 기준을 설정하는 것이 난감해진다. (1, 2, 3 으로 구분해야 하나, 아니면 1.1, 1.2, 1.3...2.9, 3.0으로 구분해야 하나?)
3. 엔트로피와 속성
분류 문제에서 어떻게 하면 가장 잘 세분화하는 속성을 선택할 수 있을까? 우리는 각 속성의 정보 증가량을 통해 평가할 수 있다.
정보증가량(Information Gain) 수식에서는 축약어 IG를 사용한다. 엔트로피에 의해서 결정된다.
정보증가량과 엔트로피에 대한 글은 아래 링크의 논문에서 더 자세히 알아볼 수 있다. 48페이지 하단부터 읽으면 엔트로피 내용이 나온다. https://pure.mpg.de/rest/items/item_2383164/component/file_2383163/content
나는 읽다가 졸려서 포기하고 공부하던 책을 참고했다.ㅋㅋ

엔트로피는 어떤 집합의 무질서 정도를 측정한다. 무질서는 분석하고자 하는 속성에 대해 세그먼트가 얼마나 뒤섞여있는지 불순한 정도를 나타낸다. 수식은 왼쪽과 같다. 수식에서 p_i는 속성i의 상대적인 비율(확률)을 나타낸다. p_i가 1이면 집합 안의 모든 항목이 i속성을 가지고 있음을 의미한다. 계층값이 두 개인 집합의 엔트로피를 구해보자. 엔트로피 값이 0이면 무질서 정도가 최소로 모든 값이 동일하다. 반대로 1이면 무질서 정도는 최대인데, 서로 다른 두 계층에 속해있는 객체들의 개수가 동일하다(반반).

엔트로피를 구하는 예시를 생각해보자. 대학교 신입생들 중 현역 입학생이 12명, 재수생이 8명이라고 하자. 이 집합의 엔트로피는 왼쪽 그림과 같이 계산할 수 있다. 이렇게 구한 엔트로피는 부분집합이 얼마나 순수한지 알려준다. 앞에서 말했듯이 정보를 잘 전달하는 속성은 부분집합을 순수하게 만드는 것이다. 이는 엔트로피를 감소시키는 속성을 찾아야 함을 의미한다.
어떤 속성이 엔트로피를 감소시키는지 어떻게 알 수 있나?
4. 정보증가량 (Information Gain, IG)
정보 증가량은 새로 추가된 정보(예를 들면 신입생 집합의 나이 정보 등)에 따른 엔트로피의 변화를 측정한다. 감독 세분화의 경우, 하나의 속성이 가지는 값에 따라 집합을 분할하고 증가한 정보량을 나타낸다. 분할 기준이 되는 속성이 5개일 경우, 자식집합(속성을 기준으로 분할한 집합)의 개수는 5개가 된다. 정보증가량은 부모집합과 자식집합에 대한 함수로, 속성이 얼마나 많은 정보를 제공하는지 측정한다. 예측 모델링 과정에서 정보 증가량을 이용하면 특정 속성이 얼만큼 예측에 도움이 되는지 알 수 있다. IG는 아래 수식으로 표현된다.

엔트로피를 설명할때 사용했던 대학 신입생 예시를 이어서 보자. 부모집합S의 엔트로피 값은 0.972로, 불순도가 매우 높다. 정보증가량은 새로운 정보가 추가됐을 때 엔트로피가 얼마나 개선됐는지 알 수 있게 해준다. 새로 추가할 정보는 '나이'이다. 20명의 학생들의 나이에 따른 분류는 다음과 같다고 가정하자. (조금 현실성이 떨어지긴 하는데, 설명을 위해 무시하자.ㅋㅋ)

- 23살 미만인 경우: 현역 9명, 재수 2명
- 23살 이상일 경우: 현역 2명, 재수 7명
IG계산은 부모집합의 엔트로피인 0.972에 두 개의 부분집합에 비율을 곱한 값을 빼주면 된다.
IG = 0.972 - {0.6*(0.69) + 0.4*(0.76)} = 0.254
와우 '나이'라는 정보를 추가했을 뿐인데 엔트로피는 0.972에서 0.254로 급락했다. 엔트로피가 개선된 것이다. 이처럼 추가 가능한 다양한 속성들에 대해 정보증가량을 계산하고 비교를 통해 부모집합의 엔트로피를 가장 큰 폭으로 감소시키는 속성을 찾으면, 그 속성이 바로 정보를 가장 잘 전달한다고 보면 된다.

이러한 과정을 거쳐 우리는 정보증가량을 활용해 최적의 분류 기준이 되는 속성을 선택할 수 있다. 이는 자식집합이 완전히 순수하지 않아도, 나누어지는 자식집합의 개수가 많아도 적용 가능하다.(과적합화를 주의하자) 그리고 자식집합이 균일한 개수로 나누어지지 않더라도, 가중치를 부여해서 이를 보완할 수 있다.
* 본 글은 비즈니스를 위한 데이터 과학(포스터 프로보스트, 톰 포셋 저 / 한빛미디어) 챕터3를 참고하여 작성한 것입니다.
* 초심자가 독학하며 작성한 글입니다. 오류가 있을 수 있습니다.
'배우는 것 > Maching Learning' 카테고리의 다른 글
#6. 파이썬 기본지식 공부(1) (0) | 2021.12.21 |
---|---|
#5. 지도학습에서의 과적합화 (0) | 2021.12.20 |
#4. 얼렁뚱땅 주피터로 맛보기학습 (0) | 2021.12.19 |
#3. 분류 트리, 트리 구조 모델, 분할정복법, 논리문 (0) | 2021.12.19 |
#1. CRISP데이터 마이닝 프로세스, 사용 시나리오, 누설 (0) | 2021.12.17 |