IDF와 엔트로피의 관계

엔트로피는 어떤 집합에 적용해 무질서 정도를 측정합니다. 엔트로피는 데이터를 분류할 때 사용합니다. 순수하게 한가지 속성에 대해 데이터를 분류하고자 할 때 ,이 데이터가 우리가 분석하려는 속성에 대해 다른 값들이 얼마나 뒤섞여 있는 지를 나타내는 것이 무질서라고 하며, 이런 무질서 정도를 측정하는 것이 엔트로피입니다.


는 집합 안에서 속성 i의 확률

이면 집합 안의 모든 항목이 i속성을 가진 경우

이면, 집합 안에서 i속성을 가진 원소가 하나도 없는 경우


IDF와 엔트로피는 둘 다 집합 안에서 속성이 얼마나 섞여 있는지를 측정하기 때문에 비슷합니다.


p(t) : 단어 t가 문서에서 나타날 확률

p(t) 추정확률 : p로 표시

문서 집합에서 단어 t의 유무에 대한 확률로 생각하면 T가 들어있을 확률은 p이고 T가 없을 확률은 1-p입니다.

not_t라는 가짜 단어를 만들어 본다면, not_t는 단어 t가 없는 문서에 가상으로 존재하는 단어를 의미합니다.

위의 식을 그래프로 표현하면, p(t)=.5를 축으로 서로 대칭을 나타냅니다.

2진 계층인 p₂=1-p₂의 엔트로피 공식 

t단어가 포함되어 있는 확률 : p

t단어가 포함되어 있지 않은 확률 : 1-p

을 대입하면

여기에 IDF(t)와 IDF()not_t)로 대체하면,


코퍼스에 단어 t가 나타날 확률에 기반해 IDF(t)와 IDF(not_t)의 기댓값으로 엔트로피를 표현한 것입니다.


엔트로피를 그래프로 그려보면 IDF 단어 t의 희박성을 나타내는 방정식의 그래프는 엔트로피 곡선과 일치합니다.

    


단어주머니보다 정교한 기법

더 정교하게 문서 안의 텍스트, 단어를 처리하는 방법으로 n-그램 순열이 있습니다.

n-그램은 단어 순서가 중요한 경우, 단어 순서에 대한 정보를 보관할 수 있도록 인접한 단어들의 순서까지 포함하는 표현 기법입니다.

ex) The quick brown fox jumps

단어주머니 - quick, brown, fox, jump 라는 단어 집합

n-그램 - quick_brown, brown_fox, fox_jump 3개의 토큰으로 변환

n-그램은 개별단어보다 특정 문장이 중요한 경우에 사용합니다. 단, 특징 집합의 크기가 상당히 커진다는 단점이 있습니다.

※ 바이그램 : 인접한 쌍, 토큰


개체명 추출기

문장 추출 시, 문서에서 많이 볼 수 있는 개체명을 인식해야 하는 경우가 발생합니다. 예를 들어 Silicon Valley / New York Mets / Game of Thrones 등 의 고유명사말이죠. 이런 어구를 인식할 수 있도록 개체명 추출기라는 전처리기를 사용합니다. 개체명 측정기가 제대로 작동하기 위해서는 커다란 코퍼스를 갖고 있거나, 수작업으로 고유한 명사들을 입력해야 합니다. 개체명 추출기는 고유명사를 개체명으로 인식하기 위해 풍부한 고유명사 입력하는 것이 필요하고 또는 학습이 필요합니다.


주제모델

문서에 등장하는 단어나 개체명으로 직접 모델을 만드는 방법은 언제나 최적의 결과가 나오는 것은 아닙니다.

주제모델 : 코퍼스 안에서 먼저 주제들을 별도로 모델링하는 것, 단어들을 직접 사용하지 않고 각 주제에 맞게 단어들을 묶어 맵핑하는 것을 말합니다. 예를 들어 Korean War라는 주제를 중심으로 연관성 있는 단어들을 묶는 것입니다. 주제모델을 만드는 기법으로는 잠재의미 색인과 같은 행렬 인수분해 기법과 잠재 디리클레 할당과 같은 확률적 주제 모델이 있습니다.



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

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

2017/05/27 - [Cyong's 마케팅/Data Science] - [Data Science] Ch.3 데이터에 대한 모델 적합화(수학 함수를 통한 분류)

2017/05/28 - [Cyong's 마케팅/Data Science] - [Data Science] Ch.4 데이터에 대한 모델 적합화(수학 함수를 이용한 회귀분석과 로지스틱 회귀분석)

2017/06/03 - [Cyong's 마케팅/Data Science] - [Data Science] Ch.5 과적합화

2017/06/07 - [Cyong's 마케팅/Data Science] - [Data Science] Ch.6 유사도

2017/06/10 - [Cyong's 마케팅/Data Science] - [Data Science] Ch.7 좋은 모델은 무엇인가?(분류자평가)

2017/06/12 - [Cyong's 마케팅/Data Science] - [Data Science] Ch.8 좋은 모델은 무엇인가?(기댓값)

2017/06/17 - [Cyong's 마케팅/Data Science] - [Data Science] Ch.9 좋은 모델은 무엇인가?(비용과 효과)

2017/06/18 - [Cyong's 마케팅/Data Science] - [Data Science] Ch.10 증거와 확률(베이즈규칙)

2017/07/02 - [Cyong's 마케팅/Data Science] - [Data Science] Ch.11 텍스트 표현 및 마이닝(IDF와 TFIDF)


텍스트

문서 안의 단어(텍스트)는 자유로운 형태이고, 차례대로 나오며, 각 문서는 하나의 객체로 보지만, 특징에 대해선 알 수 없습니다. 데이터의 또 다른 형태이며, 데이터로 활용하기 위해선 변환이 필요합니다. 텍스트는 '비구조 데이터'라 컴퓨터는 텍스트를 인식하기 어렵습니다. 때문에 컴퓨터가 인식할 수 있도록 가공을 할 필요가 있습니다. 텍스트를 컴퓨터가 인식할 수 었도록 데이터로 표현(변환)하는 방법은 특징 벡터 형태로 변환하는 것입니다. 


텍스트 처리 기본 용어

토큰 : 하나의 단어

코퍼스 : 문서를 모아 놓은 것, 문서의 묶음

단어주머니 : 개별적인 단어의 집합(문법, 단어순서, 문장구조, 무시). 단어주머니는 모든 단어가 문서의 키워드가 될 가능성이 있습니다. 표현이 매우 간단하며, 생성하는데 연산이 적게 소요됩니다. 단어주머니를 사용하면 여러  종류의 작업에 잘 맞습니다. 컴퓨터의 단어 인식하는 방법으로는 문서에 토큰이 있으면 1, 없으면 0으로 표현합니다.


단어빈도

단어의 횟구(빈도) : 문서 안에서 단어가 나오는 횟수 - 해당 단어의 중요도

위의 표를 만들기 위해 어근을 기준으로 단어 변화가 필요합니다. 방법은 아래와 같습니다.

ⓐ 모든 단어를 소문자로 표기합니다.

ⓑ 형용상 복수형의 단어를 단어 어근으로 변경합니다.

ⓒ 불용어 제거합니다. 불용어란 인터넷 검색 시, 검색용어로 사용되지 않는 용어(관사/전치사/조사/접속사 등)를 뜻합니다.


앞서 말한대로, 단어빈도는 하나의 문서 안에서 어떤 단어가 얼마나 많이 나오는 지를 측정하는 것으로 단어와 문서 간의 관계를 나타내기 위한 것입니다. 문서 안에서 단어의 비중을 결정 시, 특정 단어가 너무 빈번하게 나오면 안됩니다. 그래서 2가지 측면에서 추가적으로 검토가 필요합니다.

ⓐ 단어가 너무 희귀하면 안됩니다.

ⓑ 단어가 너무 흔해도 안됩니다.


단어가 나온 문서의 수가 적을수록 단어가 문서에 중요할 가능성이 더 높기 때문에 코퍼스 안에서 단어의 분산도 고려해야하는데, 단어의 역문서빈도(IDF)라는 방정식으로 어떤 단어 t의 희박성, 문서 안에서 드문 정도를 측정 가능합니다.


IDF

IDF(역문서빈도) : 어떤 단어의 희박성을 측정하는 방정식



[1000개의 문서가 들어있는 코퍼스에서 단어 t에 대한 IDF 그래프]

단어가 희귀한 경우, IDF가 상당히 높게 나옵니다. 단어 t가 나오는 문서의 수가 증가할 수록, IDF가 급격히 감소해 점근선 1.0에 접근합니다. 대부분의 불용어는 거의 모든 문서에 나오므로 IDF가 거의 1에 가깝습니다.


단어빈도와 역문서 빈도의 결합(TFIDF)

TFIDF : 단어 빈도와 역문서 빈도(단어의 희소성)을 결합한 것입니다.

IDF : 문서(코퍼스) 전체에서 t라는 단어의 희소성을 의미하며, 코퍼스 전체 기준의 특징 벡터 집합입니다.

TFIDF : 어떤 문서에서 t라는 단어가 나오는 횟수로, 문서 기준의 특징 벡터입니다.


단어 주머니 표기법은 문서 안에 있는 모든 단어가 독립적인 특징이 될 수 있다고 가정합니다. 단어의 빈도와 희귀도에 따라 문서에 값을 할당합니다. TFIDF는 단어에 적용하기 위해 널리 사용되는 방법이지만 꼭 최적의 값은 아닙니다.



2017/06/18 - [Cyong's 마케팅/Data Science] - [Data Science] Ch.10 증거와 확률(베이즈규칙)

2017/06/17 - [Cyong's 마케팅/Data Science] - [Data Science] Ch.9 좋은 모델은 무엇인가?(비용과 효과)

2017/06/12 - [Cyong's 마케팅/Data Science] - [Data Science] Ch.8 좋은 모델은 무엇인가?(기댓값)

2017/06/10 - [Cyong's 마케팅/Data Science] - [Data Science] Ch.7 좋은 모델은 무엇인가?(분류자평가)

2017/06/07 - [Cyong's 마케팅/Data Science] - [Data Science] Ch.6 유사도

2017/06/03 - [Cyong's 마케팅/Data Science] - [Data Science] Ch.5 과적합화

2017/05/28 - [Cyong's 마케팅/Data Science] - [Data Science] Ch.4 데이터에 대한 모델 적합화(수학 함수를 이용한 회귀분석과 로지스틱 회귀분석)

2017/05/27 - [Cyong's 마케팅/Data Science] - [Data Science] Ch.3 데이터에 대한 모델 적합화(수학 함수를 통한 분류)

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

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

모델, 유도, 예측


모델이란 목적을 달성하기 위해 실세계를 명확하, 단순화하여 일정한 규칙으로 표현 한 것입니다. 즉, 확률함수로서 특징을 입력받아 타겟 변수값을 추정하는 것입니다. 쉽게 설명하지면 경제학에서의 '수요공급곡선'은 수요와 공급에 대한 관계를 단순하게 표현하기 위해 만들어진 모델입니다. 


모델링이란 속성 또는 특징와 같은 일련의 변수와 타겟 변수라고 불리는 사전에 정의한 변수간의 관계를 보여주는 모델을 만드는 행위를 말합니다. 


예측이란 발생할 일이나 모르는 값을 추정하는 것인데 , 예측 모델(어떤 값을 예측하기 위해 일정한 규칙으로 표현한 공식), 예측 모델링을 통해 예측을 합니다.


감독 세분화 (Supervised Approach)


감독방법으로 데이터에서 패턴을 만드는 방법에 대해 생각해보면 타겟변수를 기준으로 전체 데이터를 유사한 값을 가진 세그먼트로 분할하는 방법이 있다. 타겟값은 모르지만 알려진 변숫값으로 분할 한다면 이 세그먼트는 타겟 변숫값을 예측하는데 사용될 수 있다. 그리고 두드러진 세그먼트를 자동으로 뽑아내기 위해서는 정보를 전달하는 속성을 알아보고 이 기법을 반복 적용해 어떻게 감독 세분화하는지를 알아야 한다.


정보를 전달하는 속성의 선택


2진 분류인 타겟 변수값(yes 또는 no)을 생각해봅시다. 사람들 중 대손상각 여부와 여러 속성을 데이터로 하면 어느 세그먼트에 속한 그룹원이 다른 세그먼트 그룹원보다 상각률이 높은지 낮은지 예측할 수 있습니다.


그러나 기술적으로 복잡한 문제가 많습니다.


a. 그룹을 완전히 분리하는 속성은 거의 없다.

b. 3개 이상의 값을 가진 속성도 많다.

c. 수치값을 가지는 속성들도 많다.


이러한 문제를 해결하기 위해 순도에 기반한 여러 공식들이 존재합니다.


가장 널리 사용되는 분할 기준은 정보증가량(IG)이라고 부릅니다.


정보증가량(Information Gain, IG)와 엔트로피(entropy)


정보증가량은 엔트로피라고 불리는 순도에 기반합니다. 엔트로피는 어떤 집합에 적용해 무질서의 정도를 측정하는 것입니다. 뒤죽박죽 섞인 정보일수록 엔트로피가 높습니다.


정보의 엔트로피를 구하는 공식은 아래와 같습니다.

                         

위 식에서 각 는 i 번째 속성의 확률을 의미합니다.

즉, 인 경우 100%의 확률로 모든 원소가 i번째 속성을 가지는 것을 의미하고 인 경우에는 i번째 속성을 가진 원소가 하나도 존재하지 않는 것을 의미합니다.

엔트로피는 0일 경우 무질서 정도가 최소이고 1일 경우 무질서 정도가 최대라 할 수 있다.


분할, 분류를 통해 엔트로피가 많이 줄어들 수록 좋은 분할이라고 말할 수 있을 겁니다. 어떤 속성에 따라 분류하면 전체그룹의 엔트로피가 개선되는지 추정할 수 있도록 나타내주는 수치가 IG입니다.


정보증가량를 구하는 공식은 아래와 같습니다.


위 식에서 는 분할 전 집합이고 는 분할 후 i번째 집합을 의미합니다.


정보증가량으로 판단할 때에는 분할 후 집합이 완전히 순수할 필요는 없으며, 분할한 후의 집합의 개수에 상관없이 적용할 수 있습니다. 또한 분할 후 집합의 크기를 고려해 가중치를 조절할 수도 있습니다.


하지만 기술적으로 너무 다양한 값을 가질 수 있는 속성에 대해서는 문제가 발생할 수 도 있습니다. 같은 속성을 기준으로 세분화하면 IG는 상당히 늘어나지만 예측이 난해해지는 과적합화(Over-fitting)가 발생할 수 도 있습니다.


타겟변수가 수치형일 경우에는 수치형값의 불순도를 측정하는 방법인 분산을 이용합니다. 즉, 수치형 타겟값을 세분화하려면 가중치 평균의 분산이 가장 많이 줄어드는 값을 선택하면 됩니다.


IG을 증가시키는 속성선택


구체적인 데이터 마이닝을 위해선 속성과 타겟변수를 가진 객체가 담겨있는 데이터세트를 분석해 타겟변수를 추정하는데 필요한 정보를 가장 많이 전달하는 속성을 결정해야 합니다. 그리고 과적합화를 피하기 위해 데이터 세트에서 타겟변수를 예측할 때에는 데이터마이닝 해야 할 속성이 너무 많은 것은 아닌지 전혀 쓸모 없는 것이 있는 것은 아닌지 의심해봐야 합니다.

+ Recent posts