MapReduce를 이용한 Ordinary Least Squares

Slides:



Advertisements
Similar presentations
연천 새둥지마을 체재형 주말농장 준공식 초청장 오시는 길 주제 일시 장소 21C 경기농촌희망심기 2005년 제1기 교육수료마을
Advertisements

SPARCS Wheel Seminar Mango X Sugoi
출석수업 자료 교과서 범위: 제1장-4장.
10월 충북노회 남선교회 순회 헌신예배 묵 도 기 도 성 경 봉 독 특 송 찬 양 설 교 찬양 / 봉헌 봉 헌 기 도
글에 나타난 시대적 사회적 배경을 파악할 수 있다. 배경 지식과 의미 해석의 관련성을 이해할 수 있다.
패널자료 분석
라오디게아 교회의 교훈 본문 계 3: ○라오디게아 교회의 사자에게 편지하라 아멘이시요 충성되고 참된 증인이시요 하나님의 창조의 근본이신 이가 이르시되 15. 내가 네 행위를 아노니 네가 차지도 아니하고 뜨겁지도 아니하도다 네가 차든지 뜨겁든지 하기를 원하노라.
한알Ⅱ「더불어 살기」전국대회 일정표 날짜 시간 7월 26일(목) 7월 27일(금) 7월 28일(토) 7월 29일(일)
2013학년도 전라북도고등학교신입생 입학전형 기본계획
선거관리위원회 위원 공개모집 4차 공고 제4기 선거관리위원회를 구성하는 위원 모집의
2015학년도 1학기 버디 프로그램 오리엔테이션 (목) 16:00.
열왕기하 1장을 읽고 묵상으로 예배를 준비합시다..
오늘의 학습 주제 Ⅱ. 근대 사회의 전개 4. 개항 이후의 경제와 사회 4-1. 열강의 경제 침탈 4-2. 경제적 구국 운동의 전개 4-3. 사회 구조와 의식의 변화 4-4. 생활 모습의 변화.
전도축제 계획서 *일시 : 2013년 4월 21, 28일 주일 (연속 2주)
2009학년도 가톨릭대학교 입학안내.
한국 상속세 및 증여세 과세제도 한국 국세공무원교육원 교 수 최 성 일.
중세시대의 의복 학번 & 이름.
다문화가정의 가정폭력의 문제점 연세대학교 행정대학원 정치행정리더십 2학기 학번 이름 홍 진옥.
이공계의 현실과 미래 제조업 立國 / 이공계 대학생의 미래 준비
신앙의 기초를 세우는 중고등부 1부 대 예 배 : 11 : 00 ~ 12 : 층 본당
신앙의 기초를 세우는 중고등부 1부 대 예 배 : 11 : 00 ~ 12 : 층 본당
◆ 지난주 반별 출석 보기 ◆ 제 56 권 26호 년 6월 26일 반 선생님 친구들 재적 출석 5세 화평 김성희 선생님
第1篇 자치입법 개론.
교직원 성희롱·성폭력·성매매 예방교육 벌교중앙초등학교 박명희
제5장 새로운 거버넌스와 사회복지정책 사회복지정책이 어떤 행위자에 의해 형성되고 집행되는지, 어떤 과정에서 그러한 일들이 이루어지는지, 효과적인 정책을 위해서는 어떤 일들이 필요한지 등을 본 장에서 알아본다 개인들이 생활을 개선하는 가장 효과적인고 궁극적인 방법은 개별적.
임상시험 규정 (최근 변경 사항 중심으로) -QCRC 보수 교육 과정 전달 교육
서울특별시 특별사법경찰 수사 송치서류 유의사항 서울특별시 특별사법경찰과 북부수사팀장 안   진.
특수학교용 아동학대! 제대로 알고 대처합시다..
사회복지현장의 이해 Generalist Social Worker 사회복지입문자기초과정 반포종합사회복지관 김한욱 관장
학교보건 운영의 실제 한천초등학교 이 채 금.
제 출 문 고용노동부 귀중 본 보고서를 ’ ~ ‘ 까지 실시한 “근로감독관 직무분석 및 교육프로그램 개발에 관한 연구”의 최종보고서로 제출합니다  연구기관 : 중앙경영연구소  프로젝트 총괄책임자 : 고병인 대표.
학습센터란? 기도에 관해 배울 수 있는 다양한 학습 코너를 통하여 어린이들이 보다 더 쉽게 기도를 알게 하고, 기도할 수 있게 하며, 기도의 사람으로 변화될 수 있도록 하는 체험학습 프로그램이다. 따라서 주입식이지 않으며 어린이들이 참여할 수 있는 역동적인 프로그램으로.
Digital BibleⅢ 폰속의 성경 디지털 바이블 2008년 12월 ㈜씨엔커뮤니케이션 ㈜씨엔엠브이엔오.
후에 70인역(LXX)을 좇아 영어 성경은 본서의 중심 주제인 “엑소도스”(출애굽기)라 하였다.
성 김대건 피츠버그 한인 성당 그리스도왕 대축일 공지사항
예배에 대하여.
말씀 듣는 시간입니다..
하나님은 영이시니 예배하는 자가 신령과 진정으로 예배할지니라.
지금 나에게 주신 레마인 말씀 히브리서 13장 8절.
예수의 제자들 담당교수 : 김동욱.
Lecture Part IV: Ecclesiology
KAINOS 날마다 더하여지는 Kainos News 이번 주 찬양 20 / 300 – 20개의 셀, 300명의 영혼
예배의 외부적인 틀II - 예배 음악 조광현.
영성기도회 렉시오 디비나와 묵상기도 2.
성인 1부 성경 공부 지도목사: 신정우 목사 부 장: 오중환 집사 2010년. 5월 9일
남북 탑승객 150명을 태운 디젤기관차가 2007년 5월 17일 오전 경의선 철길을 따라 남측 최북단 역인 도라산역 인근 통문을 통과하고 있다. /문산=사진공동취재단.
성경 암송 대회 한일교회 고등부 (일).
천주교 의정부교구 주엽동본당 사목협의회 사목활동 보고서
III. 노동조합과 경영자조직 노동조합의 이데올로기, 역할 및 기능 노동조합의 조직형태 노동조합의 설립과 운영
여수시 MICE 산업 활성화 전략 ( 중간보고 )
1. 단위사업 관리, 예산관리 사업설정 (교직원협의/의견수렴) 정책 사업 학교 정책 사업 등록 사업 기본정보 목표 설정
※과정 수료자에 한하여 수강료의 80~100% 차등 환급함
평생학습중심대학 프로그램 수강지원서 접수안내 오시는 길 관악구&구로구민을 위한 서울대학교 -- 접수 일정 및 방법 안내--
서비스산업의 선진화, 무엇이 필요한가? 김 주 훈 한 국 개 발 연 구 원.
기존에 없던 창업을 하고 싶은데, 누구의 도움을 받아야 할지 모르겠어요
전시회 개요 Ⅰ. 전시명칭 개최기간 개최장소 개최규모 주 최 참 관 객 현 지 파 트 너 General Information
Homeplus 일 家 양 득 프로그램 소개 2015년 12월.
Home Network 유동관.
통신이론 제 1 장 : 신호의 표현 2015 (1학기).
I. 기업과 혁신.
Chapter 4 – 프로그래밍 언어의 구문과 구현 기법

ESOCOM – IPIX 고정IP서비스 제안서 Proposer ㈜이소컴.
화장품 CGMP 한국콜마㈜.
초화류 종자 시장 규모 100억원 이상(추정, 생산액의 10%정도 차지)
COMPUTER ARCHITECTIRE
[ 한옥 실측 ] 1. 약실측 2. 정밀실측 조선건축사사무소.
14. 컴파일러 자동화 도구 스캐너 생성기 파서 생성기 코드 생성의 자동화
A제조용수/B환경관리/C시설관리 ㈜ 에이플러스 코리아
Introduction to Network Security
Presentation transcript:

MapReduce를 이용한 Ordinary Least Squares Big Data Analytics Short Courses MapReduce를 이용한 Ordinary Least Squares DataScience Lab. 박사과정 김희찬 2017-02-24 (금)

단순선형회귀는? 데이터를 잘 표현할 수 있는 직선을 찾아내는 것 데이터가 2차원이라고 가정하면… 이때 𝑦 , 𝜀 -> n x 1, 𝑋 -> n x p 데이터를 가장 잘 표현하는 함수 f는? 모든 데이터에 대하여 아래 수식의 값이 최소가 될 때 (Residual ei) 최소제곱법으로 풀어보자 제곱한 후 잔차의 합은? (sum of squared residuals) 𝑦 𝑖 =𝑓 𝑥 𝑖 = 𝑥 𝑖 𝑇 𝛽+ 𝜀 𝑖 𝑦=𝑋𝛽+𝑒 𝑒=𝑦−𝑋𝛽 𝑒 𝑇 𝑒= 𝑦−𝑋𝛽 𝑇 (𝑦−𝑋𝛽) = 𝑦 𝑇 𝑦− 𝛽 𝑇 𝑋 𝑇 𝑦− 𝑦 𝑇 𝑋𝛽+ 𝛽 𝑇 𝑋 𝑇 𝑋𝛽 = 𝑦 𝑇 𝑦−2 𝛽 𝑇 𝑋 𝑇 𝑦+ 𝛽 𝑇 𝑋 𝑇 𝑋𝛽

단순선형회귀는? 데이터를 잘 표현할 수 있는 직선을 찾아내는 것 에러를 최소화한다면 가장 적절한 직선을 찾을 수 있을 것 편미분 후 Normal Equation으로 설정 후 풀면 됨 𝜕 𝑒 𝑇 𝑒 𝜕𝛽 =−2 𝑋 𝑇 𝑦+2 𝑋 𝑇 𝑋𝛽=0 𝑋 𝑇 𝑋𝛽= 𝑋 𝑇 𝑦 𝛽= 𝑋 𝑇 𝑋 −1 𝑋 𝑇 𝑦 𝑋 𝑇 𝑋𝛽= 𝑋 𝑇 (𝑋𝛽+𝑒) 𝑦=𝑋𝛽+𝑒 𝑋 𝑇 𝑋𝛽= 𝑋 𝑇 𝑋𝛽+ 𝑋 𝑇 𝑒 𝑋 𝑇 𝑒=0

단순선형회귀는? 데이터를 잘 표현할 수 있는 직선을 찾아내는 것 예제 데이터로 풀어보자 𝑦=𝑎𝑥+𝑒 𝑦=𝑋𝛽 from text x y 3 1 16 2 24 37 4 44 5 56 𝑦=𝑎𝑥+𝑒 𝑦=𝑋𝛽 𝛽= 𝑋 𝑇 𝑋 −1 𝑋 𝑇 𝑦 X B Y 1 b1 3 b0 16 2 - 24 37 4 44 5 56

행렬을 자바에서 어떻게???? 역시나 라이브러리가 존재함 JAMA; JAva MAtrix package the package -> Jar file (Jama-1.0.3.jar) 받은 라이브러리를 테스트해볼 수 있게 프로젝트에 추가

행렬을 자바에서 어떻게???? 행렬 생성 방법 아래 표는 배열이 2중으로 있는 것으로 생각할 수 있음 JAMA에서 행렬 내 데이터는 실수(double)로 처리함 2중 배열은 배열을 표시하는 대괄호를 하나 더 넣어주는 것 x y 3 1 16 2 24 37 4 44 5 56 행 row 열 col

행렬을 자바에서 어떻게???? 데이터 불러오기 띄어쓰기 기준으로 숫자들이 저장되어있는 파일을 불러온다 띄어쓰기 기준으로 일단 나누지 않음 왜냐하면 배열을 만들어야하는데 전체 길이를 알 수 없기 때문에 리스트를 이용하여 먼저 데이터를 메모리에 모아둔다

행렬을 자바에서 어떻게???? 데이터로 행렬 만들기 띄어쓰기 기준으로 숫자들이 저장되어있는 파일을 불러온다 만들어야할 행렬은 먼저 두 개 (X6x2, Y6x1) X에 두번째 열이 전부 1인 이유는 b0를 bias로 하기 위함 X B Y 1 b1 3 b0 16 2 - 24 37 4 44 5 56

행렬을 자바에서 어떻게???? JAMA를 이용한 행렬 연산 JAMA로 어떻게 행렬을 계산하나? 𝑋 𝑇 𝑋 −1 𝑋𝑌 𝑋 𝑇 𝑌

행렬을 자바에서 어떻게???? JAMA를 이용한 행렬 연산 OLS로 B 행렬 계산 방법을 사용함 𝛽= 𝑋 𝑇 𝑋 −1 𝑋 𝑇 𝑦

MapReduce에서의 연산 어느 부분을 나누어서 작업할 수 있을까? 블럭 행렬(Block Matrix)을 이용하여 행렬 곱을 나누어 할 수 있음 𝑋= 𝑥 11 𝑥 12 𝑥 21 𝑥 22 𝑥 13 𝑥 14 𝑥 23 𝑥 24 𝑥 31 𝑥 32 𝑥 41 𝑥 42 𝑥 33 𝑥 34 𝑥 43 𝑥 44 = 𝑋 11 𝑋 12 𝑋 21 𝑋 22 𝑋 11 = 𝑥 11 𝑥 12 𝑥 21 𝑥 22 𝐴 𝑚×𝑝 𝑞 row partition column partition 𝑠 𝐵 𝑝×𝑛 𝑠 row partition column partition 𝑟 𝐶 𝛼𝛽 = 𝛾=1 𝑠 𝐴 𝛼𝛾 𝐵 𝛾𝛽 𝐶 𝑚×𝑛 =𝐴𝐵

MapReduce에서의 연산 어느 부분을 나누어서 작업할 수 있을까? 우리 데이터를 기준으로 생각하면? 𝑋= 𝑥 11 𝑥 12 𝑥 12 𝑥 22 = 𝑋 11 𝑋 21 𝑋 2×𝑚 𝑇 𝑞=1 row partition column partition 𝑠=# 𝑜𝑓 𝑀𝑎𝑝 𝑋 𝑚×2 𝑠=# 𝑜𝑓 𝑀𝑎𝑝 row partition column partition 𝑟=1 𝑋 𝑇 𝑋 11 = 𝛾=1 𝑠 𝐴 1𝛾 𝐵 𝛾1 𝑋 𝑇 𝑋 2×2 𝑋 𝑇 𝑋= 𝑋 1 𝑇 𝑋 1 + 𝑋 2 𝑇 𝑋 2 𝑋 1 =𝑋

MapReduce에서의 연산 어느 부분을 나누어서 작업할 수 있을까? 우리 데이터를 기준으로 생각하면? 𝑋 𝑇 𝑋 𝑋 𝑇 𝑦 입력된 데이터로 아래 두 행렬 곱의 일부를 계산할 수 있음 그럼 키는? 2가지가 필요 리듀스에서는 각 키마다 합을 구하면 위 두 행렬 곱을 계산할 수 있음 계산은 아직 더 남았다 역행렬과 한 번의 연산이 더 남았다 2x2 행렬 때문에 맵리듀스를 다시 돌려야하나? 한방에 어떻게 하고 싶다! 𝑋 𝑇 𝑋 𝑋 𝑇 𝑦 𝛽= 𝑋 𝑇 𝑋 −1 𝑋 𝑇 𝑦

MapReduce에서의 연산 어느 부분을 나누어서 작업할 수 있을까? 우리 데이터를 기준으로 생각하면? Map Reduce 겨우 몇번의 Summation 때문에 Reduce를 여러 개 할 필요는 없지 않나 리듀스에서 데이터를 구분할 수 있게 하자 데이터를 문자열로 바꾸고, 문자열의 맨 앞에 앞서 키로 사용하였던 것을 추가하여 값을 구분할 수 있도록 하자(마커 추가) Reduce에서 값의 맨 앞을 보고 나누어서 더하는 것! 행렬을 문자열로 상호 치환하는 메소드가 필요 OLSRegressionTest에 있죠? Map Reduce <K, V> <“1”, “A1234”> <“1”, [“A1234”, “B1234]”> <“1”, “B1234”> 𝑋= 𝑥 11 𝑥 12 𝑥 21 𝑥 22 " 𝑥 11 𝑥 12 @ 𝑥 21 𝑥 22 "

MapReduce에서의 연산 어느 부분을 나누어서 작업할 수 있을까? 우리 데이터를 기준으로 생각하면? 1millions 아래 명령어로 확인 가능 hadoop fs –ls /bigCourse/input 각 파일의 데이터 형태는 다음과 같음 한 줄에 백 만개의 데이터 쌍이 존재함 쌍의 구분은 @를 기준으로 나눔 x y 3 1 16 2 24 37 4 44 5 56 " 𝑥 11 𝑥 12 @ 𝑥 21 𝑥 22 @….." 1millions " 𝑥 11 𝑥 12 @ 𝑥 21 𝑥 22 @….." “0 3@1 16@2 24@3 37@4 44…”

MapReduce에서의 연산 새로 만든 OLS의 형태 행렬을 적절히 주고 받기 위한 입출력 형태 문자열로 행렬을 풀어서 표현했으므로, 모두 Text

MapReduce에서의 연산 새로 만든 OLS의 형태 main()에서 행렬을 표현하는 외부 라이브러리의 추가 HDFS 에 업로드한 후 해당 경로를 적어줌

MapReduce에서의 연산 새로 만든 OLS의 형태 map에서는 읽어온 문자열을 행렬로 변경한 후 연산 및 출력 우리는 출력을 key는 하나 value에서 두 행렬을 구분할 수 있도록 마커 추가

MapReduce에서의 연산 새로 만든 OLS의 형태 reduce에서는 모든 value 중 map에서 정한 마커에 따라 XX, XY를 합함 전부 합한 후에는 inverse 연산과 곱 연산을 통하여 B 행렬을 계산 그 후 다시 문자열로 변환하여 출력

MapReduce에서의 연산 OLS를 전부 짠 후에는? 외부 라이브러리로 반출 Xshell로 hadoop 클러스터 접속 및 개인 폴더로 이동 cd bigCourse/[학번] Xshell을 통하여 hadoop 클러스터에 복사 hadoop 에서 job 실행 hadoop jar OLSMR.jar OLSMR /bigCourse/input /bigCourse/[학번]/output 에러가 나는 경우는 output 폴더가 이미 존재하는 경우 hadoop fs –rmr /bigCourse/[학번]/output 결과를 hadoop에서 컴퓨터로 복사하기 hadoop fs –copyToLocal /bigCourse/[학번]/output/part-r-00000 . 결과 확인하기 cat part-r-00000

Appendix OLS template 및 테스트용 데이터 https://drive.google.com/open?id=0B2C49wBdxcD5VHdWV2I0TzFWdDQ https://drive.google.com/open?id=0B2C49wBdxcD5SGFyWExncVhiMmM

THANKS