Posts List

[빅분기] PART1. 빅데이터 분석 기획 - 빅데이터의 이해 - 빅데이터 기술 및 제도 (출제빈도 : 상)

 * 본문은 이기적에서 발행한 빅데이터분석기사 수험서를 공부하면서 작성된 글입니다. 시험 대비한 공부로, 암기가 필요한 부분을 요약/정리합니다.

PART1. 빅데이터 분석 기획

1. 빅데이터의 이해

1-2. 빅데이터 기술 및 제도

1) 빅데이터 플랫폼 : 수집/저장/처리/분석 등 전과정을 통합적으로 제공하는 환경 (빅데이터 기술의 집합체)

* 등장 배경 및 빅데이터 플랫폼의 기능

  1) Biz. 요구사항 변화 (빠른 의사결정 속도 → 장기적이고 전략적인 접근) + 이를 지원하는 H/W 등장
  2) 데이터 규모와 처리 복잡도 증가 : 분산처리 불가피, 이를 제어할 고도의 기술 필요
  3) 데이터 구조의 변화와 신속성 요구 : 비정형 데이터 증가, 실시간 처리 요구 증가
  4) 데이터 분석 유연성 증대 : 기존 통계분석 외 AI 등 다양한 방법으로 다양한 데이터의 분석이 가능

* 빅데이터 플랫폼의 기능

  1) 컴퓨팅 부하(CPU/GPU/메모리)를 클러스터에서 효과적인 자원할당으로 제어
  2) 데이터 가공 단계로 인해 다양한 데이터가 파생되어 저장부하 발생 → File System / DB 성능향상 으로 제어
  3) 분산처리 시 노드(Node)간 통신 과정에서 발생하는 부하를 대역폭별로 효과적 분배하여 제어

* 빅데이터 플랫폼 Check List

  (For user)
  √ 주어진 문제를 해결하기에 충분한 요소들을 제공하는가?
  √ 편리한 환경(UI)를 제공하는가?

  (For provider)
  √ 성능 문제가 없도록 충분한 HW/SW 관리기능을 제공하는가?
  사용자 접속 / 인증 / 관리 기능을 제공하는가?
  √ 효율적 운영 위한 자원 관리 기능을 제공하는가?
  √ 서비스 품질 관리를 위한 각종 지표들을 충분히 제공하는가?
  √ 안전한 서비스 제공을 위해 보안적 요소를 갖추고 있는가?
  √ 플랫폼 도입으로 비용 절감을 이룰 수 있는가?

* 빅데이터 플랫폼의 구조


 1) 소프트웨어 계층 : App.으로구성, (데이터 수집/처리/분석/정제, 모니터링, 보안 등 Front end 개념)
 2) 플랫폼 계층 : App.을 실행하기 위한 플랫폼 (스케줄링, 자원 관리, 프로파일링 등)
 3) 인프라스트럭처 계층 : HW 배치, 관리, 네트워크 관리 등 자원을 제공

2) 빅데이터 처리 기술

* 처리 과정 : 데이터(생성) → 수집 → 저장(공유) → 처리 → 분석 → 시각화

 1) 생성 : DB나 파일시스템 등 원천데이터

 2) 수집 : 단순 수집이 아니라 검색 / 수집 / 변환 과정 모두 포함
  - 크롤링 : 분산 저장된(ex. Web) 문서를 수집하여 검색 대상의 색인으로 포함시키는 기술
  - 로그 수집기 : 조직 내부의 웹 서버나 시스템 로그를 수집하는 SW
  - 센서 네트워크
  - RSS Reader / Open API : 데이터의 생산/공유/참여 가능한 웹2.0 구현하는 기술
  - ETL : 추출(Extract)/변환(Transform)/적재(Load)의 약어, 원천데이터를 취합해 공ㅌ옹의 형식으로 변환하여 적재

 3) 저장 : 정형/반정형/비정형 데이터를 DBMS / Hadoop / NoSQL 등의 기술로 저장하고 공유
  - NoSQL(Not-only SQL)
   · RDBMS와 달리 데이터 모델을 단순화한 비관계형 데이터베이스. SQL사용하지 않음. 
   · RDBMS의 원자정(Atomicity), 일관성(Consistency), 독립성(Isolation), 지속성(Durability) 포기
   · Cloudata, Hbase, Cassandra, MongoDB 등이 대표적
  - 공유 데이터 시스템(Shared-data System)
   · 일관성, 가용성(Availability), 분할 내성(Partition Tolerance) 중 최대 2개의 속성만 보유(CAP이론)
   · 하나를 포기한 만큼 RDBMS보다 높은 성능과 확장성 제공
  - 병렬 DB 관리 프로그램(Parallel DB management System)
   · 다수 MCU사용해 여러 디스크에 질의/갱신/입출력 등 DB처리를 동시에 수행
   · 확장성 제공 위해 작은 단위의 동작으로 트랜잭션 적용 필요
   · VoltDB, SAP HANA, Vertica, Greenplum, Netezza 등이 대표적
  - 분산 파일 시스템
   · 네트워크로 공유된 여러 호스트의 파일에 접근하는 파일 시스템
   · 분산하여 처리하면 데이터 추출 및 가공시 빠른 속도 보장
   · GFS(Goole File System), HDFS(Hadoop Distributed File System), 아마존S3 등이 대표적
  - 네트워크 저장 시스템
   · 이기종 저장 장치를 하나의 데이터 서버에 연결하여총괄 관리하는 시스템
   · NAS(Network Attached storage), SAN(Storage Area Network) 등이 대표적

 4) 처리 : 분산병렬 및 인 메모리 방식으로 실시간 처리 (대표기술 : Hadoop의 MapReduce)
  - 분산 시스템 : 네트워크상 분산된 컴퓨터를 단일 시스템인 것처럼 구동하는 기술 (노드별로 독립적)
  - 병렬 시스템 : CPU등의 자원을 지역 통신 시스템으로 연결하여 구동하는 시스템
  ※ 서로 중첩되는 부분이 많아 실제로 두 개념을 아우르는 분산 병렬 컴퓨팅이란 용어를 사용함
  - 분산 병렬 컴퓨팅 : 다수의 독립된 컴퓨팅 자원을 네트워크상에 연결, 이를 제어하는 미들웨어를 이용해 하여 하나의 시스템으로 동작하게 하는 기술
  ※ 전체 작업의 배분을 컴퓨팅 능력에 따라 잘 해야 함. 
  ※ 서로다 다른 프로세서간 동기화를 위해 동기적 방법 / 비동기적 방법 중 택하여 적용해야 함.
  - 하둡(Hadoop) : 분산 처리 환경에서 대용량 데이터 처리 및 분석을 지원하는 오픈소스 프레임워크
   · 야후에서 최초 개발, 현재 아파치 소프트웨어 재단에서 관리중
   · HDFS(분산파일시스템) + Hbase(분산컬럼기반 DB) + 맵리듀스(분산컴퓨팅 지원 프레임워크) 로 구성
     ※ 맵리듀스(MapReduce) : 분산 병렬 데이터 처리 기술의 표준
   · HDFS에 저장된 대용량 데이터를 맵리듀스를 이용해 실시간으로 처리 및 분석 가능
   · 최근 하둡의 부족함을 메꾸는 하둡 에코시스템이 등장
  - 아파치 스파크(Apache Spark) : 실시간 분산형 컴퓨팅을 위해 In-memory 방식으로 처리하며 하둡보다 빠름
   · 스칼라 언어로 개발되었지만 java, R, Python 등을 지원
  - 맵리듀스(MapReduce) : 구글에서 개발한 대량 데이터를 신속히 처리하는 프로그래밍 모델
   · 런타임에서의 입력 데이터 분할, 작업 스케줄링, 노드 고장, 노드간 데이터 전송상업이 성능에 직결적임
   · Input → Split → Map Phase → Shuffle and Sort → Reduce Phase 로 알고리즘 구성되어있음
   (예제)
(각 원소의 개수를 MapReduce로 구하는 예)
균등히 분할(Split) → 원소-갯수(Mapping) → 같은 원소끼리 Shuffle → 중간 결과값을 축소(reduce)하여 개수를 구함

 5) 분석 : 통계분석 / 데이터마이닝 / 텍스트마이닝 / 기계학습 등으로 분석하여 Biz.에 기여
  [ 데이터 분석 방법 분류 ]
  - 탐구요인분석(EFA : Exploratory Factor Analysis) : 데이터간 상호관계 파악하는 방법으로 분석
  - 확인요인분석(CFA : Confirmatory      "        ) : 통계적 기법을 통해 데이터를 분석
  [ 데이터 분석 방법 ]
  - 분류 / 군집 / 기계학습 / 텍스트마이닝 / 웹마이닝 / 오피니언마이닝 / 리얼리티마이닝 / SNS분석 / 감성분석
    * 오피니언마이닝 ; 뉴스 및 SNS코멘트 등에서 의견을 추출, 분류, 이해하는 분야
    * 리얼리티마이닝 : 휴대폰 등 기기를 통해 인간관계와 행동양태 추론 (통화량, 통화위치 등 으로 행동특성 예측)
    * SNS분석 : 수학의 그래프 이론을 바탕으로 SNS 네트워크 연결 구조 및 강도를 분석, 사용자의 명성 및 영향력을 측정
    * 감성분석 : 문장의 의밀르 파악하여 긍정/부정/좋은/나뿜 등의 감정을 분석

 6) 시각화 : 처리 결과를 표 / 그래프 등으로 표현하여 Application화

3) 빅데이터와 인공지능

* 기계학습의 종류

 - 지도학습 (Supervised Learning) : 데이터로부터 하나의 함수를 도출하는 방법. 데이터에는 입력값과 목표치가 주어짐.
 - 비지도학습 (Unsupervised Learning) : 데이터가 어떻게 구성되었는지를 알아내는 방법. 입력값에 대한 목표치가 주어지지 않음. 
                                              통계의 밀도추정(Density Estimation)과 깊은 연관이 있음. 데이터의 주요 특징을 요약하고 설명할 수 있음.
   ※ 군집분석clustering : 텍스트 토핑 분석, 고객 세그멘테이션
      오토인코더AutoEncoder : 이상징후탐지, 노이즈제거, 텍스트 벡터화
      생성적적대신경망GAN(Generative Adversarial Network) : 시뮬레이션 데이터 생성, 누락 데이터 생성, 패턴 데이터 생성
 - 준지도학습 (Semi-supervised Learning) : 목표값이 표시된 데이터와 표시되지 않은 데이터 모두 학습하는 방법. 
   ※ 많은 연구자들이 목표값 없는 데이터에 소량의 목표값이 있는 데이터를 사용했을 때 상당히 좋아짐을 확인
 - 강화학습 (Reinforcement Learning) : 선택 가능한 행동 중 보상을 최대화하는 행동을 선택하는 방법. 
                                              탐색(exploration)과 이용(Exploitation)의 균형을 맞춤으로써 학습 과정(on-line)에서의 성능을 높이는 것이 Key.

* 기계학습의 진화

 - 전이학습(Transfer Learning) : 유사 분야로 학습된(pre-trained) 모델을 다른 문제를 해결하기 위해 사용하는 방법, 
                                      기존 모델(혹은 모형)에 적은양의 데이터를 추가학습시켜 좋은 결과를 얻을 수 있다.
 - BERT(Bidirectional Encoder Representations from Transformers) : 구글이 발표한 언어인식 사전학습 모형.

* 빅데이터와 인공지능의 관계

 - 딥러닝과 같이 복잡한(많은 파라미터를 가진) 모델을 위한 무한한 모수 추정(데이터) 필요
 - 데이터 확보 후, 알고리즘이 무엇을 학습하여야 하는지 알려주는 작업(Annotation)이 필요
 - Annotation을 전문으로 하는 기업 및 도구, 서비스 시장 증가

* AI 기술 동향

 - 기계학습 모형을 쉽고 빠르게 지원하기 위한 기계학습 프레임워크 보급 확대(ex. Tensorflow, Keras 등)
 - GAN(Generative Adversarial Networks) : 두 개의 신경망으로 구성된 딥러닝 이미지 생성 알고리즘
 - Auto-encoder : 라벨이 설정되어 있지 않은 학습데이터로부터 더욱 효율적인 코드로 표현하도록 하는 신경망
 - XAI(eXplainable AI) : 결론 도추 ㄹ과정에 대한 근거를 차트나 수치, 자연어 형태로 설명하는 분야
 - AutoML : 데이터 전처리, 변수 생성/선택, 알고리즘 선택, 하이퍼파라미터 최적화 등을 자동화하는 분야

4) 개인정보 개요

* 개인정보란?

 - '생존'하는 '개인'에 관한, 개인을 알아볼 수 있는 정보
 - 특정 개인을 알아볼 수 없더라도 다른 정보와 결합하여 알아볼 수 있는 정보를 포함
 예) 성명, 전화번호, 주소, 주민등록번호, 운전면허번호, 학번, 사번 등

* 개인정보의 처리 및 활용

 - 개인정보 「이전」 : 제3자에게 개인정보를 이전하거나 공동으으로 처리
 - 개인정보 처리위탁」 : 개인정보처리자의 업무를 처리할 목적으로 제3자에게 이전시키는 행위
    → 개인정보 '제공자'의 업무 처리 및 이익을 위한 경우
 - 개인정보 제3자 제공」 : 정보를 제공받는자의 고유한 업무를 처리할 목적으로 이전시키는 행위
    → 개인정보 '제공받는자'의 업무 처리 및 이익을 위한 경우 

* 개인정보 보호

 - 조직의 방침 + 개인정보보호범
 - 개인정보 외부 공개시, 가이드라인(방송통신위원회) 준수 혹은 관계기관/조직 내부 법무 가이드 준수
   * 비식별화 : 정보 및 이용내역을 비식별화(암호화) 조치하는 것
     투명성확보 : 비식별화 조치 후 정보 처리 사실, 출처, 거부권 등을 투명하게 공개
     재식별 시 조치 : 처리 과정에서 재식별 될경우 즉시 파기 및 추가 비식별화
     민감정보 및 비밀정보 처리 : 개인의 사상/신념/정치견해 목적의 수집/처리 금지 + 이메일, 문자 등 통신내용의 수집/분석 처리 금지
     기술적/관리적 보호조치 : 비식별화 조치가 취해진 정보의 저장/관리 시스템의 기술적/보호적 보호조치 필요

5) 개인정보 법·제도

* 개인정보보호법

 - 당사자 동의 없는 개인정보 수집/활용/제3자 제공을 금지하는 법률 (5년 이하 징역 or 5,000만원 이하 벌금)
 - 정보가 특정 개인을 알아보거나 다른 정보와 쉽게 결합할 수 있는가에 따라 결정
 - [처리위탁시] ① 내용이 기재된 문서에 의해 업무 위탁 필수, 
                 ② 업무 내용과 수탁자를 정보주체에게 방침 혹은 보기 쉬운장소에 게시
                 ③ 수탁자에 대한 교육 및 감독의 의무
                 ④ 손해배상책임에 대하여는 수탁자를 개인정보처리자의 소속 직원으로 판단
                 ⑤ 손해발생시, 정보주체의 손해배상 청구에 대해 위탁자가 책임을 질 수 있음
 - [제3자제공시] 정보주체로부터 개인정보 제3자 제공 동의 필수

* 정보통신망법 : 정보통신망 이용촉진 및 정보보호 등에 관한 법률

 - 동의 없이 개인정보 수집 / 제3자 제공 / 법정대리인 동의없이 만 14세 미만 개인정보 수집 / 악성프로그램 유포시 (5년 이하 징역 or 5,000만원 이하 벌금)
 - [처리위탁시] ① 처리위탁 하는 업무의 내용을 이용자에게 알리고 동의를 받아야 함
                 ② 단, 정보통신서비스 제공자는 계약이행, 이용자 편의증진 등을 위해 고지/동의 절차 생략하고 이용자에게 알리거나, 처리방침을 공개할 수 있음
                 ③ 제3자에게 데이터 분석 위탁시, 해당 서비스가 정보통신서비스 제공 계약 이행, 이용자 편의증진 위한 것인지 검토 필수

* 신용정보보호법 : 신용정보의 이용 및 보호에 관한 법률

 - 개인신용정보를 신용정보회사 등 제공하는 경우 서면 혹은 공인전자서명 있는 전자문서로 동의 필수
 - 신용정보주체는 본인에 관한 신용정보 제공시, 제공받은자/목적/주요내용 등을 통보하도록 요구하거나 인터넷 조회 요구 가능
 - 신용정보회사 등이 보유한 본인정보의 제공 또는 열람 및 정정을 청구할 수 있음
 - 개인신용정보의 범위 : 정보 주체 / 거래내용 / 신용도 / 신용거래능력 그 외 유사한 정보를 식별할 수 있는지 유무
 - [처리위탁시] ① 신용정보회사는 의뢰인의 동의를 받아 업무 범위 내에서 타회사에 신용정보 수집/조사 위탁 가능
                 ② 신용정보 처리 위탁시 금융위원회에 보고 필수
                 ③ 신용정보주체를 식별할 수 있는 정보 암호화 혹은 봉함의 보호 조치 + 분실/도난/유출/변조 훼손 방지 교육 연1회 필수
                 ④ 위탁계약 이행에 필요한 경우 정보주체의 동의를 받지 않아도 됨
 - [제3자제공시] ① 개인신용정보를 타인에게 제공하려는 경우 정보주체에 필수적 동의 + 선택적 동의를 구분하여 설명후 동의 필수
                  ② 기타 개인정보 제공시 개인정보보호법 적용

* 2020년 데이터 3법 개정 주요 내용

 (1) 개인정보보호법
  - 개인정보 관련 개념을 개인정보 / 가명정보 / 익명정보로 세분화
  - 가명정보를 통계 작성 연구, 공익적 기록보존 목적을 처리할 수 있도록 허용
  - 가명정보 이용시 안전장치 및 통제수단 필수
  - 개인정보 감독기관을 「개인정보보호위원회」로 일원화 (국무총리 소속 중앙행정기관)

 (2) 정보통신망법
  - 개인정보보호 관련 사항을 개인정보보호법으로 이관 (개인정보보호위원회)

 (3) 신용정보보호범
  - 가명정보 개념 도입해 빅데이터 분석 및 이용의 법적 근거 마련
  - 가명정보는 통계작성, 연구, 공익적 기록보존을 위해 동의 없이 이용, 제공 가능

6) 개인정보 비식별화

* 개인정보 비식별화 개요

 - 비식별 정보 : 「개인정보 비식별 조치 가이드라인」에 따라 적절히 비실벽 조치된 정보
 - 비식별 조치 ; 개인 식별 요소를 전부 혹은 일부 삭제하여 개인을 알아볼 수 없도록 하는 조치
 - 비식별 정보의 활용 : 개인정보가아닌 정보로 추정 → 별도 동의 없이 제3자 제공 가능 (불특정 다수에게 공개되는 경우 불가/금지)
 - 비식별 정보의 보호 : 개인정보는 아니지만 재식별될 가능성이 있음. → 재식별 될 경우 즉시 파기

* 개인정보 비식별화조치 가이드라인

 [사전검토] 개인정보 여부 검토후, 개인정보 아닌 것이 명백한 경우 법적 규제 없이 자유롭게 활용
 [비식별조치] 개인을 식별할 수 있는 요소를 전부 혹은 일부 삭제/대체하는 등으로 비식별 조치
  - 가명처리 : 주요 식별 요소를 다른 값으로 대체하는 방법
  - 총계처리 : 데이터 총합 값만 보여주고 개별 값을 보여주지 않는 방법
  - 데이터삭제 : 필요 없는 값 또는 개인식별에 중요한 값을 삭제 하는 방법
  - 데이터 범주화 ; 데이터를 범주의 형태로 변환하여 숨기는 방법
  - 데이터 마스킹 ; 개인정보 식별하는데 기여할 수 있는 주요 식별자를 보이지 않도록 처리하는 방법
 [적정성평가] 다른 정보와 결합하여 개인을 식별할 수 있는지 「비식별 조치 적정성 평가단」통해 평가
  - k-익명성, l-다양성, t-근접성 등의 툴로 평가
 [사후관리] 비식별 정보 안전조치, 재식별 가능성 모니터링 등 관리/기술적 보호조치

7) 개인정보 활용

* 데이터 수집의 위기 요인과 통제 방안

 ① 사생활 침해로 위기 발생 : 정보 수집 센서의 다양화 / 개인정보가치 상승 / 본래 목적 외로 가공되어 3차 목적으로 활용 / 사생활 침해 수준을 넘어 사회/경제적 위협으로 확대 가능성 있음

 ② 동의에서 책임으로 강화하여 통제 : 
  현황) 개인정보 본래 목적 외 가공/유통/활용되고 있음 + 개인이 매번 동의하기 어려우며 제적으로도 비효율
  개선) 개인정보 '사용자'가 책임을 지게하고, 개인정보 사용 주체가 익명화 같은 적극적인 보호장치 마련 필요

* 데이터 활용의 위기 요인과 통제 방안

 ① 책임원칙 훼손 
  현황) 분석 결과에 따라 특정 행위를 할 가능성이 높다는 이유만으로 처벌받는 것은 민주주의 사회 원칙 훼손 
        특정인이 특정 사회/경제적 집단에 속한다는 이유만으로 신용도 무관 대출이 거정되는 상황
  개선) 결과 기반 책임 원칙 고수
   - 기존의 책임 원칙을 강화 + 예측 결과로 불이익 당할 가능성 최소화
   - 제도 마련 + 알고리즘 기술적 완성도 향상

* 데이터 처리의 위기 요인과 통제 방안

 ① 데이터 오용으로 위기 발생
  - 빅데이터는 과거에 일어난 일이 기록된 데이터인데 이를 기반으로 미래를 예측하는 것은 항상 맞는 것은 아님
  - 빅데이터를 과신(잘못된 지표를 사용)하는 것은 오히려 과거 경험에 의존하는 것보다 잘못된 결론 도출

 ② 알고리즌 접근을 허용하여 통제
  - 알고리즘을 직접 검증할 수 있도록 한다
  - 알고리즘의 객관적 인증 방안을 마련 / 도입
  - 알고리즘의 부당함을 반증할 수 있는 방법 제시 요청
  - 알고리즘 해석 전문가(알고리즈미스트) 영입
 

댓글 쓰기

0 댓글