Korea Digital Contents Society
[ Article ]
Journal of Digital Contents Society - Vol. 21, No. 4, pp.825-832
ISSN: 1598-2009 (Print) 2287-738X (Online)
Print publication date 30 Apr 2020
Received 13 Mar 2020 Revised 15 Apr 2020 Accepted 25 Apr 2020
DOI: https://doi.org/10.9728/dcs.2020.21.4.825

IoT 환경에서의 슬라이딩 윈도우 기반 센서 데이터 처리

김태연1 ; 김성환2 ; 안용덕3, *
1조선대학교 SW중심대학사업단 교수
2조선대학교 SW중심대학사업단 교수
3조선대학교 체육학과 교수
Sliding Window based Sensor Data Processing in IoT Environment
Tae-Yeun Kim1 ; Sung-Hwan Kim2 ; Yong-Duk Ahn3, *
1Professor, National Program of Excellence in Software center, Chosun University, Gwangju, Korea
2Professor, National Program of Excellence in Software center, Chosun University, Gwangju, Korea
3Professor, Department of Physical Education, Chosun University, Gwangju, Korea

Correspondence to: *Yong-Duk Ahn~ Tel: +82-62-230-7487 E-mail: anyongdr@chosun.ac.kr

Copyright ⓒ 2020 The Digital Contents Society
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-CommercialLicense(http://creativecommons.org/licenses/by-nc/3.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

초록

사물인터넷(IoT) 환경 구축과 센서 네트워크 기술 발달이 실용화되면서 스마트 헬스케어 시스템에서 사용자의 각종 센서로 부터 측정된 무수한 스트림 데이터가 실시간으로 수집되고 있다. 사물인터넷 환경의 센서 네트워크에서 수집 되는 데이터는 빠르고 연속적인 특정을 가진 스트림 데이터이다. 스트림 데이터는 시간에 따라 연속적이고 복잡하여 한시적인 접근만 가능하며 제한된 메모리를 사용하여 동적으로 변화하기 때문에 지속적인 데이터 처리 모델이 요구된다. 이에 본 논문에서는 사물인터넷 환경에서의 스마트 헬스케어 시스템에 다수의 센서(체중, 맥박, 혈압 센서)를 배치하고 효율적인 입력 스트림 데이터를 처리하기 위해 슬라이딩 윈도우 기반으로 역전파 신경망(Back Propagation Neural Network) 알고리즘을 이용하여 사전 클러스터링한 후 요약된 정보를 해시 테이블을 이용하여 관리하는 처리 방식을 제안한다. 성능 평가 결과 윈도우 크기를 3000으로 분할하고 BPNN 알고리즘을 사용하였을 때 0.857%로 가장 높은 정확도를 보였다. 또한 K-NN 알고리즘의 평균 정확도보다 BPNN 알고리즘의 평균 정확도가 높게 측정되어 본 논문에서 제안한 기법의 효율성을 검증하였다.

Abstract

As the development of the Internet of Things(IoT) environment and the sensor network technology have been put into practical use, a lot of stream data measured from various sensors of the user in the smart healthcare system is collected in real time. The data collected from the sensor network in the Internet of Things environment is stream data with fast and continuous characteristics. Stream data is continuous and complex over time, so it can only be accessed in a limited time, and it is dynamically changed using limited memory, so a continuous data processing model is required. In this paper, we propose a Back Propagation Neural Network algorithm based on sliding window to process multiple inputs (weight, pulse, blood pressure sensor) and process input stream data in smart healthcare system in object internet environment. We propose a processing scheme for managing the summarized information using a hash table. When the window size was divided by 3000 and the BPNN algorithm was used, the accuracy was 0.857%. In addition, the average accuracy of the BPNN algorithm is higher than the average accuracy of the K-NN algorithm, and the efficiency of the proposed technique is verified.

Keywords:

Back Propagation Neural Network Algorithm, Hash Table, Internet of Things(IoT), Pre-Clustering, Sensor Data Processing

키워드:

사물인터넷, 센서 데이터 처리, 역전파 신경망 알고리즘, 사전 클러스터링, 해시 테이블

Ⅰ. 서 론

최근 사물인터넷(Internet of Things)은 사물에 네트워크를 연결하여 사람과 사물간의 상호 작용을 돕는 지능형 시스템으로 진화되고 있으며 이에 따른 다양한 연구가 진행되고 있다[1]-[2]. 사물 인터넷은 사용자에게 새로운 서비스와 유용한 가치를 제공하고 사용자의 삶 속에 깊숙이 들어와 정보를 습득하고 이용할 수 있도록 만들어주는 ‘초연결사회’를 구현하고 있다[3]. 웨어러블 디바이스, 스마트 폰, 태블릿 PC 등과 같은 사물인터넷 디바이스는 각종 센서와 통신 기능을 통해 주변 상황을 인식하고 실시간으로 데이터를 수집하기 때문에 시간이 지날수록 데이터의 규모가 방대해진다[4]. 또한 데이터의 생성 주기는 일정하지 않기 때문에 센서로 부터 센싱되는 데이터가 시계열 데이터 특성과 센서의 방식에 따라 비선형적이며 일관적이지 않기 때문에 비정형적인 성격을 가지고 있다. 이러한 이유로 사물인터넷 환경의 데이터를 수집하기 위해서는 많은 센서들이 필요하며 센서 네트워크를 통해서 수집된 센서 데이터에 대한 효율적인 처리 방법이 요구되어진다. 이와 같이 사물인터넷 환경의 센서 네트워크에서 수집되는 데이터는 빠르고 연속적인 특정을 가진 스트림 데이터이다. 스트림 데이터는 시간에 따라 연속적이고 복잡하여 한시적인 접근만 가능하며 제한된 메모리를 사용하여 동적으로 변화하기 때문에 지속적인 데이터 처리 모델이 요구된다[5].

기존의 많은 스트림 데이터 연구는 비용 및 저장 공간의 효율성 측면에서 질의 처리나 데이터 분석을 처리하는 분야에 대해 연구가 진행되어져 왔다[6]. 하지만 스트림 데이터를 처리하기 위해서 모든 입력 스트림 데이터를 하나하나 비교해야 하므로 입력 스트림 데이터 수만큼 순차적으로 비교해야 하는 문제점을 가지고 있다. 즉 많은 양의 연속적인 데이터와 규칙을 처리하는 방법에 따라 스트림 데이터 처리의 효율성이 달라질 수 있다. 이와 같이 사물인터넷 환경에서의 스마트 헬스케어 시스템은 하나의 데이터가 아니라 동시에 다차원 데이터를 처리해야하므로 스트림 데이터에 대한 보다 빠른 처리가 요구되어진다[7]-[9].

이에 본 논문에서는 사전 클러스터링을 통해 전체 센서 데이터에 대한 정보를 요약한 후 해시 테이블에 저장하여 데이터를 처리하고자 한다. 즉 입력 센서 데이터 크기(n)가 커지면 이들에 대한 다중 I/O 스캔으로 병목 현상이 일어나고 비선형 시간 복잡도로 인한 처리 비용이 급격히 증가된다. 이러한 제약점을 극복하기 위해 먼저 센서 데이터를 스캔하는 사전 클러스터링 단계를 수행한 후 가능한 메모리에 맞는 부클러스터에 대해 요약 정보를 갖고 있는 해시 테이블을 검색함으로써 효율적인 데이터 처리를 수행하고자 한다. 또한 사전 클러스터링은 입력 스트림 데이터가 다차원 비선형 데이터이므로 역전파 신경망(Back Propagation Neural Network) 알고리즘을 이용하여 모델링하였으며 비선형 데이터에 대한 클러스터링 알고리즘인 K-NN 알고리즘과 비교 분석하여 본 논문에서 제안한 시스템의 효율성을 검증하고자 한다.

본 논문의 구성은 다음과 같다. 2장에서는 시스템 구성 및 설계를 기술하였고 3장에서는 성능 평가 및 구현, 마지막으로 4장에서는 결론과 향후 연구 현황을 제시한다.


Ⅱ. 시스템 구성 및 설계

본 논문에서 제안하는 사물인터넷 환경에서의 스마트 헬스케어 시스템의 센서로 부터 입력된 스트림 데이터를 처리하기 위해 전체 센서 데이터를 스캔한 후 사전 클러스터링을 수행한다. 사전 클러스터링은 BPNN 알고리즘을 이용하여 분류하며 해시 테이블은 사전 클러스터링 후 요약된 정보의 인덱스와 레코드의 위치를 관리한다[10]-[11]. 이와 같이 해시 테이블을 이용하여 다차원 센서 데이터의 저장될 레코드 순서를 빠르게 찾아 저장함으로써 데이터 생성 속도가 향상되며 해시 테이블만 을 유지하면 되므로 메모리 사용량이 감소할 수 있다. 즉 해시 테이블을 통해 데이터의 빠른 검색과 효율적인 데이터 처리가 가능하다.

제안한 시스템을 구성하기 위해 사용된 프로세서 보드는 Telos 플랫폼이며 MSP430의 MCU, CC256XQFNEM을 사용하였다. 또한 체중, 맥박, 혈압(수축기, 이완기) 센서가 통합된 센서 모듈을 사용하며 싱크 노드는 1개를 포함 총 10개의 센서 노드를 사용하였다. 그림 1은 제안한 시스템의 구성도이다.

Fig. 1

System configuration diagram

분석 및 처리에 사용될 센서 데이터는 동일한 환경에서의 데이터이므로 하나의 패킷으로 묶어서 전송한다. 또한 각각의 패킷에 담게 되면 추가적인 트래픽 발생 및 에너지 소모가 일어남으로 단일 패킷으로 처리하여 질의를 처리한다. 그림 2와 같이 패킷의 총 길이는 36byte이며, 고정 헤더는 10byte, 센서 노드 ID 및 채널은 6byte, 버퍼 20byte 부분으로 구성된다. 버퍼는 앞에서부터 8byte를 각각 2byte씩 헥사 값으로 체중, 맥박, 혈압(수축기, 이완기) 센서 값 순으로 실제 센싱 값이 들어오도록 설계하였다.

Fig. 2

Packet configuration

스트림 데이터를 처리하기 위해 중요한 부분은 센서 네트워크 환경에 흩어져 있는 센싱 정보들에 대하여 센서 노드들의 제한된 리소스들을 고려하면서 효율적으로 센싱 데이터의 질의를 만족시켜주는 것이다. 즉 각 센서 노드들의 에너지 소모율을 최소화 시키면서 질의에 대한 정확성 및 신속성을 최대화 시킬 수 있는 질의 처리기(Query Processor)를 만드는 것이다.

그림 3은 데이터 스트림 환경에서의 질의 처리에 대한 설명을 단계적으로 나타낸 스트림 데이터 처리 구조도이다. 스트림 데이터 처리는 다중 스트림 데이터에 대하여 다중 연속 질의 처리를 수행한다. 여기서 입력 데이터의 과부하로 인하여 시스템의 처리 용량을 초과하는 현상이 발생할 수 도 있다. 데이터의 저장은 세 부분으로 나눌 수 있다.

Fig. 3

Stream data processing

임시 작업 저장소(Temporary Working Storage)와 스트림 시놉시스 처리를 위한 요약 저장소(Summary Storage), 마지막으로 메타 데이터 처리를 위한 정적 저장소(Static Storage)이다. 실행되는 질의는 질의 저장소(Query Repository)에 저장되며 질의 처리기(Query processor)는 입력 데이터양의 상황에 따라 질의 처리에 대한 최적화 작업을 실행한다[12].

본 논문에서는 사물인터넷 환경을 고려하여 입력 스트림 데이터의 효율적인 처리를 위해서 입력된 센서 데이터는 특정 범주에 분류가 필요하며 특정 범주에 해당하는 요약 정보를 해시 테이블에 저장하여 데이터베이스의 효율성을 높이고자 하였다. 이에 본 논문에서는 BPNN 알고리즘을 이용하여 사전 클러스터링을 한다. 사물인터넷 환경에서 스마트 헬스케어 시스템의 입력 센서 데이터는 체중, 맥박, 혈압(수축기, 이완기) 데이터로써 비선형 데이터 구조로 이루어져 있기 때문에 기존의 선형 분류방법 보다 확장성이 좋고 학습 시마다 성능이 달라지는 신경망 분류방법과는 달리 항상 일정하게 우수한 성능을 보여준다[13].

역전파 신경망은 인공신경망(Artifitial Neural Network, ANN)을 학습시키기 위한 알고리즘으로 신경망에 결과 값을 계산하여 기댓값(Target Value)과 실제 값(Actual Value)에 차이를 에러로 정의하고 에러의 최소치를 통해 원하는 결과 값과 가장 근접한 가중치가 되도록 신경망을 역으로 학습시킨다. 제안하는 모델은 10개의 노드로 구성된 은닉 층과 BPNN 알고리즘을 이용하여 학습시켰다[14]-[15]. BPNN 알고리즘의 전달 함수는 입력과 출력 사이의 랜덤한 비선형 매핑을 얻을 수 있는 Sigmoid 활성 함수와 Softmax 출력 층으로 구성하였다[16]-[18]. 학습 데이터는 50-60%가 사용되었고 나머지는 BPNN 알고리즘의 성능평가에 사용되었다.

본 논문에서는 4개의 입력 데이터(체중, 맥박, 수축기 혈압, 이완기 혈압)를 이용하여 윈도우 크기 변화에 따른 오차율을 처리하기 위해 2개의 레벨 출력 층을 갖는 신경망으로 구성하였다. 표 1은 BPNN 알고리즘의 구성도이다.

Configuration of BPNN algorithm

  • 1) 입력층의 노드 수가 각 데이터 항목의 개수인 4이어야 한다.
  • 2) 출력층이 만약 입력 데이터를 통해 학습된 가중치(Weight)에 의해 1번째 노드가 선택되면 Level 1에 해당한다.
  • 3) 은닉층의 노드 수는 1개 또는 그 이상으로 한다. 은닉층의 개수가 많아지면 학습의 시간이 증가하므로 적정한 은닉층의 개수를 정하는 것이 중요하다.

다차원 스트림 데이터의 클러스터링에서 전체적인 클러스터링 패턴에 대해 중요하지 않은 주변 점들이 있을 수 있다. 만일 클러스터링 과정이 종료된 후에 생성된 클러스터 중에서 극히 소수의 점만을 갖는 클러스터가 있다면 그 클러스터에 있는 점들은 주변 점으로 간주된다.

예를 들어 클러스터링 후에 두세 개의 점만을 갖는 클러스터가 다른 클러스터와 떨어진 위치에 존재한다면 그 클러스터는 주변 점을 포함하고 있을 확률이 높게 된다. 특정 클러스터가 주변 점을 포함하고 있는 클러스터인지를 판정하기 위하여 몇 개의 점을 기준으로 할 것인가는 응용 분야에 따라 경험적으로 결정될 수 있다. 주변 점 값이 너무 작으면 중요하지 않은 클러스터가 인덱스에 포함될 수 있으며 이는 메모리의 효율을 저하시킨다. 이에 본 논문의 성능평가에서는 극히 작은 값들은 의미 있는 정보가 아니므로 인덱스에 포함되지 않고 삭제하였으며 데이터 값이 너무 큰 경우는 의미 있는 이벤트 발생으로 인식하여 데이터베이스에 저장하여 모니터링 시스템에 전송하도록 하였다.

해시 테이블은 입력 스트림 데이터에 대한 요약정보의 저장할 레코드의 순서를 계산하기 위한 것으로 각 필드마다 중복 없는 레코드 값을 이용해 각각의 독립적인 해시 테이블로 만든다. 해시 테이블에 입력된 레코드 값에는 레코드 순서 계산을 위한 레벨 값으로 순차적인 값이 할당되며 이러한 레벨 값을 이용해서 저장 레코드 순서를 계산한다[19]. 그림 4의 첫 번째 테이블은 해시 테이블에 ‘0’부터 순차적인 값을 할당하여 n까지 레벨 값이 저장된 것을 보여준다. 또한 레코드에 대 한 레벨 값을 할당한 후에는 ‘Total’ 레코드의 레벨 값을 추가한다. 해시 테이블에 ‘Total’ 레코드를 포함하는 이유는 다차원 집계 연산에서 일반화에 필요하기 때문이다. 이러한 해시 테이블은 연산 결과 순서를 맞추기 위해 필드를 이름순으로 정렬해야한다. 이름순으로 정렬된 필드는 해시 테이블 생성 시 중복되지 않는 레코드 값을 구분하는 비용을 줄여준다.

Fig. 4

Configuration of hash table

해시 테이블은 저장하기 위한 레코드 순서를 계산하는데 있어 각 레코드의 값을 빠르게 찾아 계산할 수 있다. 해시 테이블이 생성되면 다음으로 해시 테이블의 레벨 값으로 계산된 레코드 순서에 대해 실제 레코드 저장 위치를 관리한다. 그림 4와 같이 테이블에 저장될 순서와 임시 레코드의 주소를 저장하는 구조로 구성된다. 그림 4의 해시 테이블을 보면 특정 레코드에 대해 저장할 레코드 순서 값에 실제 저장위치가 매핑되어 있는 것을 볼 수 있다. 레코드의 실제 저장은 계산된 레코드들 순서로 하기 때문에 해시 테이블의 순서 값으로 결과의 순서를 보장한다. 따라서 해시 테이블은 저장 공간을 효율적으로 사용할 수 있다.


Ⅲ. 성능 평가 및 구현

본 논문에서 제안한 사물인터넷 환경에서의 스마트 헬스케어 시스템의 센서 데이터 처리를 위한 성능 평가는 1개의 Sink 노드와 9개의 중간노드 총 10개의 노드를 사용하여 5초 마다 한번 씩 체중, 맥박, 수축기 혈압, 이완기 혈압 값에 대하여 연산된 데이터를 해시 테이블을 통해 데이터베이스에 저장하였다. 사전 클러스터링을 테스트하기 위해 수집된 25,326개의 체중, 맥박, 수축기혈압, 이완기혈압 등 4가지의 센서 데이터를 이용하여 모델링하였으며 BPNN 알고리즘의 효율성을 확인하기 위해 대표적인 비선형 데이터 분류 기법인 K-NN 알고리즘을 적용한 모델과 비교 분석하였다. 실험 데이터는 선형적인 관계가 아닌 실세계를 반영한 불규칙한 데이터를 사용했기 때문에 오차율을 측정해야 한다. 성능 평가를 위해 사용된 프로세서 보드는 Telos 플랫폼 계열이며 MSP430의 MCU와 CC256XQFNEM을 이용하여 성능 평가를 수행하였다. 본 논문의 성능 평가에서는 슬라이딩 윈도우의 크기 변화에 따른 오차율을 측정하였으며 성능 평가의 오차율 측정을 위해 식 1과 같이 RMSE(Root Mean Square Error)를 사용하였다.

REMS=1ni=1nyi-yi*2(1) 

본 논문에서의 성능 평가 실험은 각 스트림 데이터의 비율은 같고 윈도우 크기만 달리하여 오차율을 측정하였다. 표 2는 윈도우 크기에 따른 오차율 측정 결과이며 측정 결과 윈도우의 크기가 클수록 더 낮은 오차율을 보였다.

Error rate measurement result according to window size change

또한 본 논문에서 제안한 기법의 효율성을 평가하기 위해 K-NN 알고리즘과 BPNN 알고리즘을 비교분석하였다. 표 3표 4는 K-NN 알고리즘과 BPNN 알고리즘의 윈도우 크기 변화에 따른 정확도 결과를 나타낸다. K-NN 알고리즘의 경우 윈도우 크기가 5000일 때 0.850%으로 가장 높은 정확도를 보였으며 평균 정확도는 0.835%로 나타났다. BPNN 알고리즘의 경우 윈도우 크기가 3000일 때 0.879%로 가장 높은 정확도를 보였으며 평균 정확도는 0.859%로 나타났다. 이와 같이 K-NN 알고리즘의 평균 정확도보다 BPNN 알고리즘의 평균 정확도 높게 측정되어 본 논문에서 제안한 기법의 효율성을 검증하였다.

Accuracy results according to window size change (K-NN)

Accuracy results according to window size change (BPNN)

그림 5는 K-NN 알고리즘과 BPNN 알고리즘의 정확도 비교를 나타낸다.

Fig. 5

Accuracy comparison between K-NN and BPNN

본 논문에서 사용된 사물인터넷 환경에서의 스마트 헬스케어 시스템의 센서 데이터는 체중, 맥박, 혈압(수축기, 이완기) 4차원 데이터로써 처리 시간의 성능 평가를 위해 테스트 셋을 기반으로 1개부터 4개까지의 차원 테이블을 이용하여 처리 시간의 변화를 측정하였다.

그림 6은 센서 데이터를 처리하는 시간을 측정한 결과이다. Not Per-Clustering은 사전 클러스터링을 거치지 않고 센서를 통해 입력되는 모든 튜플을 적재하여 다차원 데이터를 처리한 결과이며 Per-Clustering은 BPNN 알고리즘을 이용하여 사전 클러스터링 후 해시 테이블을 이용하여 처리한 결과를 나타낸다. 메모리에 모든 튜플을 적재하여 연산을 수행하면 차원 테이블의 개수가 증가할수록 많은 메모리를 요구하여 트리 구축 및 검색 비용이 증가하지만, 본 논문에서 제안한 방식을 이용할 경우 해시 테이블만 메모리에 유지하면 되기 때문에 메모리의 사용량이 적고 연산이 빠르게 처리할 수 있다.

Fig. 6

Measurement result of sensor data processing time

본 논문에서 성능 평가에 사용된 유효한 데이터는 사물인터넷 환경에서의 스마트 헬스케어 모니터링 시스템에 이용하였다. 사물인터넷 환경에서의 스마트 헬스케어 모니터링 시스템은 스마트 폰에서 사용할 수 있도록 어플리케이션으로 구현하였으며, 설계한 어플리케이션은 표 5와 같은 개발 환경에서 구현하였다.

Application development environment

사물인터넷 환경에서의 스마트 헬스케어 모니터링 시스템은 센싱된 데이터의 분류 결과와 수치데이터를 시간별, 일자별로 모니터링 할 수 있는 항목과 각각 체중, 맥박, 수축기혈압, 이완기혈압의 변화를 볼 수 있는 그래프 항목으로 나누어진다. 그림 7은 스마트 헬스케어 모니터링 시스템 구현 결과이다.

Fig. 7

Smart healthcare monitoring system


Ⅴ. 결 론

사물인터넷 환경에서의 센서 데이터 처리는 정확하고 효율적인 에너지 관리가 필요하다. 센서 네트워크 기술의 발달과 사물인터넷 환경 구축이 실용화되면서 스마트 헬스케어 시스템에서 사용자의 각종 센서로 부터 측정된 무수한 스트림 데이터가 실시간으로 수집이 되고 있다. 스트림 데이터는 시간에 따라 데이터의 분포가 변화될 수 있고 짧은 시간에 많은 양의 데이터가 수집되기 때문에 효율적인 에너지 저장 및 관리가 필요하다. 이에 본 논문에서는 사물인터넷 환경에서의 스마트 헬스케어 시스템에 다수의 센서(체중, 맥박, 혈압 센서)를 배치하고 효율적인 입력 스트림 데이터를 처리하기 위해 슬라이딩 윈도우 기반으로 역전파 신경망(Back Propagation Neural Network) 알고리즘을 이용하여 사전 클러스터링한 후 요약된 정보를 해시 테이블을 이용하여 관리하는 처리 방식을 제안하였다. 또한 유효한 데이터는 사물인터넷 환경에서의 스마트 헬스케어 모니터링 시스템에 이용하였다.

본 논문에서 제안한 방식의 성능 평가를 위해 25,326개의 데이터 집합을 사용하여 튜플의 개수에 따라 윈도우 크기를 1000, 2000, 3000, 4000, 5000개로 분할하여 정확도를 측정하였다. 성능 평가 결과 윈도우 크기가 3000으로 분할하고 BPNN 알고리즘을 사용하였을 때 0.857로 가장 높은 정확도를 보였으며 K-NN 알고리즘의 평균 정확도 보다 BPNN 알고리즘의 평균 정확도가 높게 측정되어 BPNN 알고리즘의 성능이 더 좋은 것으로 나타나 본 논문에서 제안한 기법의 효율성을 검증하였다.

향후 연구 방향으로는 사물인터넷 환경에서의 센서 데이터 처리 시간을 고려한 보다 효율적인 알고리즘을 개발하고 시간의 흐름에 영향을 받는 데이터들의 처리를 위해 다양한 질의 처리에 대해 연구하고자 한다. 또한 사용자의 위치정보, 혈당, 체지방 등 다양한 생체 정보에 대한 효율적인 센서 데이터 처리 기법에 대해 연구하고자 한다.

Acknowledgments

이 논문은 2019학년도 조선대학교 학술연구비의 지원을 받아 연구되었음.

참고문헌

  • M. Z. Song, “A Study on Business Types of IoT-based Smarthome : Based on the Theory of Platform Typology,” The Journal of The Institute of Internet, Broadcasting and Communication, Vol. 16, No. 2, pp. 27-40, 2016. [https://doi.org/10.7236/JIIBC.2016.16.2.27]
  • K. H. Cho, IoT automatic management system based on sensor data identification algorithm. Master Thesis, Paichai University, 2017.
  • M. J. Lee, J. S. Lee and Y. S. Han, “Adaptive priority Queue-driven Task Scheduling for Sensor Data Processing in IoT Environments,” Journal of Korea Multimedia Society, Vol. 20, No. 9, pp. 1559-1566, 2017.
  • K. S. Yeo, M. C. Chian, T. C. W. Ng and D. A. Tuan, “ Internet of Things : Trends, challenges and applications,” in Proceeding of the 2014 International Symposium on Integrated Circuits(ISIC), Singapore, Singapore, 2014.
  • S. M. A. Akber, C. Lin, H. Chen, F. Zhang and H. Jin, “Exploring the impact of processing guarantees on performance of stream data processing,” in Proceeding of the 2017 IEEE 17th International Conference on Communication Technology(ICCT), Chengdu, China, 2017.
  • Shalini and S. K. Jain, “A comparative analysis of frequent pattern mining algorithms used for streaming data,” in Proceeding of the 2017 International Conference on Computing, Communication and Automation(ICCCA), Greater Noida, India, 2017. [https://doi.org/10.1109/CCAA.2017.8229809]
  • K. J. Kim, S. Y. Oh, and M. S. Lee, “Pattern Classification for IoT Stream Data using Convolutional Neural Networks,” Journal of KIISE, Vol. 35, No. 2, pp. 106-115, 2019.
  • B. H. Hwang, J. I. Kim, and J. Y. Park, “Causal Relations and Temporal Interval Relations from Multiple Streams with Multiple Events,” Journal of Digital Contents Society, Vol. 19, No. 12, pp. 2403-2414, 2018. [https://doi.org/10.9728/dcs.2018.19.12.2403]
  • S. Radhya, B. John G, A. M. Intizar, “Big data and stream processing platforms for Industry 4.0 requirements mapping for a predictive maintenance use case,” Journal of Manufacturing Systems, Vol. 54, pp. 138-151, 2020. [https://doi.org/10.1016/j.jmsy.2019.11.004]
  • A. Mukherjee, D. K. Jain, P. Goswami, Q. Xin, L. Yang, and J. P. C. Rodrigues, “Back Propagation Neural Network Based Cluster Head Identification in MIMO Sensor Networks for Intelligent Transportation Systems,” IEEE Access, Vol. 8, pp. 28524-28532, 2020. [https://doi.org/10.1109/ACCESS.2020.2971969]
  • B. O. P. Soepangkat, R. Norcahyo, B. Pramujati, and M. A. Wahid, “Multi-objective optimization in face milling process with cryogenic cooling using grey fuzzy analysis and BPNN-GA methods,” Engineering Computations, Vol. 36, No. 5, pp. 1542-1565, 2019. [https://doi.org/10.1108/EC-06-2018-0251]
  • S. A. Lee, J. H. Kim, S. H. Shin and S. B. Nam, “Implementation of Storage Manager to Maintain Efficiently Stream Data in Ubiquitous Sensor Networks,” Journal of the Institute of Electronics Engineers of Korea, Vol. 46, No. 3, pp.24-33, 2009.
  • J. S. Choi, “Reduction of Environmental Background Noise using Speech and Noise Recognition,” Journal of information and communication convergence engineering, Vol. 15, No. 4, pp. 817-822, 2011. [https://doi.org/10.6109/jkiice.2011.15.4.817]
  • Y. Kajitani, K. W. Hipel and A. I. Mcleod, “Forecasting nonlinear time series with feed-forward neural networks : a case study of Canadian lynx data,” Journal of FORECASTING, Vol. 24, No. 2, pp. 105-117, 2005. [https://doi.org/10.1002/for.940]
  • J. C. R. Whittington and R. Bogacz, “An Approximation of the Error Backpropagation Algorithm in a Predictive Coding Network with Local Hebbian Synaptic Plasticity,” Neural Computation, Vol. 29, No. 5, pp. 1229-1262, 2017. [https://doi.org/10.1162/NECO_a_00949]
  • J. W. Go, G. H. Han. H. B. Kim and C. H. Lee, “Multigradient: a new neural network learning algorithm for pattern classification,” IEEE Transactions on Geoscience and Remote Sensing, Vol. 39, No. 5. pp. 986-993, 2001. [https://doi.org/10.1109/36.921416]
  • F. He and N. Xiong, “Big data stream learning based on hybridized Kalman filter and backpropagation through time method,” in Proceeding of the 2017 13th International Conference on Natural Computation, Fuzzy Systems and Knowledge Discovery(ICNC-FSKD), Guilin, China, 2017.
  • A. Y. Kim, E. H. Jang and J. H. Sohn, “Classification of Negative Emotions based on Arousal Score and Physiological Signals using Neural Network,” Korean Society for Emotion and Sensibility, Vol. 21, No. 1, pp.177-186, 2018. [https://doi.org/10.14695/KJSOS.2018.21.1.177]
  • B. H Song, I. W. Oh and S. R. Lee, “Efficient Processing of Multidimensional Vessel USN Stream Data using Clustering Hash Table,” Journal of the Institute of Electronics Engineers of Korea, Vol. 47, No. 6, pp. 137-145, 2010.

저자소개

김태연(Tae-Yeun Kim)

2003년 : 조선대학교 일반대학원 전산통계(이학석사)

2015년 : 조선대학교 일반대학원 전산통계(이학박사)

2012년~2015년: 신한시스템즈(주) 연구소장

2012년~2017년: 광주보건대학교 겸임교수

2018년~현 재: 조선대학교 SW중심대학사업단 조교수

※관심분야:AI, Big Data, Emotion Technology, Iot

김성환(Sung-Hwan Kim)

2012년 : 호남대학교 일반대학원 호텔관광학과(경영학석사)

2019년 : 호남대학교 일반대학원 호텔관광학과(경영학박사)

2011년~2017년: ㈜마실코리아 대표이사

2012년~현 재: (재)지역문화교류호남재단 이사

2016년~현 재: (사)한국클라우드센트럴파크 교육분과위원 부회장

2017년~현 재: 조선대학교 SW중심대학사업단 산학협력중점교수

※관심분야:Biometrics, Big Data, VR/AR, Sensor Data Processing

안용덕(Yong-Duk Ahn)

1993년 : 조선대학교 교육대학원 체육교육전공(교육학석사)

2002년 : 조선대학교 일반대학원 체육학과(이학박사)

1997년~현 재: 한국체육교육학회 부회장

1998년~현 재: 한국스포츠학회 부회장

2020년~현 재: 조선대학교 미술체육대학 부학장

2005년~현 재: 조선대학교 체육학과 교수

※관심분야: Big Data. Needle Points, Authentication Protocol, Biometric Data Pattern Analysis

Fig. 1

Fig. 1
System configuration diagram

Fig. 2

Fig. 2
Packet configuration

Fig. 3

Fig. 3
Stream data processing

Fig. 4

Fig. 4
Configuration of hash table

Fig. 5

Fig. 5
Accuracy comparison between K-NN and BPNN

Fig. 6

Fig. 6
Measurement result of sensor data processing time

Fig. 7

Fig. 7
Smart healthcare monitoring system

Table 1.

Configuration of BPNN algorithm


 Number of data for learning : N
 ith (1 ≤ iN) learning dataset : Ii
 Ii1 : Body Weight, Ii2 : Pulse,
 Ii3 : Systolic Bloodpreessure, Ii4 : Diastolic BloodPressure
 step 1 : Initialize weights and counter
 step 2 : Set learning rate α and Emax
 step 3 : For each training pattern pair do
 Step 4∼10 until k = p
 step 4 : Compute output of hidden layer
 step 5 : Compute output
 step 6 : Compute output error
 step 7 : Compute error signal of output layer
 step 8 : Compute error signal of hidden layer
 step 9 : Update weights
 step 10 : Increase counter and goto Step 3
 step 11 : Test stop condition
 

Table 2.

Error rate measurement result according to window size change

Window Size Error Rate (%)
1000 2.56
2000 2.47
3000 2.18
4000 2.13
5000 1.91

Table 3.

Accuracy results according to window size change (K-NN)

Window Size Body Weight
(%)
Pulse
(%)
Systolic Blood Pressure
(%)
Diastolic Blood Pressure
(%)
Average
(%)
1000 0.891 0.779 0.801 0.821 0.823
2000 0.887 0.797 0.805 0.823 0.828
3000 0.895 0.798 0.822 0.809 0.831
4000 0.872 0.821 0.854 0.833 0.845
5000 0.923 0.815 0.827 0.835 0.850
Average 0.894 0.802 0.822 0.824 `0.835

Table 4.

Accuracy results according to window size change (BPNN)

Window Size Body Weight
(%)
Pulse
(%)
Systolic Blood Pressure
(%)
Diastolic Blood Pressure
(%)
Average
(%)
1000 0.889 0.823 0.826 0.842 0.845
2000 0.894 0.828 0.841 0.853 0.854
3000 0.937 0.845 0.876 0.858 0.879
4000 0.898 0.829 0.834 0.867 0.857
5000 0.901 0.830 0.841 0.877 0.862
Average 0.904 0.831 0.844 0.859 0.859

Table 5.

Application development environment

Divions Environment Specification
Hardware CPU i3-4330
Software Ram 8GB
Tools Android Studio
Photoshop
Illustrator