읽記 (데이터 과학, IT 분야)/빅데이터 시스템 구축 가이드

[빅데이터] 6. 빅데이터를 통한 가치 창출, 데이터 분석 기술 (1)

Light Pillar 2022. 1. 25. 16:48

빅데이터를 통해 가치를 창출하는 분석 기술을 소개하고 있다. 빅데이터 분석은 전통적인 데이터 분석을 기반으로, 기존 정형 데이터 중심의 분석 기술보다 비정형 데이터 기반 기술이 더 쓰이고 대량의 데이터를 처리한다는 차이점이 있다.

 

웹 3.0을 이야기 하는 시대에 아직 웹 2.0 이라니... ㅡㅡ; 


1. 어떤 데이터 분석 기술을 활용하는가?

빅데이터 분석에는 곽 전통적 분석 기술과 웹 2.0, 클라우드 기술 등 모든 기술이 융합된 분석이 쓰인다.

여러 가지 분석 기술

시맨틱 웹(Semantic Web)  컴퓨터가 사람을 대신하여 정보를 읽고 이해하고 가공하여 새로운 정보를 만들어 낼 수 있는, 이해하기 쉬운 의미로 된 차세대 지능형 웹.

웹 2.0  모든 사람이 제공되는 데이터를 활용하여 다양한 신규 서비스를 생산해 낼 수 있는 플랫폼으로서의 웹(Web as Platform) 환경. 분산화되고 사용자 중심의 커뮤니티에 의존하는 동적인 열린 공간으로서의 웹이자 비즈니스 모델이다. 기존 웹에서는 포털 사이트처럼 서비스 업자가 제공하는 정보와 서비스를 일방적으로 수신만 하는 형태였으나 웹 2.0 환경에서는 제공되는 응용 프로그램과 데이터를 이용하여 사용자 스스로 새로운 서비스를 창출할 수 있도록 하고 있다. 웹 2.0의 대표적인 예를 들면, 구글이 제공하는 구글맵 응용 프로그램 인터페이스(API)를 개인 홈페이지에 연결하여 부동산이나 여행안내 사업을 하는 것을 들 수 있다. 
(한국정보통신기술협회, IT 용어사전)

 

2. 빅데이터 분석 기술의 기반 지식, 기계학습

기계학습이란

기계학습은 데이터를 이용해 컴퓨터에게 세상에 대한 접근 방법을 가르치는 것이다. 컴퓨터 과학, 통계학과 밀접한 연관이 있으며 다른 분야와도 관련이 있다. 가장 대표적인 분야가 데이터 마이닝이다. 기계학습은 입력된 데이터 집합을 통해 가장 알맞은 패턴을 찾으며 여기에 데이터 마이닝 기법을 많이 쓴다.

 

컴퓨터 과학에서는 프로그래밍의 입장으로, 컴퓨터가 경험과 몇몇 초기 구조로부터 스스로 프로그램을 할 수 있는 능력으로 본다. 통계학에서는 가정을 통한 신뢰성 중심의 모델로 접근하여, 효과적인 데이터 수집, 저장, 검색, 병합 등을 통한 컴퓨터 아키텍처와 알고리즘으로 본다.


기계학습은 다음과 같은 질문을 통해 근본적으로 접근할 수 있다.

  • 컴퓨터 시스템이 경험을 통해 개선하고, 학습 과정을 배울 수 있는 기본 원리는 무엇일까?

허버트 사이먼
(Herbert Simon, 의사결정 모델에 관한 이론으로 노벨 경제학상을 수상한 심리학자이자 경제학자, 인지과학자)에 의한 기게학습의 정의

  • 같은 작업이나 같은 영역 내의 비슷한 작업을 반복할 때, 처음보다 나중에 하는 작업 효율이 높아지도록 시스템을 변화시키는 것 (시스템을 개선해서 같거나 유사한 작업을 더 효율적으로 할 수 있도록 하는 것)

톰 미첼
(Tom M. Mitchel, 기계학습의 석학인 카네기 멜론 대학의 교수)의 기계학습

  • (작업 T, 측정할 수있는 성능 P, 경험 E) T의 P가 E에 의해서 향상된다면, 컴퓨터 프로그램이 E로부터 T에 관해서 학습한다고 말한다.

알고리즘 기반의 기계학습이 축적된 빅데이터와 만나면서 더 가치 있는 기술로 변했다. 비단 음성인식이나 번역뿐만이 아닌 기계학습과 빅데이터의 만남은 문자인식, 얼굴인식 등 그 활용 분야가 점점 커지고 있다.

 

기계학습 알고리즘

기계학습의 여러 알고리즘 유형

구분 내용
신경망
(Neural Network)
생명체의 신경조직을 본떠서 모델화하였으며, 외부로부터 받은 입력 데이터에 대한 동적 반응을 통해 출력을 얻는다.
데이터 마이닝
(Data Mining)
대량의 데이터에 숨겨진 새롭고 의미 있는 정보나 지식을 추출한다.
의사결정 트리
(Decision Tree)
관심 분야를 체계적으로 분류하여 트리 구조의 그래프로 표현한다.
유전자 알고리즘
(Generic Algorithm)
자연계 생물의 유전(Genetics)과 진화(Evolution) 메커니즘을 공학적으로 모델화하였다.
사례기반 추론
(Case Based Reasoning)
과거의 유사한 문제 해결 과정을 통해 새로운 문제에 접근하고 해결 방안을 찾는다
패턴 인식
(Pattern Recognition)
데이터에서 중요한 특징이나 속성을 추출하여 입력 데이터를 구별할 수 있게 분류한다.
강화학습
(Reinforcement Learning)
보상(Reward)을 통해 행동함으로써 지식을 키워나간다. 잘된 행동에 대한 칭찬과 잘못된 행동에 대한 벌은 이러한 대표적 사례이다.

 

기계학습의 알고리즘은 크게 지도학습(Supervised Learning)과 비지도 학습(Unsupervised Learning)으로 나뉜다.

지도학습은 기계학습을 통해 알고자 하는 것을 명시(Labeled Data)하고 이에 맞는 데이터 집합을 넣어 훈련한다. 레이블(Lable)은 최종 분류하고자 하는 클래스이다. 훈련된 기계는 예측모델을 만들어 새로운 데이터를 입력받는다. 기계는 학습된 내용을 기반으로 입력 데이터를 분류(Classification)한다. 이에 반해 비지도 학습은 입력 데이터에 대한 목표가 없다는게 특징이다. 비지도 학습의 예로는 클러스터링(Clustering), 연관성 규칙 등이 있다.

기계학습의 유형

지도학습은 처음에 훈련 데이터를 통해 기계에게 데이터에 대한 모든 것을 지도(Supervised)하여 기계가 학습하게 하는 방법이다. 지도학습은 한정된 데이터로 기계를 훈련해 예측 모델을 만든다. 이후 신규 데이터를 넣으면 기계는 목표에 맞게 처리한다. 지도학습은 지도 선생님의 능력에 따라 좋은 알고리즘이 결정되기에 훈련 데이터 질이 기계학습에 영향을 끼친다. 지도학습은 훈련된 데이터를 통해 Feature와 레이블 관계를 파악한다. 이후 실제 데이터를 입력받으면 이를 분류한다. 이때, 기계는 사전에 학습된 목표, 분류 방법, 특징 등 관련 사항을 통해 판단한다.

 

비지도 학습(Unsupervised Learning)자율학습으로 불린다. 비지도 학습은 지도(Supervised) 없이 스스로 하는 학습이다. 어떻게 보면 비지도 학습은 가장 인간의 두뇌와 비슷한 구조로 최근에 많이 쓰이고 있다. 비지도 학습은 기존의 레이블 없는 데이터를 통해 학습하고 신규 데이터를 처리한다. 비지도 학습은 어떤 데이터가 어떤 Feature를 가진 어느 레이블인지 알려주지 않는다. 데이터와 Feature를 분석하여 스스로 판단해야 한다.

 

빅데이터의 기계학습 Mahout

아파치 Mahout은 하둡 에코시스템에 포함된 MapReduce를 확장한 기계학습 알고리즘 라이브러리다. Mahout은 자바 라이브러리로 구성되며, 기존 알고리즘의 대용량 처리와 확정을 할 수 있다. 빅데이터가 HDFS에 저장되면, Mahout은 저장된 빅데이터 집합에서 자동으로 의미 있는 패턴을 찾는다.

 

Mahout의 지원 사항

구분 내용
Collaborative filtering 사용자 행동을 파악하여 제품 추천(고객의 구매정보나 이력을 보고 연관된 제품을 추천)
나와 비슷한 선호도를 가진 사람이 구매한 아이템 추천
Clustering 구체적인 특성을 공유하는 군집을 찾음.
군집화는 미리 정의된 특성에 대한 정보를 가지지 않는다는 점에서 분류와 다름
Classification(분류) 일정한 집단에 대한 정의를 통해 분류와 구분을 추론
(예; 경쟁자에게로 이탈한 고객)
Frequent itemset mining 장바구니 분석을 통해 장바구니에 어떤 물건과 함께 나타날 다른 물건을 예측 분석
(예; 기저귀를 사면 발진 크림을 산다)

 

Mahout의 아키텍처

 

Mahout 특징

구분 내용
규모의 확장성 규모의 확장성을 통해 처리가 용이
Dual-Mode 순차 처리와 MapReduce 처리가 가능
데이터 소스 신규 NoSQL 변수를 포함한 여러 데이터 소스 지원
자바 라이브러리 자바 기반의 Framework 툴
성능 성능 지향의 자바 Collection Framework 적용

 

추천 시스템의 주요 컴포넌트

구분 내용
Data Model 사용자 선호 정보의 접근 인터페이스 제공
User Similarity 사용자 간의 유사성을 파악하여 정의
User Neighborhood 주어진 사용자와 가장 유사한 이웃 그룹 추천
Recommender 모든 컴포넌트를 활용하여 사용자에게 아이템을 추천

 

타니모토 계수(Tanimoto Coefficient)

타니모토 계수는 두 집합 간의 유사도를 측정하는 지표로, a와 b의 유사도를 나타내는 타니모토 계수는 다음과 같다.

타니모토 계수는 0과 1 사이의 값을 가지며 1은 완전히 같다는 뜻이고 0은 전혀 유사성이 없다는 뜻이다. 타니모토 계수가 1에 가까울수록 유사성이 높다.

 


 

너무 오랜만에 다시 이어가는 것이라 갑자기 어렵게 느껴지고, 진도도 너무 더디게 나가네요.. ㅜㅜ;