본문 바로가기
텐서플로우

기계학습의 종류 - 정보 기반

by 다빈치스탁 2020. 12. 13.
728x90
반응형

기계학습의 학습방법은 크게 보면 정보기반, 유사도기반, 확률기반, 오차기반으로 분류할 수 있다. 모든 학습법은 불확실성(무질서도)의 해소라는 공통의 목표를 가지고 있지만 각 각 목적지에 이르는 방법론에 있어서는 차이가 있다. 이번 포스트에서 알아볼 정보기반 학습의 대표적인 분석기법이 바로 트리모형인데 무질서한 데이터 속에서 어떠한 속성치를 기준으로 점차 가지치기를 해나가는 방법이다.

 

예를 들어 코스피 200 종목들 중 펀더멘털이 우수(단, 여기서 우수하다는 것은 미리 정의되어 있다고 가정하자.)한 그룹과 그렇지 않은 그룹으로 분류를 한다고 할 때 가장 첫 번째 던질 수 있는 질문은 흑자기업인가? 적자기업인가? 정도가 될 것이다. 만약 흑자기업이라면 순이익률은 은행이자율(Risk Free Rate)보다 높은가? 낮은가? 라고 또 분류를 해나갈 수 있다. 이런 식으로 분류를 해나가다 보면 최종적으로는 우량주와 그렇지 않은 주식으로 구분이 될 것이다. 다만 여기서 중요한 점은 어떠한 질문(분류기준)이 가장 많은 정보를 얻을 수 있는가와 이 정보량의 순서에 따라 순차적으로 속성을 확인하는 과정이 바로 정보기반 기계학습의 방법론이 된다. 이 때 정보량은 엔트로피 모델을 사용하며 이를 이용해 속성의 정보량 즉 정보이득을 계산한다.

 

여기서 잠깐 엔트로피[위키백과]에 대한 개념을 예를 들어 설명하면 트럼프 카드를 처음 샀을 때는 52장의 카드가 순서대로 정말 잘 정돈되어 들어 있는데 (질서 있게 들어있는데), 이 카드 덱을 들고 있는 손의 힘을 풀면 카드는 바닥으로 떨어지며 흩뿌려진다. 이렇게 되면 정돈이 되지 않은 무질서한 상태가 되어 버린다. 하지만 이 카드 덱을 다시 질서 있는 상태로 만들기 위해서는 힘을 들여서 순서대로 정렬해야 하므로 (외부에서 에너지를 투입해야 하므로) 결국 카드 덱 자체의 엔트로피는 감소했지만 전체 엔트로피는 증가하게 된다. 즉 열린계에서는 외부로부터의 에너지 투입을 통해서 엔트로피를 감소시킬 수 있지만, 이 경우에도 시스템의 경계를 확장해서 고립계로 보면 엔트로피는 계속 증가한다는 것이다. 우리가 사는 우주는 고립계라서 엔트로피가 절대적으로 증가하고 있다고 한다.

 

이처럼 이 우주가 무질서를 원한다는 것은 자명한 사실이다. 이 글을 읽고 있는 사람 중 누구라도 왜 내가 사면 떨어지고 내가 팔면 오를까라는 가슴 아픈 질문을 한 적이 있다면 이 또한 우주의 법칙이니 너무 노여워하거나 슬퍼하지 말자. 본론으로 돌아와서 정보기반의 학습에서 엔트로피란 무질서도라기 보다는 불확실성에 가깝다고 볼 수 있다. 이러한 불확실성을 계산하기 위해 수학적으로는 로그함수를 이용하는데 그 원리는 아래와 같다.

 

 

 

로그함수의 개형 <https://namu.wiki/w/%EB%A1%9C%EA%B7%B8%ED%95%A8%EC%88%98>
-log(fx) : x축 대칭

 

일반적인 로그함수는 a>1일 때 위의 그림과 같다. 여기에 -1을 곱하면 x축에 대칭인 아래의 그래프가 된다. 위의 그래프에서 정의역의 0~1 사이의 값만 잘라서 보면 x가 작을수록 무한대 그리고 x가 클 수록 0에 수렴하게 된다. 이 함수는 우리가 원하는 정답이 나올 확률이 낮을수록(x가 작을수록) 엔트로피는 커지고 정답의 확률이 높을수록(x가 클수록_ 엔트로피는 작아지는 현상을 잘 설명하기에 정보기반의 학습 모델링에 이용한다.

 

그 다음으로 수행할 작업이 정보이득을 계산하는 것인데 최초의 원시 데이터들에 대한 엔트로피를 계산한 다음 특정한 속성에 따라 구분을 수행한 뒤 엔트로피를 계산하여 이 둘의 차이를 정보이득으로 간주하고 이를 극대화하는 방법을 사용하면된다. 아주 직관적이고 명료하지만 막상 수식으로 유도하는 과정은 그리 쉽지 않다. 만약 이 과정에 대해 좀 더 상세한 내용을 원하는 사람은 관련서적을 참고하자. 이 책은 코드나 사례 위주가 아닌 기계학습의 원리와 수학적 유도과정 등에 대해 상세히 다루고 있어 원리를 이해하는데 상당한 도움이 되는 편이다.

 

데이터 예측을 위한 머신 러닝
국내도서
저자 : 존 캘러허(John D. Kelleher),브라이언 맥 네미(Brian Mac Namee),이퍼 다시(Aoife D') / 황정동역
출판 : 에이콘출판사 2017.04.28
상세보기

 

이론적 백그라운드에 좀 더 디테일한 설명은 위의 추천서적을 참고하고 실전코드는 2020/11/12 - [데이터마이닝 with R/실전머신러닝] - 의사결정나무를 이용해서 HTS 조건검색식 만들어보기 글을 참고하자.

728x90
반응형

'텐서플로우' 카테고리의 다른 글

기계학습의 종류 - 오차기반  (0) 2021.01.13
기계학습의 종류 - 확률기반  (0) 2021.01.10
기계학습의 종류 - 유사도 기반  (0) 2020.12.22
데이터구조 : Numpy 와 Pandas  (0) 2020.09.15
텐서플로우란?  (0) 2020.08.28

댓글