* 본문은 이기적에서 발행한 빅데이터분석기사 수험서를 공부하면서 작성된 글입니다. 시험 대비한 공부로, 암기가 필요한 부분을 요약/정리합니다.
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 관리기능을 제공하는가?
√ 사용자 접속 / 인증 / 관리 기능을 제공하는가?
√ 효율적 운영 위한 자원 관리 기능을 제공하는가?
√ 서비스 품질 관리를 위한 각종 지표들을 충분히 제공하는가?
√ 안전한 서비스 제공을 위해 보안적 요소를 갖추고 있는가?
√ 플랫폼 도입으로 비용 절감을 이룰 수 있는가?
* 빅데이터 플랫폼의 구조
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 댓글