[AIoT] AIoT 기술 - 빅데이터와 AI

    출처: https://www.orange-business.com/

    데이터 처리

    데이터란?

    데이터는 크게 2가지로 정의할 수 있습니다.
    여기서 디지털이란 컴퓨터 데이터를 의미하는데, 사람은 직접적으로 제감하지는 못해요.

    현실: 사람은 세상의 여러 현상들을 눈으로 보고 체감하는 등의 오감을 통해 뇌로 전달하는 데이터
    디지털: 컴퓨터가 알아먹는 데이터

    AIoT에게 데이터는 시스템의 구축이 목적이 아니라 구성으로 취급해 최종적으로 서비스를 제공하는 것이 목표입니다.
    일반적으로 데이터를 특정 용도를 위해 가공해서 사용합니다.
    빅데이터는 데이터 처리, 데이터 분석은 지능형 시스템에 가까워요.

    데이터 모델링과 데이터 모델

    데이터 모델은 모델링된 데이터를 표현하는 도구입니다.
    데이터 모델링은 현실 세계의 데이터를 컴퓨터 데이터로 옮기는 과정을 의미해요.
    데이터는 추상화를 통해 정의합니다.
    이때 사람마다, 시스템마다 다르게 추상화를 정의할 수 있어서 데이터 표준화가 필요합니다.
    데이터 표준화란 어떤 객체에 대한 추상화를 같게 하는 것이죠.


    센서 데이터

    말 그대로 센서를 이용해 수집한 데이터를 의미합니다.
    센서데이터에 대한 고려 사항은 "센서 데이터의 모델링"(DSP)와 "센서 데이터 전송 방법"(통신)이 있습니다.
    센서 데이터는 대부분 DSP(Digital Signal Processing)의 기본 원칙을 이용해서 모델링합니다.
    센서에 대한 고려사항은 어떤 것들이 있을까요?
    "센싱의 목적(진동 신호 수집)", "센싱 방법(기계에 접촉해 수집)", "센서의 동작 조건(동작 시간과 환경)"이 있어요.

    통계와 분석

    데이터를 말하는데 자주 나오는 용어들을 소개하겠습니다.
    통계는 데이터를 특징하기 위한 계산이죠. 이는 정적인(static) 요소입니다.
    최근에는 통계에만 의존하기 어려운 경우가 많다고해요.
    예를 들면 양극화된 데이터에 평균이라는 통계치를 적용하는 경우입니다.
    분석은 데이터의 특징을 정의해요. 일반적으로 통계를 기반으로 분석하죠.
    분석은 동적인(dynamic) 요소입니다.
    통계 분석에는 여러 종류들이 있어요.
    주로 이런 방식들만으로 분석하기 어려운 경우에 AI를 활용하면 효과적입니다.

    기술통계라는 용어도 있습니다.
    연속형 자료들의 평균, 표준편차등을 계산하기 위한 기초통계분석을 의미하죠.
    Data Mining은 대량의 데이터로부터 새롭고 의미있는 정보를 추출해 의사결정에 활용하는 작업입니다.
    (Mining은 광물을 캔다는 뜻을 가지고 있죠.)
    Data Mining의 개본 개념은 새로운 것이 아니라 AI의 Machine Learning 이론에 그 뿌리를 두고 있습니다.
    갈수록 늘어가는 데이터 중에서 불필요한 데이터를 걸러내고, 관련있는 정보를 파악하기 위해 중요한 작업입니다.


    AI Platform

    정의

    수집된 Data를 분석하고 판단하는 기능을 담당하는 Platform을 의미해요.
    Data분석과 AI는 기술적으로 독립된 영역이지만 데이터 처리 프로세스 과정에서 서로 밀접한 관계가 있습니다.
    둘 다 AI Platform의 핵심 Core Module이죠.

    AI - Machine Learning

    Machine Learning의 알고리즘에 대해 간단히 소개하겠습니다.
    알고리즘에 대해 보다 자세한 내용은 "AI의 이론"카테고리(링크)를 참고하세요.
    또한 머신러닝에 대해 깔끔하게 설명한 사이트(링크)도 참고하시면 도움이 될거에요.

    알고리즘

    출처: https://vas3k.com/blog/machine_learning/

    Machine Learning 알고리즘은 4가지로 분류할 수 있어요.

    • Supevised Learning: 데이터에 미리 알고 있는 Label이 있는 경우
      • 회귀(Regression)
      • 분류(Classification)
      • Label을 가진 데이터를 구하기 어려우며 비용이 많이 발생하는 단점이 있습니다.
    • Unsupervised Learning: 데이터가 Label을 가지고 있지 않은 경우
      • 군집 (Clustering)
      • K Means
      • 주로 데이터의 숨겨진 특징(feature)나 구조를 발견하는데 사용합니다.
      • Supervised Learning에 비해 학습 효율이 떨어지는 단점이 있어요.
    • Semi-Supervised Learning: Label이 있는 경우와 없는 경우 혼합
    • Reinforcement Learning: 최종 결과가 바로 나오지 않고 시간이 지나야 나오는 경우
      • Machine Learning의 꽃 
      • 분류할 수 있는 데이터가 존재하는 것도 아니고, 데이터가 있어도 정답이 따로 정해져 있지 않습니다.
        무언가를 학습하고 그 결과로 오는 보상(reward)보상을 최대화 할 수 있게 만든 학습 방식입니다.
      • 딥러닝의 등장과 함께 신경망이 적용되면서 활발하게 활용되고 있습니다.
        가장 유명한 예로는 Alphago가 있습니다.

    데이터

    Machine Learning을 통해 모델을 만들어내는 과정에 사용되는 데이터는 3가지로 분류할 수 있어요.
    전체 Data를 나눠서 사용해요.
    그 비율은 "Train : Validation : Test = 60 : 20 : 20"이 일반적입니다.

    출처: https://modern-manual.tistory.com/19

    • 학습 데이터(Train Data): 학습을 위해 사용하는 Data입니다.
    • 검증 데이터(Validation Data): 학습을 통해 만들어진 여러 모델들의 성능을 측정합니다. (모델을 선택하는 데이터죠.)
    • 테스트 데이터(Test Data): 검증을 통해 선택된 모델이 정말 사용할 수 있는지 최종 테스트하는 Data입니다.

     

    모델 표현 방법

    모델을 표현하는 방법은 굉장히 많지만 몇가지만 소개할게요.

    • Decision Tree(의사결정 트리)
    • Perceptron(ANN, Artificail Neural Network, 인공 신경망)
      • Deep Learning에 가장 기본이 됩니다.
      • Fully connected network로도 불려요.
    • KNN(K-Nearest Neighbor)
    • SVM(Support Vector Machine)

     

    모델 평가 방법

    모델의 평가는 어떻게 할까요? 물론 평가를 위한 지표들이 있습니다.
    각 모델의 특성에 맞는 지표를 활용해야 하고, 한가지 지표에만 의존하면 오류의 확률이 높아서 조심해야 합니다.
    (특히 Accuracy에 속지 마세요^^)

    • Squared Error
      • Error(Label의 값과 모델의 예측값의 차)의 제곱의 합
    • Accuracy
      • 정답인 Test Data 수 ÷ 전체 Test Data 수
      • 맹신하면 Overfitting의 함정에 빠져 Inference가 좋지 않을 수 있어요.
    • Precision & Recall
      • Precision: 전체 검색 결과에서 원하는 검색 결과 개수
      • Recall: 원하는 전체 검색 결과수에서 실제 검색 결과수
    • Entropy
      • 정답 Label에 대한 확률 P(y)와 예측한 결과값에 대한 확률 P(y`)간의 거리 측정

    여기까지 "AI Platform과 AI, 특히 Machine Learning"에 대해 알아봤어요.
    글이 도움이 되셨다면 공감 버튼 눌러주세요. 😊

    댓글

    Designed by JB FACTORY