728x90
반응형

아카이브 32

3주차 - 2

Yarn 얀의 이름은 Yet Another Resource Negotiator의 약자이다. 얀은 한마디로 하둡의 리소스를 관리하고 관장하는 시스템이다. 얀의 등장에 의해 하둡은 큰 아키텍쳐의 변화가 생겼다. 1.0에서는 HDFS와 MapReduce만 있는 구조였지만, 얀의 리소스 매니저가 다른 어플리케이션도 지원하면서, 여러 어플리케이션이 HDFS를 접근할 수 있게 되었다. 이 때문에 하둡 위에 Spark나 Hbase와 같은 시스템들이 올라갈 수 있는것이다. HDFS의 일이 파일을 읽고 쓰는 일이었다면, 얀의 일은 자원을 요청하고 할당하는 일이다. 하지만 이는 사용자(개발자)가 해주지 않고, 시스템이 알아서 해주는 것이다. 얀 어플리케이션은 클라이언트로부터 요청을 받으면 먼저 리소스매니저에게 전달 된다...

3주차 - 1

하둡 스트리밍 하둡 스트리밍으로 맵리듀스를 처리할 때와의 근본적인 차이점은, 하둡 스트리밍은 맵과 리듀스 작업 중간에 워커의 로컬 디스크에 쓰기를 하지 않는다. 유닉스의 stdin stdout을 중간 연산에 사용한다. HDFS 파일시스템의 기본 연산은 file io (read/write) 이다. 하지만 hdfs는 기본적으로 write once, read many를 지향하는 구조이다. 데이터가 한번 쓰이면, 중간에 붙이는 것은 불가능하고, 끝에 붙이는 것만 가능하다. 따라서 저장은 한번 하고, 분석 작업을 할 때 많이 읽을 수 있게 하기 위한 구조라는 것이다. HDFS의 가장 중요한 설계 원칙 중 하나는 Fault-Tolerance이다. 따라서 하나의 노드에 장애가 발생했을 때, 다른 노드에서 같은 데이터..

2주차

맵리듀스 복습 맵 단계 위 그림에서는 맵을 수행할 수 있는 기기가 4개 있음 인풋 단계의 데이터를 4개의 블록으로 나누고, Map이라는 Task를 각 기기에 분배해 준다. Map을 수행하는 TaskTracker는 해당 작업을 수행하게 된다. Map을 실제로 짜는것은 개발자의 몫이다 Input을 받아 Output을 내는 각각의 함수를 작성한다. 쌍으로 입력을 받고 로컬에 파일로 저장한다. 셔플 단계 위 함수의 결과를 받아 하둡 시스템이 셔플을 진행한다. 정렬된 리스트를 다시 리듀스 TaskTracker기기에 전달한다. 셔플은 시스템이 알아서 수행해 준다. 리듀스 단계 리듀스 함수는 집계를 하고, 얻어진 결과를 파일로 출력하는 일을 수행한다. 리듀스도 TaskTracker가 수행하는데, 함수는 역시 개발자가..

1주차

서론 빅데이터 시대의 도래 1950년대 첫 컴퓨터가 나옴 (폰노이만) - 프로그램 내장 방식 1960년대 운영체제와 프로그래밍 언어 등장 (FORTRAN 및 COBOL) 1964~ 대화형 컴퓨터, 시분할, 다중 프로그래밍 1970년대 고밀도 직접회로, 마이크로 컴퓨터, PC시대 (MS, Apple 설립) 1990년에 www 인터넷, 1995 Java 기기가 개인화되고 데이터가 많아짐 빅데이터 처리 시스템이 필요하다 데이터 생성의 주체 기존에 데이터는 인간이 만들어 냈다. 기기가 보편화되고 센서들(IoT)이 많이 나오면서, 인간 외에도 데이터를 만들어내는 주체가 생겼다. 텍스트 비텍스트 - 숫자, 카테고리, 관계, 오디오, 비디오 등 빅데이터의 특성 (3V) 데이터의 볼륨 (Volume) 테라바이트, 페타..

추천시스템 16 - 사용자-사용자 협업필터링 코드예제

추천시스템 본 포스팅은 Minnesota대학교의 Intro to Recommender Systems코세라 강좌를 정리한 내용입니다. https://www.coursera.org/learn/collaborative-filtering?specialization=recommender-systems 원본 코드 예제에서는 Excel로 코딩하게 되어있지만, 파이썬으로 코딩한 예제입니다. 사용자-사용자 협업필터링¶ 정규화 없는 협업필터링¶ 사용자-사용자 연관성 행렬을 완성하시오. 체크를 위해서, 사용자 1648과 사용자 5136의 연관성은 0.40298, 그리고 사용자 918과 사용자 2824의 연관성은 -0.31706이다. 사용자들 사이의 연관성은 -1에서 1사이이다. 사용자 3867과 사용자 89의 이웃을 각각 ..

추천시스템 15 - 단항의 아이템 추천

추천시스템 본 포스팅은 Minnesota대학교의 Intro to Recommender Systems코세라 강좌를 정리한 내용입니다. https://www.coursera.org/learn/collaborative-filtering?specialization=recommender-systems 단항의 아이템 데이터 단항의 아이템 데이터는 곧 간접적 선호도 정보를 말한다. 아이템의 클릭 수 음악의 플레이 수 구매 이력 등 이런 데이터를 사용하려면 조금의 조정이 필요하다. 다른말로 표현하면, 위와같은 데이터를 평점과 같이 수치화 할 수 있어야 한다. 0/1의 값으로 구매했는지 안했는지 사용 몇번 구매/플레이를 했는지 정보의 수치화 그렇다면 이 정보를 어떻게 수치화하고 정규화할 수 있을까? 평균중심화는 별로 의..

추천시스템 14 - 아이템-아이템 협업필터링

추천시스템 본 포스팅은 Minnesota대학교의 Intro to Recommender Systems코세라 강좌를 정리한 내용입니다. https://www.coursera.org/learn/collaborative-filtering?specialization=recommender-systems 서론 기본적으로 사용자-사용자 필터링은 잘 동작 한다. 하지만 데이터가 부족할때는 예측값을 만들어내기 힘들다. 큰 시스템에서 사용자가 많다 해도, 공통점을 찾을 수 없는 사용자가 있다면 추천을 만들어내기 힘들다. 또한 평점을 잘 매기지 않는 사용자들에게도 추천을 만들기 힘들다. 이런 단점을 극복하기 위해 아이템-아이템 필터링이 고안되었다. 사용자보다는 여러 사람들이 평점을 매기는 아이템에 데이터가 더 많을 수 있다...

추천시스템 13 - 사용자-사용자 협업필터링

추천시스템 본 포스팅은 Minnesota대학교의 Intro to Recommender Systems코세라 강좌를 정리한 내용입니다. https://www.coursera.org/learn/collaborative-filtering?specialization=recommender-systems 비개인적 추천 비개인적인 추천을 하려면 다음과 같은 수식을 사용하면 된다. $$S(u, i) = \frac{\sum_{v \in U} r_{vi}}{ |U|}$$ u - 현재 사용자 i - 아이템 S(u, i) - 예측값 U - 모든 사용자 |U| - 모든 사용자의 수 v - U에 속한 다른 사용자 $r_{ui}$ - 아이템에 대한 현재 사용자의 평점 사용자-사용자 추천 이 수식에 기반하여 사용자-사용자 추천을 계산..

추천시스템 12 - 컨텐츠기반 추천 코드예제

추천시스템 본 포스팅은 Minnesota대학교의 Intro to Recommender Systems코세라 강좌를 정리한 내용입니다. https://www.coursera.org/learn/recommender-systems-introduction?specialization=recommender-systems 원본 코드 예제에서는 Excel로 코딩하게 되어있지만, 파이썬으로 코딩한 예제입니다. 1. 컨텐츠 기반 추천¶ 20개의 문서와 10개의 속성이 있다. 그리고 각 사용자마다 5개의 문서에 대한 평가가 있다. 이번 과제에서는 각 속성의 Count를 무시하고 Boolean값 (0/1)으로만 취급하도록 하겠다. 그리고 사용자의 평가는 긍정적이면 1 부정적이면 -1로 기록되어있다. 사용자 프로필 구축¶ 먼저 ..

추천시스템 11 - TFIDF

추천시스템 본 포스팅은 Minnesota대학교의 Intro to Recommender Systems코세라 강좌를 정리한 내용입니다. https://www.coursera.org/learn/recommender-systems-introduction?specialization=recommender-systems TFIDF TFIDF기법은 정보검색 분야에서 출발한 개녑이다. 정보검색과 관련된 개념을 자세히 설명하지는 않을것이지만, 정보검색에 TFIDF가 어떻게 쓰였는지 들여다 보도록 하자. 만약 기본적인 검색기능(태그 와 랭킹 기반)이 실패하면 어떻게할까? 특정 단어를 가진 문서를 모두 가져온다면, 너무 많을것이다. 어떠한 방식으로 랭킹을 정하는가? 두가지 요인을 고려해 볼 수 있다. 단어의 빈도는 중요한 요..

728x90
반응형