용's

[#1] 졸업과제 시작 - Bayes Net를 이용한 Context Awareness 모델 본문

Computer Science/Graduate Project

[#1] 졸업과제 시작 - Bayes Net를 이용한 Context Awareness 모델

TaeYOng's 2015. 7. 19. 16:01





드디어 졸업과제를 차차 시작하고 있다. 


왜 졸업과제를 여름방학때부터 시작해서 9월까지 마치도록 프로세스를 짜 놓았는지는 아직도 우리 과에 대해 의문이지만... 


일단 열심히 하면서 하나씩 이 블로그에 정리해보고자 글을 쓰기 시작해 본다.





1. 상황인지 모델

- IOT(Internet of Things)의 발달로 스마트홈 기반의 많은 네트워크 기기들이 발명되어지고 있다. 이러한 스마트한 IOT 기기들을 기반으로서 일명 똑똑한 집, 스마트 홈이라는 단어들을 요즘 많이 들어볼 수 있다. 이러한 스마트홈은 자동화를 지원하는 개인 주택의 의미로서 미국에서는 Domotics라 불리기도 한다. 똑똑한 집이 필수적으로 알아야하는 것이 있다면, 바로 사용자의 행동(상황) 인식이다. 영어로는 Context Awareness.


- 집 안에서 사용자의 행동을 분석하는 방법에는, 여러 IOT 기기와 사용자의 행동 사이에는 일련의 인과관계가 있다라는 생각에서 시작한다. 예를 들면, 아주 스마트한 Dining Room Light가 On되어 있고, 또 다른 스마트한 Gas Range가 On되어 있다는 정보를 스마트홈이 알고 있다면, 이 사용자는 요리(Cook) 중이라고 판단할 수 있게 되는 것이다. 


 Dining RoomLight

Gas Range 

상황

 On

On 

Cooking 


하지만, 물론 아닐 수 있다. 예를 들면 요리를 하다가 가스를 끄지 않고 밖에 나갈 수도 있고, 잠시 TV를 볼 수도 있기 때문이다. 그렇기에 우리는 충분한 데이터를 토대로 꽤나 정확한 인지를 위해 이 스마트한 홈을 학습(Learning)시킬 필요가 생기게 된다.


- 꽤나 정확한 상황인지를 할 수 있게 되면, 이걸로 무얼할 수 있을까? 생각해보면 정말 다양한 신종 서비스들이 가능하게 된다. 예를 들면, 

 

▶사용자 맞춤형 자동 온도 조절기(이미 미국에서는 넥스트라는 제품이 시중에 널리 사용되고 있다. 구글에서 크게 인수를 하기도)

사용자 상황에 따른 자동 수행 로봇 청소기(우리 학교 연구실에서 이미 논문을 낸바 있다)

사용자 맞춤형 오디오

사용자 맞춤형 자동 보안 시스템



2. Bayesian Network

- 앞서 스마트한 IOT들과 사용자의 상태사이에는 인과관계가 있다고 생각한다고 하였으며, 또한 충분한 데이터를 통해 학습(Learning)을 진행한다고 하였다.


- 여러가지 머신 러닝(Machine Learning)기법이 있지만, 인과관계를 잘 표현할 수 있는 학습 기법에는 Bayesian Network(베이지안 네트워크)라는 학습이 있다. 가장 간단하게 설명하면, 방향성 비순환 그래프로서, 각 상황들과 기기들의 상태를 노드(Node)로 표현하고 인과관계를 간선(Edge)로 표현하여 네트워크 모델을 만든 뒤, Bayes의 조건부 확률로서 Query에 대한 특정 노드의 확률을 구해 추론(Inference)하는 학습기법이다. 


A simple Bayesian network. 

Rain influences whether the sprinkler is activated, 

and both rain and the sprinkler influence whether the grass is wet.


- 그리하여 최종적으로 내가 하고자 하는 것 Bayesian Network를 이용하여 사용자 상황인식 모델을 만들고, 학습을 통해 꽤나 정확한 상황인지를 할 수 있도록 하는 것이다. 또한 기본적은 Simple Bayesian Network에서의 정확도와 각각의 상태에 대한 Naive Bayes 모델로서도 정확도를 측정해보아 어떤 모델이 좀 더 높은 정확도를 보이는지 비교 및 분석 할 예정이다. 






다음 포스팅에서는 Bayesian Network의 학습에 앞서 학습 도구 중의 하나로서 Weka 라는 프로그램에 대해 다뤄보고자 한다.





'Computer Science > Graduate Project' 카테고리의 다른 글

중간 정리  (0) 2015.08.10
[#2] Weka - 데이터 마이닝을 위한 Tool  (0) 2015.07.21
Comments