book.jayu.org
Spark와 머신 러닝(빅데이터 분석과 예측 모델 트레이닝을 위한)

Spark와 머신 러닝(빅데이터 분석과 예측 모델 트레이닝을 위한)

닉 펜트레스 (지은이), 조효성 (옮긴이)

에이콘출판(주)·2016-01-04

  • 408쪽
  • 총류
  • KDC 004.73

로그인하면 내 서재에 추가할 수 있어요.

책 소개

최근 수집과 저장, 그리고 분석되는 데이터의 규모는 폭발적으로 증가했는데, 특히 웹과 모바일 단말을 사용할 때 발생하는 것뿐 아니라 센서 네트워크를 통해 물리적인 데이터와 연관해서 늘어나고 있다. 과거 대규모 데이터 스토리지, 프로세싱, 분석, 모델링은 구글, 야후, 페이스북, 트위터 등 공룡 기업의 영역이었으나 점차 많은 기업이 방대한 양의 데이터를 어떻게 처리해야 할지 도전에 직면하고 있다. 이와 같은 데이터 양과 실시간으로 이 데이터를 활용해야 하는 공통 요구 사항에 직면하고 있으나 인력으로 움직이는 시스템은 빠르게 쇠퇴하고 있다. 이런 현상은 빅데이터와 자동화된 의사결정을 만들기 위해 데이터를 이용해서 학습하는 머신 러닝의 태동을 불러왔다. 막대한 비용을 들이지 않고 대규모의 데이터를 다뤄야 하는 과제에 대한 해법이 컴퓨터 클러스터에 데이터 스토리지와 컴퓨팅 파워를 분산시켜 방대한 데이터를 좀 더 쉽게 처리하는 작업에 주력하는 구글, 야후, 아마존, 페이스북 같은 회사에서 속속 개발되고 있었다. 이런 기술 중에서 가장 많이 확산된 기술인 아파치 하둡을 통해 정말 쉽고 저렴하게 많은 데이터를 저장(하둡 분산 파일 시스템을 사용)하고, 저장된 데이터를 연산(컴퓨터 클러스터에 할당된 많은 노드에서 병렬로 연산 작업을 실행할 수 있는 프레임워크인 하둡 맵리듀스를 사용)할 수 있게 됐다. 그러나 맵리듀스는 각 잡을 실행하고 중간 데이터와 연산 결과를 디스크에 저장해야 하는 높은 오버헤드를 비롯한 일부 결정적인 단점이 있기 때문에 하둡은 반복이나 낮은 지연 시간을 포함하는 유스케이스에 상대적으로 부적합하다. 아파치 스파크는 분산 컴퓨팅을 위한 새로운 프레임워크이며, 제로 기반에서 설계해서 낮은 지연 시간 태스크를 위해 최적화돼 있고, 중간 데이터와 결과를 메모리에 저장할 수 있기 때문에 하둡 프레임워크의 주요 단점의 일부를 해결했다. 스파크는 애플리케이션을 작성할 수 있는 깔끔하고 기능적이며, 이해하기 쉬운 API를 제공하는 동시에 하둡 생태계와 완벽하게 호환된다. 게다가 스파크는 네이티브 API를 스칼라, 자바, 파이썬으로 제공한다. 스칼라 API와 파이썬 API를 이용하면 실시간과 의사소통할 수 있는 검색에 쓰이는 해당 인터프리터 사용을 비롯한 스파크 애플리케이션을 직접 개발할 때 API를 작성한 각 언어의 모든 장점을 사용할 수 있다. 현재 스파크 번들에 분산 머신 러닝과 데이터 마이닝 모델을 활용할 수 있는 툴킷이 포함돼 있는데, 이 툴킷은 한창 개발 중이며 많은 범용 머신 러닝 태스크를 위한 높은 성능을 발휘하고 확장할 수 있으며, 효과적인 알고리즘을 이미 포함하고 있고 툴킷의 기능 일부를 이 책에서 집중적으로 설명한다. 머신 러닝 기술을 방대한 데이터 집합에 적용하는 작업은 상당한 어려움이 있는데, 특히 대부분 잘 알려진 머신 러닝 알고리즘은 병렬 아키텍처를 고려하지 않고 있다. 많은 경우 머신 러닝 알고리즘을 설계하는 일은 쉽지 않은 작업이다. 머신 러닝 모델의 태생은 일반적으로 반복인데, 스파크는 바로 이런 유스케이스에 강하다. 병렬 컴퓨팅을 위해 많은 프레임워크가 경쟁 중인 가운데 스파크는 속도, 확정성, 인메모리 프로세싱, 그리고 쉽게 프로그래밍할 수 있는 시스템 실패 허용 한계(fault tolerance), 유연하면서 명시적이고 또한 강력한 API 설계를 모두 조합한 몇 안 되는 프레임워크 중 하나다. 이 책은 전반적으로 머신 러닝 기술을 이용해서 실생활에서 사용하는 애플리케이션 개발에 중점을 둘 것이다. 머신 러닝 알고리즘의 이론적인 측면을 일부 간략하게 설명할 수 있지만, 유용한 머신 러닝 시스템을 만들기 위해 이 책은 스파크와 MLlib의 모든 기능을 효과적으로 사용할 수 있는 방법을 설명하는데, 이때 예제와 코드를 사용할 뿐 아니라 머신 러닝과 데이터 분석을 위해 공개적으로 잘 알려져 있고 무료로 사용할 수 있는 패키지를 이용해서 주로 현실적이면서 적용 가능한 방법을 다룬다.

목차펼치기

1 스파크의 시작과 구동 로컬 모드로 스파크 설치와 환경 설정 스파크 클러스터 스파크 프로그래밍 모델 SparkContext와 SparkConf 스파크 셸 복구할 수 있는 분산 데이터 집합 RDD 생성 스파크 오퍼레이션 RDD 캐싱 브로드캐스트 변수와 누산기 스칼라를 이용한 스파크 프로그램의 첫 단계 자바로 개발하는 스파크 프로그램의 첫 단계 파이썬으로 스파크 프로그램 작성하는 첫 단계 아마존 EC2에서 스파크 구동 EC2 스파크 클러스터 실행 정리 2 머신 러닝 시스템 무비스트림 소개 머신 러닝 시스템을 위한 비즈니스 유스케이스 개인화 타겟 마케팅과 사용자 분류 예측 모델링과 해석학 머신 러닝 모델의 타입 데이터 기반의 머신 러닝 시스템 컴포넌트 데이터 획득과 저장 데이터 클렌싱과 변환 모델 학습과 테스트 루프 모델 적용과 정합 모델 모니터링과 피드백 배치 프로세스와 실시간 프로세스 머신 러닝 시스템의 아키텍처 실습 정리 3 스파크를 이용한 데이터 수집, 프로세싱, 준비 공개적으로 가용한 데이터 집합 접근 무비렌즈 100킬로바이트 데이터 집합 데이터 탐색과 가시화 사용자 데이터 집합 탐색 영화 데이터 집합 탐색 평점 데이터 집합 탐색 데이터 처리와 변환 부적절하거나 소실된 데이터로 채우기 데이터에서 유용한 특징 추출 숫자 특징 카테고리 특징 파생 특징 타임스탬프를 카테고리 특징으로 변환 텍스트 특징 단순 텍스트 특징 추출 특징 정규화 특징 정규화를 위한 MLlib 라이브러리 사용 특징 추출을 위한 패키지 사용 정리 4 스파크를 이용한 추천 엔진 구현 추천 모델의 타입 콘텐트 기반의 필터링 공동 필터링 행렬 인수분해 목표 데이터에서 적절한 특징 추출 무비렌즈 100k 데이터 집합에서 특징 추출 추천 모델 트레이닝 무비렌즈 100k 데이터 집합으로 모델 트레이닝 암시적인 피드백 데이터를 이용한 모델 트레이닝 추천 모델 사용 사용자 추천 무비렌즈 100k 데이터 집합에서 영화 추천 생성 제품 추천 무비렌즈 100k 데이터 집합에서 유사 영화 생성 추천 모델의 성능 평가 평균 제곱 오차 K 평균 정확도의 평균 MLlib 라이브러리의 내장 평가 메소드 사용 RMSE와 MSE 맵 정리 5 스파크를 이용한 분류 모델 구현 분류 모델의 타입 선형 모델 로지스틱 회귀 선형 지원 벡터 머신 나이브 베이즈 모델 의사결정 트리 데이터 집합에서 적절한 특징 추출 캐글/스텀블업온 에버그린 분류 데이터 집합에서 특징 추출 분류 모델 트레이닝 캐글/스텀블업온 지속적인 분류 데이터 집합에 분류 모델을 트레이닝 분류 모델 사용 캐글/스텀블업온 지속 가능한 분류 데이터 집합을 이용한 예측 생성 분류 모델의 성능 평가 정확도와 예측 오차 정확도와 회자 ROC 곡선과 AUC 모델 성능을 향상하고 매개변수를 튜닝 특징 표준화 추가적인 특징 정확한 형태의 데이터 사용 모델 매개변수 튜닝 선형 모델 의사결정 트리 나이브 베이즈 모델 교차 검증 정리 6 스파크를 이용한 회귀 모델 구현 회귀 모델의 타입 최소 제곱 회귀 회귀에 대한 의사결정 트리 데이터 집합에서 적절한 특징 추출 자전거 공유 데이터 집합에서 특징 추출 선형 모델에 적용할 특징 벡터 생성 의사결정 트리를 위한 특징 벡터 생성 회귀 모델 트레이닝과 사용 자전거 공유 데이터 집합을 이용한 회귀 모델 트레이닝 회귀 모델의 성능 평가 평균 제곱 에러와 루트 평균 제곱 에러 평균 절댓값 에러 루트 평균 제곱 로그 에러 R 제곱 계수 값 자전거 공유 데이터 집합을 이용한 성능 메트릭스 계산 선형 모델 의사결정 트리 모델 성능 향상과 매개변수 튜닝 타겟 변수를 변환 로그 변환한 타겟으로 트레이닝할 때의 영향 모델 매개변수 튜닝 매개변수를 평가하기 위한 데이터 집합 트레이닝과 테스트 생성 선형 모델에 적용하는 매개변수 설정의 영향 의사결정 트리에 매개변수 설정 값을 적용할 때의 영향 정리 7 스파크를 이용한 클러스터 구축 모델 구현 클러스터 모델의 타입 K 평균 클러스터 초기화 메소드 변수 혼합 모델 계층적인 클러스터 데이터에서 적절한 특징 추출 무비렌즈 데이터 집합에서 특징 추출 영화 장르 레이블 추출 추천 모델 트레이닝 정규화 클러스터 모델 트레이닝 무비렌즈 데이터 집합을 이용해 구성한 클러스터 모델 트레이닝 클러스터 모델을 이용한 예측 무비렌즈 데이터 집합에 대한 클러스터 예측 해석 영화 클러스터 해석 클러스터화한 모델의 성능 평가 내부 평가 메트릭스 외부 평가 메트릭스 무비렌즈 데이터 집합에 적용한 메트릭스의 성능 계산 클러스터 모델에 적용하는 매개변수 튜닝 교차 검증을 통한 K 값 선택 정리 8 스파크를 이용한 차원 축소 차원 축소의 타입 주요 컴포넌트 분석 단일 값 분해 행렬 요소화를 가진 관계 차원 축소와 같은 클러스터화 분석 데이터의 적절한 특징 추출 LWF 데이터 집합의 특징 추출 얼굴 데이터 분석 얼굴 데이터의 가시화 벡터 형태로 된 얼굴 이미지 추출 정규화 차원 축소 모델 트레이닝 LFW 데이터 집합에 주요 컴포넌트 분석 기법 적용 아이겐페이스의 가시화 아이겐페이스 해석 차원 축소 모델 적용 LWF 데이터 집합에 적용한 주요 컴포넌트 분석을 이용한 데이터 주입 주요 컴포넌트 분석과 단일 값 분해 간 관계 차원 축소 모델 평가 LFW 데이터 집합에 단일 값 분해 적용을 위한 k 값 평가 정리 9 스파크를 이용한 고급 텍스트 프로세싱 텍스트 데이터의 중요한 면 데이터 집합에서 올바른 특징 추출 용어 가중치 스킴 특징 해싱 20개 뉴스그룹 데이터 집합에서 TF-IDF 특징 추출 20개 뉴스그룹 데이터 분석 기본적인 토큰화 기능 적용 토큰화 향상 중지 단어 제거 빈도수를 바탕으로 단어 제거 스테밍에 대한 참고 TF-IDF 모델 트레이닝 TF-IDF 가중치 분석 TF-IDF 모델 사용 20개의 뉴스그룹 데이터 집합과 TF-IDF 특징을 이용한 문서 유사성 TF-IDF를 이용한 20개 뉴스그룹 데이터 집합의 텍스트 분류자 트레이닝 텍스트 프로세싱의 영향 평가 20개의 뉴스그룹 데이터 집합을 이용해서 원본 특징과 프로세싱된 TF-IDF 특징 비교 Word2Vec 모델 20개 뉴스그룹 데이터 집합에 Word2Vec 적용 정리 10 스파크 스트리밍을 이용한 실시간 머신 러닝 온라인 러닝 스트림 프로세싱 스파크 스트리밍에 대한 소개 입력 소스 변환 액션 윈도우 연산자 스파크 스트리밍을 이용한 캐싱과 고장 허용 스파크 스트리밍 애플리케이션 개발 생산자 애플리케이션 기본적인 스트리밍 애플리케이션 개발 스트리밍 분석 스테이트풀 스트리밍 스파크 스트리밍을 이용한 온라인 러닝 스트리밍 회귀 간단한 스트리밍 회귀 프로그램 스트리밍 데이터 생산자 개발 스트리밍 회귀 모델 생성 스트리밍 K 평균 온라인 모델 평가 모델 성능과 스파크 스트리밍 비교 정리

출처: 국립중앙도서관 서지정보

리뷰 남기기

로그인하면 리뷰를 남길 수 있어요.

리뷰 0개

아직 리뷰가 없어요.