공부 정리

빅데이터 처리 기술 — 수집부터 시각화까지

앞 글의 지식 창조 네 단계에 기술을 얹으면 이렇게 된다.

단계구간기술
공통화생성 · 수집DB, IT 시스템, 크롤링, ETL, 로그, 센서
표출화저장 · 처리NoSQL, 분산 파일시스템, 하둡, 스파크
연결화분석요인분석, 군집, 마이닝
내면화시각화BI, 대시보드

수집

크롤링, ETL, 로그 수집, 센서 네트워크, Open API, RSS 리더.

원천이 내부냐 외부냐로 갈린다. 내부는 이미 형식이 정해져 있어 ETL 로 끌어오면 되고, 외부는 형식을 우리가 못 정하므로 크롤링·API 로 받아서 맞춰야 한다.

저장

NoSQL — 관계형 DB 의 ACID(원자성·일관성·독립성·지속성)를 일부 포기하는 대신 확장성을 얻는다. 특히 즉시 일관성 대신 최종적 일관성을 택한다. Cloudata, HBase, Cassandra, MongoDB.

공유 데이터 스토어 — CAP 정리에 따라 일관성(Consistency)·가용성(Availability)·분할 내성(Partition tolerance) 중 하나를 포기한다. 분산 환경에서 P 는 버릴 수 없으므로 실제로는 C 와 A 사이의 선택이 된다.

병렬 DBMS — 다중 처리 장치로 질의와 I/O 를 동시에 처리한다. VoltDB, SAP HANA, Vertica, Greenplum, Netezza.

분산 파일시스템 — GoogleFS, HDFS, Amazon S3.

네트워크 스토리지 — SAN(Storage Area Network), NAS(Network Attached Storage).

처리

방식
분산 시스템네트워크 상의 여러 노드를 하나처럼 쓴다. 각 노드는 독립적이다
병렬 시스템작업을 쪼개 나눠 주고 동시에 처리한다
분산·병렬 컴퓨팅둘을 합친 것. 미들웨어가 중간을 맡는다

하둡은 대용량 데이터의 분산 처리 환경이다. 셋으로 나뉜다.

구성역할
HDFS분산 파일 저장
HBase분산 컬럼형 NoSQL DB
MapReduce분산 처리·분석

MapReduce 의 흐름은 Input → Split → Mapping → Shuffle → Reduce → Output 이다. Split 에서 쪼개고 Mapping 에서 각자 세고 Shuffle 에서 같은 키끼리 모은 뒤 Reduce 에서 합친다.

Apache Spark 는 실시간 분산 컴퓨팅 플랫폼이다. 중간 결과를 디스크가 아니라 메모리에 두는 In-memory 방식이라 하둡보다 빠르다. 반복 연산이 많은 머신러닝에서 차이가 크게 난다.

분석

요인분석은 두 갈래로 나뉜다.

무엇을 보는가
탐색적 요인분석(EFA)변수들 사이의 관계를 찾는다. 구조를 모르는 상태에서 시작
확인적 요인분석(CFA)미리 세운 구조가 맞는지 확인한다

방법으로는 분류, 군집, 기계학습, 텍스트 마이닝, 웹 마이닝, 오피니언 마이닝(댓글), 리얼리티 마이닝(관계·행동), 감성분석, 소셜네트워크 분석이 있다.

그 위의 AI

머신러닝의 네 갈래

갈래목표(정답)의 유무푸는 문제
지도학습 SL있다분류 · 회귀
준지도학습 SSL일부만 있다비지도보다 성능이 좋다
비지도학습 USL없다군집, 오토인코더, 생성적 적대 신경망
강화학습 RL보상으로 대신한다선택에 대한 보상을 최적화 (행동심리 기반)

정답이 “있다 / 일부 / 없다 / 보상으로 준다” 네 칸으로 갈린다고 보면 외울 것이 없다.

딥러닝

깊은 구조로 엄청난 양의 데이터를 학습한다는 것이 특징이다.

약어이름
DBNDeep Belief Network
LSTMLong Short-Term Memory
RNNRecurrent Neural Network
CNNConvolutional Neural Network
DQNDeep Q-Network
Auto-encoder

기술 동향

  • 전이 학습 — 이미 학습된 모형을 다른 문제에 옮겨 쓴다. 그 위에 사전 학습 모형이 얹힌다.
  • BERT (Bidirectional Encoder Representations from Transformers) — 양방향으로 문맥을 읽는 인코더. 언어 이해 과제의 판을 바꿨다.
  • GAN — 생성적 적대 신경망. 만드는 쪽과 가려내는 쪽을 경쟁시킨다.
  • Auto-encoder — 입력을 저차원으로 압축했다가 다시 복원한다.
  • XAI — 설명 가능한 AI.
  • AutoML — 모델 선택과 하이퍼파라미터 탐색을 자동화한다.
  • 프레임워크는 TensorFlow(구글), Keras.

데이터 확보가 병목이다

빅데이터를 모은 다음에는 주석 처리(애노테이션) 가 남는다. 이건 사람 손으로 하는 노동 집약적 작업이고, 여기서 나온 양질의 데이터가 AI 성능을 좌우한다. 모델 구조를 바꾸는 것보다 라벨을 다시 다는 쪽이 성능을 더 올리는 경우가 많다.


← 목록으로