병렬소프트웨어설계 Han-joon Kim

Slides:



Advertisements
Similar presentations
SPEAKER VERIFICATION SYSTEMS 대화형 사용자 인터페이스 개론 정보와 추론 연구실.
Advertisements

Number Recognizer. Team 이성우 컴퓨터소프트웨어학과 조윤성 전자통신공학과
이혁재 /KASA NoSQL. 요약 NoSQL 소개 데이타베이스 관련 문서 대상 : 클라이언트 프로그래머 NoSQL 소개 데이타베이스 관련 문서 대상 : 클라이언트 프로그래머.
텍스트 마이닝을 활용한 신문사에 따른 내용 및 논조 차이점 분석 연세대학교 문헌정보학과 송민
WCL 이민학 Big Data & Hadoop.
Big Data Chap 3. I. VBRE(Value-Based RE) II. Requirement Prioritization III. AHP(Analytical Hierarchy Process) IV. Requirement Negotiation Q & A.
빅데이터란 ? 1. 빅데이터에 관한 잘못된 상식 빅데이터는 용량과 규모가 매우 큰 데이터를 말한다. 2.
Big Data & Hadoop. 1. Data Type by Sectors Expected Value using Big Data.
Association Rule Sequential Pattern Classification Clustering Data Mining A B C D 2.
What Opinion mining? Abstract 이 논문에서는... 1.Different granularity levels (word, sentence, document) 2. Discussion about terms of challenges 3. Discussion.
Chapter 8. TEXT CLUSTERING 서울시립대 전자전기컴퓨터공학과 데이터마이닝 연구실 G 노준호.
컴퓨터와 인터넷.
7장 텍스트의 처리 7.1. 자연어 처리의 개요 자연어 처리의 중요성 자연어 처리의 기반 기술
연관규칙기법과 분류모형을 결합한 상품 추천 시스템:
Introduction to Data Mining
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
Chapter 2 정보시스템 아키텍처 (IS Architecture)
소프트웨어시스템 실습 머신러닝 Machine Learning (1) 학기.
[별첨] 특허 DB 구축 및 토픽 모델링 수행 과정 Flowchart, File List
의사 결정 트리(decision tree)
뇌를 자극하는 Windows Server 2012 R2
(Classification – Advanced Techniques)
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
연관분석 (Association).
신호처리 실험 (Signal Processing Lab)
Introduction to Data Mining
Machine Learning Network Data Science Lab Seunghun Lee, KangHee Lee
컴퓨터 프로그래밍 기초 [Final] 기말고사
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
제4장 자연언어처리, 인공지능, 기계학습.
Hybrid INDIGO project 중간보고
데이터마이닝의 소개 Data Mining Introduction
12. 데이터베이스 설계.
Learning Classifier using DNA Bagging
데이터 마이닝 - 강의 개요 년 가을학기 강원대학교 컴퓨터과학전공 문양세.
Korea University of Technology and Education Hongyeon Kim
Number Recognizer.
Introduction to Big Data, Summer, 2013
컴퓨터과학 전공탐색 배상원.
Cluster Analysis (군집 분석)
HDFS와 대용량 데이터 처리 콘텐츠서비스연구팀 최완.
운영체제 (Operating Systems)
PySpark Review 박영택.
~27 윤형기 Python 프로그래밍 (보충) ~27 윤형기
빅데이터 연구회 6주차 발표 주제 : 서포트 벡터 머신 통계학과 서태석.
Data Mining Final Project
자료구조(SCSC) Data Structures
군집 분석.
군집분석 (Cluster analysis)
SAS Statistical Analysis System 통계패키지 실습 (2011년 1학기)
정보 추출기술 (Data Mining Techniques ) : An Overview
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
컴퓨터소프트웨어설계및실험 년 1학기 실험계획 -.
DataScience Lab. 박사과정 김희찬 (목)
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
소프트웨어시스템 실습 머신러닝(2) 학기.
BIC 사례 1 연관규칙과 분류모형을 결합한 상품 추천 시스템: G 인터넷 쇼핑몰 사례
졸업 요건 충족을 위한 추가 이수 학점에 대해서는 ‘졸업요건‘ 규정 확인 바람
데이터 마이닝 - 강의 개요 년 가을학기 강원대학교 컴퓨터과학전공 문양세.
정보처리학회논문지 B 제10-B권 제1호(2003.2) 김만선, 이상용
0801 Workshop.
Data Analytics for Healthcare
공학도를 위한 C언어 프로그래밍실습1 -통합개발환경 사용법-
K Nearest Neighbor.
Advanced Data Analytics 데이터분석 전문가
텍스트 분석 ㈜ 퀀트랩.
Bug Localization Based on Code Change Histories and Bug Reports
.Net FrameWork for Web2.0 한석수
학부 컴퓨터공학부 교육과정 (학부) 2학년 4학년 3학년 1학년 1학기 2학기 IPP 자격과정 전공트랙
Text Clustering G 조한얼.
Presentation transcript:

병렬소프트웨어설계 2015. 3 Han-joon Kim Data Mining Lab., Univ. of Seoul, Copyright ® 2015

강의 목표 빅데이터 처리/분석를 위한 병렬처리 프로그래밍 프레임워크인 Hadoop MapReduce 알고리즘 설계 방식을 학습 Text Mining 기술 학습 포함 MapReduce 기반 Machine Learning 기법의 최근 연구 내용을 학습

강의 홈페이지 http://datamining.uos.ac.kr

본 강의의 키워드 Parallel processing Text Mining Big Data Analysis Tool Hadoop, MapReduce Text Mining Machine Learning Text Analysis Big Data Analysis Tool R RHadoop = rhdfs+rmr+rhbase

R Data analysis framework Programming language 데이터 입출력/처리/관리/계산/분석/그래픽 관련 라이브러리의 집합체 Programming language Open-source software project Data analysis community 2백 만명 이상의 users 다양한 도메인의 분석, 도움말, 리소스 등의 교환

Rstudio : R 통합개발환경

R의 기본 사이트 http://www.r-project.org/ http://cran.r-project.org/ http://www.rstudio.com/

Hadoop Hadoop (Apache) Hadoop의 주요 구성 요소 컴퓨터 클러스터에서 대용량 자료의 분산처리를 지원하는 자바 소프트웨어 프레임워크 텍스트 검색 라이브러리 Apache Lucene 창시자인 Doug Cutting에 의해 시작 본래 Nutch의 분산 처리를 지원하기 위해 개발 HDFS + MapRecduce HDFS: 분산처리 시스템인 구글 파일 시스템을 대체 Hadoop의 주요 구성 요소 HDFS (Hadoop Distributed File System) MapReduce

HDFS 컴퓨터 클러스터에서 대용량 데이터를 저장하기 위한 분산 파일 시스템 Google의 파일시스템기술기반  Hadoop Distributed FS(Apache) 동국대학교 응용통계학과 서울시립대학교

Hadoop Architecture

If I want to find the most frequency words… Million articles Million articles Million articles Million articles

Hadoop: Word Count Example

HDFS (Hadoop Distributed File System)

MapReduce Input K1,V1 map K2,V2 reduce K3,V3 output

MapReduce 대용량 데이터를 빠르고 안전하게 처리하기 위한 분산 프로그래밍 모델 대용량 데이터를 빠르고 안전하게 처리하기 위한 분산 프로그래밍 모델 HDFS 데이터에 대한 병렬 연산을 지원 (Divide & Recombine) 병렬연산은 Map 함수와 Reduce 함수를 통해 구현 동국대학교 응용통계학과 서울시립대학교

MapReduce

Problems Map-reduce can resolve Files are very large. Files are rarely updated. Reduce function should be associative (결합법칙) and commutative (교환법칙).

빅데이터 처리관련 패키지 RHIPE(Saptarhis Guha, 2010, 2013) R and Hadoop Integrated Processing Environment Google protocol buffer: HDFS files ↔ R객체로 변환 R콘솔에서 job status tracking 가능 RHadoop(REvolution Analytics, 2011) rmr: MapReduce 관련 함수 제공 rhdf: HDFS 파일 관리를 위한 함수 제공 rhbase: 분산 데이터베이스인 HBase를 지원하는 함수 제공 동국대학교 응용통계학과 서울시립대학교

Google protocol buffer RHIPE 작동원리 RHIPE - Map/Reduce script - Data object Google protocol buffer 동국대학교 응용통계학과 서울시립대학교

RHIPE 특징 Work directly on HDFS files in R - Google protocol buffer: HDFS files ↔ R객체로 변환 Write MapReduce in R and execute it on Hadoop Provide inter-operability with other languages Must be installed on all data nodes 서울시립대학교 동국대학교 응용통계학과

Rhipe / HDFS Function Description rhdel(folders) Delete HDFS files rhls(path) List HDFS files in a specified path rhget(src, dest) Copying from the HDFS (moves files from the HDFS) to a local directory rhcp(src, dest) Copy files (or folders) on the HDFS rhwrite(list, dest) Write R object of list type to HDFS with sequence format rhread(files) Read key/value pairs from the HDFS rhgetkey(keys, path) Get value associated with a key in a map file 동국대학교 응용통계학과 서울시립대학교

RHadoop RHadoop (REvolution Analytics) rmr: MapReduce 관련 함수 제공 rhdf: HDFS 파일 관리를 위한 함수 제공 rhbase: 분산 데이터베이스인 HBase를 지원하는 함수 제공

RHadoop

RHadoop – word count

RHadoop – word count

RHadoop – word count

Rhadoop – word count

교재 Data-Intensive Text Processing with MapReduce, Jimmy Lin and Chris Dyer, 2013 MapReduce Design Patterns, Donald Miner and Adam Shook, 2012 Big Data Analytics with R and Hadoop, Vignesh Prajapati, 2013 Machine Learning with MapReduce 최신 논문

Textbook 1: Data-Intensive Text Processing with MapReduce

Textbook 2: MapReduce Design Patterns

Textbook 2: MapReduce Design Patterns

Textbook 3: Big Data Analytics with R and Hadoop

Textbook 3: Big Data Analytics with R and Hadoop

Textbook 3: Big Data Analytics with R and Hadoop

Textbook 3: Big Data Analytics with R and Hadoop

Machine Learning & Text Mining Data Mining Lab., Univ. of Seoul, Copyright ® 2011

Machine Learning Algorithms Supervisor가 개입 Classification technology 좁은 의미의 ML Supervised learning Supervision이 없음 clustering, association analysis Unsupervised learning Data Mining Lab., Univ. of Seoul, Copyright ® 2013

Machine Learning 기본 목적 기계학습 (machine learning) 패러다임 물리, 수학, 천문학 빅데이터 분석 대자연, 우주를 형성, 지배하는 법칙 만유인력 법칙 상대성 이론 케플러 법칙 ... 빅데이터를 형성, 지배하는 법칙

Machine Learning 기본 목적 추상화 (abstraction) 일반화 (generalization) 모델, 패턴

빅데이터 분석 이론적 토대: Machine Learning (기계학습) 감독형 학습 (Supervised Learning) 자동분류 (Classification) => 예측 모델 (Prediction model)의 도출 비감독형 학습 (Unsupervised Learning) 클러스터링 (Clustering), 연관규칙 마이닝 (Association) => 설명 모델 (Description model)의 도출

자동분류 Classification

자동분류 Classification 학습 알고리즘에 따라 예측(분류) 모델 형태가 다름 k-Nearest Neighbors Support Vector Machine Statistics (ex) Bayesian Network Decision Trees Neural Network

자동분류: Obama vs. Romney 누구의 연설문인가? ? ?

자동분류: high vs. low 관광지에서 지출규모는? Low-spender ? ? High-spender

Classification Process Pattern, Model (Intelligence) 학습 데이터 未知 데이터 Least loyal profitable common 과거 데이타 미래 예측 Data Mining Lab., Univ. of Seoul, Copyright ® 2008

자동분류: 1단계 학습 (learning) 학습데이터 집합 (training data) = {기 분류문서} 분류모델 (classification model)

자동분류: 2단계 분류 (classification) 분류모델 (classification model) 미 분류 문서

자동 분류 Classification Decision Tree Support Vector Machine Bayesian Statistics Naïve Bayes Bayesian Networks Instance-based Learning K-Nearest Neighbor Neural Networks Meta-learning Ensemble (Committee): Bagging, Boosting Expectation-Maximization (EM)

학습 알고리즘: Decision Tree 학습 데이터 분류 모델 Credit Analysis 학습 레이블 (클래스) accept reject salary < 20000 no yes Education in graduate 학습 레이블 (클래스) 학습 데이터 분류 모델

학습 알고리즘: Support Vector Machine 경계직선(w  x + b = 0) 기준으로 학습데이터의 값이 양수인 영역과 음 수인 영역으로 나눠짐 양/음 영역의 support vector 간 거리(즉, margin)값을 최대로 하는 W, b 값을 학습 과정을 통해 추정함

학습 알고리즘: Support Vector Machine 선형적으로 불가능한 문제 Kernel 함수를 통해 선형적으로 가능한 공간(차원 확장)으로 매핑

학습 알고리즘: Naïve Bayes Pr(c|d)를 가장 크게 하는 카테고리 c는 ? ci cj ck 문서 d 추정 확률분포

학습 알고리즘: k-Nearest Neighbors + - - 학습 데이터 ? - + - + - 미분류 데이터 Voting 적용 다른 Decision tree, SVM, Naive Bayes 와 같은 명시적 분류 모델을 만들지 않음 테스팅 단계에서 각 ‘테스트’ 데이터와 학습데이터들간의 ‘거리’ 값을 계산 Lazy Learning

학습 알고리즘: Neural Networks Learning Data Mining Lab., Univ. of Seoul, Copyright ® 2008

학습 알고리즘: meta-learning ② 각 학습데이터를 가지고 예측모델을 생성 (machine learning 학습알고리즘) ③ 생성된 예측모델을 종합한 예측모델을 생성 (관련기술: Bagging, Boosting 메타 학습알고리즘)

Regression vs. Classification 주어진 데이터에 대한 “연속형 수치 데이터(continuous numeric data)” 의 예측 예: 직원 임금, 고객 가치, 키에 따른 몸무게 Classification 범주화 주어진 데이터에 대한 “카테고리(category)” 또는 “카테고리의 소속 확 률”의 예측

군집분석 Clustering

군집분석 Clustering 여행을 즐기는 직장인 골프를 즐기는 부자 노년층

Data Mining Lab., Univ. of Seoul, Copyright ® 2008 Clustering의 용도 Summarization of large data Understand the large customer data Data organization Manage the large customer data Outlier detection Find unusual customer data Classification/Association Rule Mining의 전 단계 Data Mining Lab., Univ. of Seoul, Copyright ® 2008

Data Mining Lab., Univ. of Seoul, Copyright ® 2008 Clustering의 용도 Classification의 전 단계 의미 있는 cluster로부터 class를 도출 Association mining의 전 단계 Cluster 내부의 데이터에 대하여 association mining을 수행 Data Mining Lab., Univ. of Seoul, Copyright ® 2008

질의Data Mining Lab., Univ. of Seoul, Copyright ® 2008 Clustering의 용도 정보 검색 Information Retrieval 관련 관련 문서의 검색에 응용 검색 결과의 재구조화 새로운 문서 카테고리 또는 주제의 발견 질의 한 cluster내에 존재하는 문서는 “relevant” 문서 질의Data Mining Lab., Univ. of Seoul, Copyright ® 2008

Clustering의 용도: 검색결과의 재구조화 Clusty.com vivisimo incorp. Data Mining Lab., Univ. of Seoul, Copyright ® 2008

Data Mining Lab., Univ. of Seoul, Copyright ® 2008 Clustering의 용도: 카테고리 탐지 Manual Automatic Entertainment (Yahoo) Comic&Animation Movie&Film Film Festival FilmMaking Animatoin Computer Animation Anime Comic Books Editorial Cartoons Magazine Comic Strip News&Media Short Films Screen Writing Animated Gifs Conventions Cartoonist Review Magna History Data Mining Lab., Univ. of Seoul, Copyright ® 2008

군집분석 알고리즘의 유형 거리함수(distance function) 기반 밀도(density) 기반 계층형 평면형 Hierarchical clustering Complete-linkage Single-linkage Centroid-linkage Average-linkage Ward’s method 평면형 Partitional clustering k-means k-medoids 밀도(density) 기반 DBScan

거리함수 Euclidean 거리함수 Manhattan 거리함수 Minkowski 거리함수

Data Mining Lab., Univ. of Seoul, Copyright ® 2008 계층형 clustering a b c d e a b c d e d e a b c d e 4step 3step 2step 1step 0step Data Mining Lab., Univ. of Seoul, Copyright ® 2008

계층형 clustering Ward’s method Sum of Square Error (SSE) 계산

평면형 Clustering: k-means : centroid (i+1) 단계 Data Mining Lab., Univ. of Seoul, Copyright ® 2008

Data Mining Lab., Univ. of Seoul, Copyright ® 2008 밀도기반 Clustering DBSCAN: Cluster를 “density-connected set”으로 정의 density: 정해진 반경()내에 데이터의 개수 Data Mining Lab., Univ. of Seoul, Copyright ® 2008

연관분석 Association

연관규칙 마이닝 (Association Mining) 장바구니 데이터 분석 (Basket Data Analysis)

연관규칙 마이닝 (Association Mining) 관광 스케쥴 데이터 분석 Shopping complex City center

연관규칙 마이닝 (Association Mining) Basket (Transaction) data 측정치 (X -> Y) Support (지지도) : 전체 레코드에서 상품 X, Y에 대한 거래를 모두 포함하는 비율 => Supp(X, Y) Confidence (신뢰도) : 상품 X를 구매한 거래가 발생했을 경우 그 거래가 상품 Y를 포함하는 조건부 확률 => Conf (X->Y) = Supp(X,Y)/Supp(X) Lift (향상도) : 상품 X를 구매한 경우, 그 거래가 상품 Y를 포함하는 경우와 상품 Y 가 상품 X에 관계없이 구매된 경우의 비율 => Lift (X->Y)=Supp(X,Y)/(Supp(X)∙Supp(Y)) = Conf(X->Y)/Supp(Y) 측정치 예 {Milk, Diaper} => Beer : Supp=2/5, Conf=2/3, Lift=(2/3)/(3/5)=1.1167 Transaction ID Iterms 1 Chips, Milk 2 Chips, Diaper, Beer, Cornflakes 3 Milk, Diaper, Beer, Pepsi 4 Chips, Milk, Diaper, Beer 5 Chips, Milk, Diaper, pepsi Data Mining Lab., Univ. of Seoul, Copyright ® 2008

연관규칙 마이닝 (Association Mining) 일반 레코드 데이터 Data Mining Lab., Univ. of Seoul, Copyright ® 2008

Classification vs. Association Classification rule training data의 설계시 class 속성이 결정됨 if-then 구조에서 then 부분에는 반드시 class 값이 들어감 Association rule이 보다 포괄적 Any column is possible ! Data Mining Lab., Univ. of Seoul, Copyright ® 2008

Clustering & Associations Lotte World방문자 데이터 GyroDrop -> Atlantis 학생고객(나이: 12-18) cluster 소아동반고객 cluster Marry-go-Round -> Kids Bumpercar

Text Mining

Text Mining Data Mining Text Mining Text Mining의 기반 기술 구조적 데이터를 대상 Unstructured/Semi-structured text documents를 대상 Text Mining의 기반 기술 Machine learning Information retrieval Natural language processing Statistical learning

Data Mining Lab., Univ. of Seoul, Copyright ® 2008 Text Mining Data Mining과의 차이 Curse of Dimensionality Feature selection 기술이 중요 Zipf’s Law, document frequency, x2 Statistics, Mutual Information Natural language process 기술과 결합 linguistic, lexical, and semantical techniques Data Mining Lab., Univ. of Seoul, Copyright ® 2008

Text Mining Feature Selection Stopword 제거 Zipf’s Law DF (document frequency)-based x2 Statistics-based Mutual Information Term Strength etc Data Mining Lab., Univ. of Seoul, Copyright ® 2013

Text Mining Feature Selection Stopwords Data Mining Lab., Univ. of Seoul, Copyright ® 2013

Text Mining Feature Selection Zipf’s Law Data Mining Lab., Univ. of Seoul, Copyright ® 2013

Text Mining Feature Selection Ex) x2 statistics-based C /C t p r /t q s Data Mining Lab., Univ. of Seoul, Copyright ® 2013

Text Mining Application Document Retrieval (Search) Document Recommendation Text Classification Text Clustering Text Summarization Text (information) Extraction Text Association Rule Mining Topic Detection

Data Mining Lab., Univ. of Seoul, Copyright ® 2008 Text Classification Web Page Indexing Web directory-based Search Engine에서 웹문서의 자동분류 Data Mining Lab., Univ. of Seoul, Copyright ® 2008

Text Clustering Document Clustering Word Clustering Big text data에 대한 조망: document cluster에 대한 description model의 생성 Cluster 내 문서집합에서 주요 단어의 추출 distance function이 중요 Word Clustering 용도: thesaurus 구축, word sense disambiguation 등 2가지 방식 Corpus-based approach Taxonomy-based approach

Word Associations Example: Association Rules w1 => w3 with 50% (2/4) support and 66% (2/3) confidence w3 => w1 with 50% (2/4) support and 100% (2/2) confidence

Text Classification 환자본인의 유전자를 이용, 배아를 만든 후 이를 이용해 실험실에서 건강한 세포를 배양시켜 환자에 다시 주입하는 이른바 치료복제법이 실험을 통해 입증되기는 이번이 세계최초라고 연구진은 주장했는데 이 방법은 주입된 세포에 대한 인체의 거부 반응이 없어 그동안 의학계의 관심을 끌어왔다 Extraction Feature 환자 본인 환자본인 유전자 이용 배아 이용 실험실 건강 세포 배양 환자 주입 치료복제법 실험 입증 이번 세계 최초 세계최초 연구진 주장 방법 주입 세포 인체 거부 반응 의학계 관심 fication Classi- 수의학  0.191149 의학,생명공학,약학  0.134847 치의학  0.114641 생물,미생물  0.109833 성  0.099062 질병,증상,죽음  0.084554 . . . Data Mining Lab., Univ. of Seoul, Copyright ® 2013

Text Clustering 검색결과에 대한 clustering Data Mining Lab., Univ. of Seoul, Copyright ® 2013

Association Mining Data Mining Lab., Univ. of Seoul, Copyright ® 2013

Opinion Mining Sentiment Analysis (Opinion Mining)