HOME > 상세정보

상세정보

머하웃 완벽 가이드 : 하둡에 딱 맞는 빅데이터를 활용한 기계학습 (28회 대출)

자료유형
단행본
개인저자
Owen, Sean, 저 Anil, Robin, 저 Dunning, Ted, 저 Friedman, Ellen, 저 안태성, 역
서명 / 저자사항
머하웃 완벽 가이드 : 하둡에 딱 맞는 빅데이터를 활용한 기계학습 / 션 오웬 [외] 지음 ; 안태성 옮김
발행사항
서울 :   한빛미디어,   2012  
형태사항
552 p. : 삽화, 도표 ; 24 cm
원표제
Mahout in action
ISBN
9788979149609
일반주기
공저자: 로빈 애닐, 테드 더닝, 엘렌 프리드만  
머하웃 0.6, 0.7 릴리즈 노트 수록  
부록: JVM 튜닝, 머하웃에서 사용하는 수학, 머하웃 버전 업데이트  
서지주기
참고문헌(p. 524-526)과 색인수록
일반주제명
Machine learning Web site development
000 01301camcc2200409 c 4500
001 000045729625
005 20121130092417
007 ta
008 121127s2012 ulkad b 001c kor
020 ▼a 9788979149609 ▼g 13560
035 ▼a (KERIS)BIB000012955590
040 ▼a 211023 ▼c 211023 ▼d 211009
041 1 ▼a kor ▼h eng
082 0 4 ▼a 006.31 ▼2 23
085 ▼a 006.31 ▼2 DDCK
090 ▼a 006.31 ▼b 2012
245 0 0 ▼a 머하웃 완벽 가이드 : ▼b 하둡에 딱 맞는 빅데이터를 활용한 기계학습 / ▼d 션 오웬 [외] 지음 ; ▼e 안태성 옮김
246 1 9 ▼a Mahout in action
260 ▼a 서울 : ▼b 한빛미디어, ▼c 2012
300 ▼a 552 p. : ▼b 삽화, 도표 ; ▼c 24 cm
500 ▼a 공저자: 로빈 애닐, 테드 더닝, 엘렌 프리드만
500 ▼a 머하웃 0.6, 0.7 릴리즈 노트 수록
500 ▼a 부록: JVM 튜닝, 머하웃에서 사용하는 수학, 머하웃 버전 업데이트
504 ▼a 참고문헌(p. 524-526)과 색인수록
650 0 ▼a Machine learning
650 0 ▼a Web site development
700 1 ▼a Owen, Sean, ▼e
700 1 ▼a Anil, Robin, ▼e
700 1 ▼a Dunning, Ted, ▼e
700 1 ▼a Friedman, Ellen, ▼e
700 1 ▼a 안태성, ▼e
900 1 0 ▼a 오웬, 션, ▼e
900 1 0 ▼a 애닐, 로빈, ▼e
900 1 0 ▼a 더닝, 테드, ▼e
900 1 0 ▼a 프리드만, 엘렌, ▼e
945 ▼a KLPA

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 006.31 2012 등록번호 121222329 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 세종학술정보원/과학기술실/ 청구기호 006.31 2012 등록번호 151313497 도서상태 대출가능 반납예정일 예약 서비스
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 006.31 2012 등록번호 121222329 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 세종학술정보원/과학기술실/ 청구기호 006.31 2012 등록번호 151313497 도서상태 대출가능 반납예정일 예약 서비스

컨텐츠정보

책소개

빅데이터 맞춤 기계학습 라이브러리인 머하웃의 개념부터 활용까지 소개하는 완벽 가이드. 머하웃은 대용량 데이터를 처리하는 확장성을 가진 아파치 기계학습용 오픈소스 라이브러리다. 이 책은 머하웃을 사용해서 실질 문제를 해결하는 실전 가이드로 머하웃의 추천엔진, 군집, 분류 기능을 탐험한다.

머하웃의 창시자와 핵심 커미터가 쓴 이 책은 머하웃의 핵심 개념인 추천엔진, 군집, 분류를 알기 쉽게 설명하고 프레임워크에 데이터 분석 기법을 활용하는 방법도 비중 있게 다룬다. 위키피디아 데이터 셋 등을 활용한 실전 테스트도 제시한다. 이 책은 빅데이터에서 효율적이고 빠르게 가치를 뽑아내려는 개발자에게 좋은 안내서가 될 것이다.

빅데이터 맞춤 기계학습 라이브러리인 머하웃의 개념부터 활용까지 소개하는 완벽 가이드!
머하웃은 대용량 데이터를 처리하는 확장성을 가진 아파치 기계학습용 오픈소스 라이브러리다. 이 책은 머하웃을 사용해서 실질 문제를 해결하는 실전 가이드로 머하웃의 추천엔진, 군집, 분류 기능을 탐험한다.

♣ 창시자가 쓴 '머하웃'의 정수
머하웃의 창시자와 핵심 커미터가 쓴 이 책은 머하웃의 핵심 개념인 추천엔진, 군집, 분류를 알기 쉽게 설명하고
프레임워크에 데이터 분석 기법을 활용하는 방법도 비중 있게 다룬다. 위키피디아 데이터 셋 등을 활용한 실전 테스트도 제시한다. 이 책은 빅데이터에서 효율적이고 빠르게 가치를 뽑아내려는 개발자에게 좋은 안내서가 될 것이다!

♣ 머하웃 버전에 대하여
머하웃은 여전히 개발이 진행 중이며, 이 책은 머하웃 릴리즈 0.5 버전을 기준으로 작성됐다.
최근에 머하웃 0.7 버전이 릴리즈되었다. 이 책의 부록에는 머하웃 0.6과 0.7 릴리즈 노트가 실려 있다.

♣ 대상 독자
기계학습 이론에 대한 교재를 찾고 있다면 이 책은 적합하지 않다. 온전한 기계학습 이론이나 이 책에 나온 다양한 알고리즘이나 기법들을 설명하지는 않기 때문이다. 기계학습 기법과 선형대수(행렬, 벡터)와 관련된 개념에 익숙한 사람들에게 이 책이 유용할지도 모르겠다. 하지만 그런 가정으로 쓰여지지는 않았다.
만약 최신의 지능형 애플리케이션을 개발하고 있다면, 이 책은 매우 유용할 것이다. 이 책은 기계학습의 이론보다는 실제로 동작하는 솔루션 사용 예제를 중심으로 실제로 사용하는 측면에 초점을 맞추고 있다. 어떻게 머하웃으로 문제를 해결할 수 있는지 실무 경험자가 설명하여 독자가 통찰력을 얻도록 이 책을 구성했다.
만약 인공지능, 기계학습 분야 혹은 관련 영역의 연구자라면 이 책은 적합하다. 새로운 알고리즘을 실제로 사용할 때는 큰 장애물이 있게 마련이다. 머하웃은 괜찮은 프레임워크, 패턴 컬렉션, 테스트와 대규모 환경에서 알고리즘 적용이 가능한 이미 준비된 컴포넌트를 제공한다. 이 책은 복잡한 분산 컴퓨팅 프레임워크 위에서 동작하는 기계학습 시스템 구현 방법에 관해 설명한다.
제품 혹은 새로운 사업에서 기계학습을 사용해서 경쟁력을 확보하려 한다면 이 책은 적합하다. 실제 환경의 예제를 참조해서 기계학습 기술을 다방면에서 적용할 만한 아이디어를 구상해볼 수 있을 것이다. 이렇게 되면 단순한 기술 팀 수준에서도 단번에 비용 대비 효과가 높은 구현이 가능해져, 기존에는 대규모 기술 자원이 있는 회사에만 현실적이었던 대용량 데이터를 처리할 수 있을 것이다.

- 빅데이터를 활용하여 추천, 분류, 군집 기능을 제공하고 싶은 개발자
- 인공지능, 기계학습 분야의 핵심 연구자나 이를 배우고 싶은 학생
- 빅테이터를 효율적으로 관리하려는 기술 기획자

[옮긴이의 글]
빅데이터가 IT 업계에서 화두입니다.
빅데이터에 관한 여러 가지 정의가 있겠지만, 일반적으로 빅데이터는 기존 시스템으로는 처리하기 매우 어려운 수준의 동적인 대용량 데이터를 의미합니다. 이런 빅데이터를 효과적으로 처리하려면 비용이나 관리 등 다양한 측면에서 분산된 시스템 여러 대가 필요합니다.
'구슬이 서말이어도 꿰어야 보배'라는 옛말이 있듯이, 모은 빅데이터를 잘 분석하고 의미 있는 정보를 뽑아낼 수 없다면 아무런 의미가 없습니다. 효과적인 빅데이터 분석에 대한 관심이 자연스럽게 기계학습으로 이어지는 현상은, 짧지 않은 기간 동안 검색, 텍스트 마이닝 분야에서 일해온 저에게는 매우 고무적입니다.
빅데이터 분야에서 오픈소스의 활약이 놀랍습니다. 특히 '빅데이터의 처리 기반은 하둡'이라는 공식이 IT 분야 전반에 자리매김하고 있습니다. 하둡을 중심으로 구축된 에코시스템은 기존 SW 업계에도 많은 영향을 주고 있습니다. 이제는 상용 SW도 빅데이터 처리를 위해 하둡을 지원하는 게 기본이 되었습니다.
머하웃은 하둡 위에서 동작하는 아파치 오픈소스 기계학습 라이브러리입니다. 범용적인 기계학습 라이브러리답게 텍스트 분석은 물론 다양한 공학 분야에도 활용할 수 있습니다.
물론 높은 품질과 생산성을 자랑하는 기존의 훌륭한 기계학습 솔루션이 존재하고 많은 소/중 규모의 분석 프로젝트에서는 이런 솔루션이 오히려 더 적합한 것도 사실입니다. 그럼에도 머하웃이 관심을 끄는 이유는 높은 분석 품질보다는 수십억 단위의 빅데이터를 분산 환경으로 처리하는 하둡의 맵리듀스 기반에서 바로 쓸 수 있기 때문입니다.
기계학습은 전통적인 수학, 통계학, 소프트웨어 과학의 교차점에 있습니다. 통계학을 사용해 데이터로부터 해석된 무언가를 기계가 배울 수 있도록 처리해 데이터에서 유용한 분석 결과를 만들어 냅니다. 기존 기계학습 책은 통계 수식과 학술적인 내용이 대부분이라서 전공자가 아닌 일반 SW 엔지니어가 학습하기 쉽지 않았습니다. 하지만 이 책은 개념적인 이론 설명과 구현 코드를 적절하게 배분하여 일반 SW 개발자도 기계학습을 쉽게 학습하고 활용할 수 있는 실질적인 지침을 제공합니다.
이 책을 이해하려면 고등학생 시절에 배웠던 수학 지식이 약간 필요합니다. 부록에 포함된 벡터, 행렬에 관한 내용을 미리 참고해보는 것도 좋을 것입니다. 이해하기 어려운 통계 용어는 되도록 이해하기 쉽게 고쳐 번역했지만, 학계에서 통용되는 용어는 혼선을 방지하기 위해 그대로 사용했습니다.
기계학습은 참으로 매력적인 분야입니다. 데이터를 기계가 잘 학습할 수 있도록 준비하고 데이터의 특징을 가르치는 역할은 궁극적으로 기계가 아닌 사람이 하기 때문입니다. 그뿐만 아니라 데이터에서 뽑아낼 특성과 분석 알고리즘의 선택과 적용에 따라 그 결과가 매우 달라지기 때문에 엔지니어의 숙련도와 축적된 경험이 반드시 필요한 분야이기도 합니다. 데이터 엔지니어링이 아닌 데이터 사이언스라고 부르는 이유도 어쩌면 이런 경험치가 반영된 것이 아닌가 합니다.
시스템을 구현하기 전에 먼저 여러분이 처리해야 할 데이터를 주의 깊게 관찰하기 바랍니다. 빅데이터 분석을 위해서 머하웃 같은 대용량 분석 SW와 하둡 인프라를 준비해야겠지만, 분석의 방향성을 결정하는 몫은 시스템이 아닌 여러분의 것이기 때문입니다. 빅데이터가 지나가는 IT 유행어일지도 모릅니다. 하지만 우리가 처리해야 할 데이터는 지금도 기하급수적으로 늘어나고 있다는 건 분명합니다.
끝으로 이 책의 출판을 결정하고 기회를 주신 한빛미디어의 배용석 부장님, 끝까지 빨간펜 역할을 해주신 최현우 과장님, 번역 작업을 위해 주말을 기꺼이 양보해 준 사랑하는 가족에게 고마움을 전합니다.
_안태성

♣ 구글, 아마존, MS가 선택한 맞춤형 추천 서비스의 비밀!
머하웃은 빅데이터를 처리하는 아파치 기계학습 라이브러리로, 사용자가 입력한 데이터에서 공통점을 찾아내거 나 대량의 콘텐츠에 자동 태그를 지정하는 등 가치 있는 데이터를 만들 때 유용하다. 수익을 극대화하기 위해 머하웃을 선택한 구글, 페이스북처럼 빅데이터에서 의미있는 가치를 창출해 맞춤형 서비스를 제공하고 싶다면 지금 바로 머하웃을 시작하라!

♣ 머하웃을 선택할 수 밖에 없는 이유!
기계학습 기술은 매우 큰 입력 데이터 처리 환경에서 사용한다. 그렇기 때문에 아무리 높은 성능의 컴퓨터라도 한 대로는 처리할 수 없다. 결국 머하웃 같은 솔루션을 구현하지 않고는 이런 대용량 처리는 불가능하다. 그래서 머하웃은 규모 확장성을 가장 높은 우선순위로 두고 있으며, 이 책은 기존 방식으로는 처리가 불가능한 대용량 데이터를 효과적으로 처리하는 방법에 초점을 두고 있다.
머하웃을 사용하면 방대햔 양의 빅데이터나, 빠르게 증가하는 데이터를 가장 효율적으로 처리할 수 있다! 머하웃의 세 가지 핵심 기술인 추천엔진, 군집, 분류로 여러분의 기술을 빠르게 해결하라.

추천_ 구매자의 사이트 사용 패턴을 분석하여 사용자가 관심을 가질만한 새로운 아이템을 제공하는 기술로 아마존이 제일 잘 활용하고 있다. 추천엔진은 지능적인 끼워팔기 기회를 만들어 매출을 향상시킬 수 있는 확실한 상업적 가치를 가진다. 이를 사용하면 연 8%~12%정도 판매율을 올릴 수 있다고 조사된 보고서도 있다.
군집_ 사물을 유사성이 높은 여러 개의 클러스터 그룹으로 나누는 것을 의미한다. 군집을 이용해서 이해하기 어려운 데이터 셋의 계층을 발견하고, 흥미로운 패턴을 도출하거나 데이터 셋을 이해하기 쉽게 할 수 있다. 모든 뉴스 기사를 무의미한 단순한 나열이 아닌 논리적으로 의미 있게 그룹화하기 위해 구글 뉴스는 군집 기술을 사용해서 주제별로 뉴스 기사를 그룹화한다.
분류_ 데이터에 레이블을 지정하여 그룹화하는 것을 의미한다. 이를 활용하면 이전에 관찰된 패턴과 신규 입력 데이터나 사물이 일치하는지 판별하고, 일반적이지 않은 사용자의 행동이나 패턴을 분별하는 데 도움이 된다. 또한 사용자 메시지가 실망인지 만족인지를 알아내는 평판분석에도 사용할 수 있다.

♣ 이 책의 상세 내용
1부 : 추천
2장부터 6장까지 구성되며 아파치 머하웃 기계학습 구현의 세가지 테마 중 하나인 협업 필터링과 추천에 대해 탐험해본다. 이러한 기법으로 사용자의 취향을 이해하고 사용자에게 새롭고 바람직한 콘텐츠를 찾아낼 수 있다. 또한 1부는 아파치 하둡의 분산 컴퓨팅 프레임워크에 크게 의존하는 이 책의 나머지 부분에 대한 준비 단계라고 할 수 있다. 먼저 단순히 자바를 사용한 아파치 머하웃의 기계학습을 만나보고 이 후에 하둡을 살펴보겠다.

2장에서는 머하웃에 구현된 추천엔진을 소개하며 동작되는 예제를 통해 성능을 평가해보겠다. 3장에서는 머하웃의 추천기에 적합한 효율적인 데이터 표현에 대해 논의해본다. 4장에서는 머하웃에서 제공하는 다양한 추천엔진에 대해 하나하나 살펴보고 다양한 특성과 속성에 대해 알아본다. 5장에서는 데이트 사이트의 데이터를 기반으로 한 사례 연구를 통해 어떻게 머하웃으로 현실 데이터를 처리하고 실전 배치가 가능한 추천기를 만들어 내는지 알아본다. 마지막인 6장에서는 아파치 하둡을 사용해서 머하웃으로 대규모 분산 추천엔진을 어떻게 구현하는지 알아본다.

2부 : 군집
7장에서 12장까지이며 아파치 머하웃의 군집 알고리즘에 대해 알아본다. 여기서 설명된 알고리즘으로 유사해 보이는 데이터를 셋이나 군집 형태로 그룹화할 수 있다. 군집을 활용하면 대용량 데이터에서 흥미로운 정보를 가진 그룹을 발견할 수도 있다. 2부는 군집의 단순한 문제를 가지고 있는 자바로 개발한 예제에서부터 시작한다. 학습을 진행하다 보면, 현실적인 대용량 데이터를 직면하게 되며, 이러한 빅데이터의 군집을 쉽게 처리하도록 하둡 잡 형태로 아파치 머하웃을 실행하는 법을 배울 것이다.

7장에서는 2차원 평면의 군집점 예를 통해 군집의 개념을 소개한다. 8장에서는 벡터의 개념을 소개하고 어떻게 데이터를 벡터로 표현하는지 알아본다. 9장에서는 아파치 머하웃의 다양한 군집 알고리즘에 대해 소개한다. 또한 명쾌한 예제를 통해 얼마나 군집 알고리즘이 다양한 활용 사례에 적합한지 확인해볼 것이다.

10장에서는 군집의 품질을 어떻게 측정하는지 알아보고, 어떻게 머하웃의 다양한 옵션과 파라미터를 설정해서 품질을 향상시킬 수 있는지 알아본다. 11장에서는 분산 측면에서 아파치 머하웃이 어떻게 구현되었는지 그리고 대용량 데이터 셋의 군집 작업을 하둡에서 어떻게 동작시키는지 알아본다. 마지막으로 12장에서는 앞 장에서 배운 군집 기법을 활용해서 실제 환경에서 발생하는 문제점을 아파치 머하웃으로 어떻게 해결하는지 살펴보겠다.

3부: 분류_
이 책의 세 번째이면서 마지막 파트인 3부는 13장에서 17장까지로 머하웃의 분류를 어떻게 사용하는지 소개한다. 여기에서 소개하는 기법을 사용하면 미리 선정한 카테고리에 적합한 데이터를 기계가 자동으로 할당하도록 질문을 구조화하고 데이터를 선택하고 준비할 수 있다. 분류는 단순화한 의사 결정의 형태로 개별 문제마다 각각 답변을 제시한다. 컴퓨터에서 분류란 올바른 의사 결정 예제를 학습하고, 이런 결정을 자동으로 모방하는 의사 결정 과정을 자동화하는 것을 말한다. 또한 이런 의사 결정은 예측 분석의 핵심 개념이기도 하다. 분류는 지도학습guided learning에 의존하고 한 번에 한 가지 질문과 답변에 집중한다는 점에서 1부와 2부에서 논의한 군집과 추천과는 다르다. 군집은 분류와는 대조적으로 기계 스스로의 결정을 따르며, 추천기는 가능한 답변에 등급을 매기고 최선을 선택한다.

이번 파트에서는 분류의 세 가지 단계에 대해 살펴보고자 한다. 13장과 14장에서는 분류의 기본을 소개하고 머하웃의 분류 모델을 어떻게 만들고 훈련할 수 있는지 확인해볼 것이다. 15장에서는 처리 과정 중 평가를 통해 최선의 분류 모델과 최고의 성능 확보에 필요한 미세한 튜닝을 어떻게 식별하는지 설명한다. 16장과 17장에서는 분류시스템을 실제 환경에 어떻게 적용하는지 살펴볼 것이다. 다양한 머하웃 알고리즘에서 사용하는 벡터의 특성을 어떻게 최적화하는지 자세하게 논의하면서 유용한 데이터를 정확하게 식별하고 추출하는 기법에 대해서 알아볼 것이다. 여기에는 목표 누설target leak 같은 문제를 피하는 비결도 포함되어 있다. 단계별 예제를 통해 분류기를 개발하고 최적의 성능을 내기 위한 세밀한 튜닝을 할 수 있게 될 것이다.

추가로, 속도와 규모 면에서 엄청난 수준의 요구 사항을 충족하는 효과적이고 신뢰할 만한 분류시스템을 어떻게 만들고 배포할지 자세하게 설명할 것이다. 이를 위해 17장에는 머하웃 분류를 직접 적용한 실제 온라인 마케팅회사의 사례 학습을 포함했다. 마지막으로 실제 환경에 적용한 사례 학습을 통해 분류기술을 적용하면서 어떻게 마케팅 회사의 아이디어를 구체화하는지 알아볼 것이다.

♣ 간략한 이 책의 내용
_사용자 그룹 데이터로 개인별 추천하기
_데이터 속의 논리적인 군집 찾아내기
_동적인 분류로 필터링과 정제하기
_머하웃 사용 실전 예제
_머하웃에서 사용하는 알고리즘 설명
_비디오/오디오 설명 파일 무료 제공

[추천평]
"머하웃의 기계학습에 대한 실질적인 토론"
_이사벨 드로스트, 아파치 머하웃 공동 창시자

"복잡한 주제를 이해하기 쉽게 썼다"
_릭 와그너, 레드햇의 선임 연구원

"빠르게 머하웃을 익힐 수 있다"
_데이빗 그로스만, 일리노이 공과대학 컴퓨터 공학과 부교수


정보제공 : Aladin

저자소개

션 오웬(지은이)

9년째 소프트웨어 엔지니어로 일하고 있으며, 대부분 기간을 구글의 모바일 웹 검색 개발에 썼다. 2008년부터는 아파치 머하웃 기계학습 프로젝트의 프라이머리 커미터로 참여하고 있으며 머하웃 컨설턴트로 일하고 있다.

로빈 애닐(지은이)

2008년 구글 썸머오브코드의 아파치 머하웃 프로젝트에 참여했다. 2009년에 머하웃 커미터가 되었으며, 구글에서 소프트웨어 엔지니어로 일한다.

테드 더닝(지은이)

현재 MapR 테크놀러지의 수석 애플리케이션 아키텍트로 아파치 머하웃 프로젝트의 커미터이며 PMC 멤버다. 머하웃의 군집, 분류, 행렬 분해 알고리즘 개발에 공헌했으며 MusicMatch(현재의 야후! 뮤직)와 Veoh 추천 시스템의 수석 아키텍트로 ID 분석을 통한 사기 적발 시스템을 개발했다.

엘렌 프리드만(지은이)

Ellen Friedman 생화학 박사이면서 경험이 많은 작가로, 생화학 분야의 연구 경력은 물론 분자생물학, 약학, 지구과학과 같은 폭넓은 주제에 대한 글을 쓰고 있다.

안태성(옮긴이)

컴퓨터시스템 응용기술사. 대학교에서 전자공학과 정보통계학을 공부했으며, 비정형 텍스트 분석 분야에서 16년째 일하고 있다. 기계번역, 음성인식 관련 기업에서 SW 연구 개발을 담당했으며, 한국어형태소분석기, 한일기계번역엔진 등 다양한 자연어 처리 SW를 직접 개발했다. 2003년에는 복합문서 객체 검색엔진의 개발 공로로 정보통신부 장관상을 받기도 했다. 현재는 비정형 콘텐츠 분석 SW 전문 업체인 솔트룩스의 창업 멤버로 텍스트 마이닝, 시맨틱웹 SW R&D와 고객 기술 자문을 담당하고 있다.

정보제공 : Aladin

목차

목차
옮긴이 소개 = 4
지은이 소개 = 5
옮긴이의 말 = 6
지은이의 말 = 8
이 책에 대하여 = 12
멀티미디어 자료에 대하여 = 16
감사의 말 = 18
표지 설명 = 19
CHAPTER 1 아파치 머하웃과의 만남
 1.1. 머하웃 이야기 = 36
 1.2. 머하웃 기계학습 테마 = 37
  1.2.1. 추천엔진 = 38
  1.2.2. 군집 = 38
  1.2.3. 분류 = 40
 1.3. 머하웃과 하둡으로 대용량 데이터와 씨름하기 = 41
 1.4. 머하웃 설정하기 = 43
  1.4.1. 자바와 통합개발환경 = 43
  1.4.2. 메이븐 설치하기 = 44
  1.4.3. 머하웃 설치하기 = 45
  1.4.4. 하둡 설치하기 = 46
 1.5. 요약 = 46
PART 1 추천
 CHAPTER 2 추천기 소개
  2.1. 추천 소개 = 50
  2.2. 처음으로 추천엔진 실행해보기 = 51
   2.2.1. 입력 데이터 만들기 = 52
   2.2.2. 추천기 만들기 = 54
   2.2.3. 결과물 분석하기 = 55
  2.3. 추천기 평가하기 = 56
   2.3.1. 학습 데이터와 점수 = 57
   2.3.2. RecommederEvaluator 실행하기 = 58
   2.3.3. 결과 평가해보기 = 59
  2.4. 정확률과 재현율 평가하기 = 60
   2.4.1. RecommenderIRStatsEvaluator 실행하기 = 61
   2.4.2. 문제점 = 63
  2.5. 그룹렌즈 데이터 셋 평가하기 = 64
   2.5.1. 추천기 입력용 데이터 추출하기 = 64
   2.5.2. 다른 추천기를 이용한 실험 수행 = 65
  2.6 요약 = 66
 CHAPTER 3 추천기에서 데이터 표현하기
  3.1. 선호 데이터 표현하기 = 68
   3.1.1. Preference 객체 = 68
   3.1.2. PreferenceArray 구현 = 69
   3.1.3. 컬렉션 속도 높이기 = 71
   3.1.4. FastByIDMap과 FastIDSet = 71
  3.2. 인메모리 DataModel = 72
   3.2.1. GenericDataModel = 72
   3.2.2. 파일 기반 데이터 = 73
   3.2.3. 새로고침 가능한 컴포넌트 = 74
   3.2.4. 파일 업데이트하기 = 75
   3.2.5. 데이터베이스 기반 데이터 = 75
   3.2.6. JDBC와 MySQL = 76
   3.2.7. JNDI를 통해 설정하기 = 77
   3.2.8. 프로그램으로 설정하기 = 78
  3.3. 선호값 없이 처리하기 = 79
   3.3.1. 선호값을 무시할 시점 = 80
   3.3.2. 선호값 없이 인메모리로 표현하기 = 80
   3.3.3. 호환되는 구현 방식 선택하기 = 82
  3.4 요약 = 85
 CHAPTER 4 추천 만들기
  4.1. 사용자 기반 추천 이해하기 = 88
   4.1.1. 추천이 잘못될 때 = 88
   4.1.2. 추천이 올바르게 될 때 = 89
  4.2. 사용자 기반 추천기 살펴보기 = 90
   4.2.1. 알고리즘 = 90
   4.2.2. GenericUserBasedRecommender를 사용한 알고리즘 구현 = 91
   4.2.3. 그룹렌즈 탐색하기 = 93
   4.2.4. 사용자 이웃 탐색하기 = 94
   4.2.5. 고정 크기 이웃 = 95
   4.2.6. 임계치 기반 이웃 = 96
  4.3. 유사도 측정법 살펴보기 = 97
   4.3.1. 피어슨 상관관계 기반의 유사도 = 97
   4.3.2. 피어슨 상관관계의 문제점 = 99
   4.3.3. 가중치 적용하기 = 100
   4.3.4. 유클리드 거리 기반의 유사도 정의하기 = 101
   4.3.5. 코사인 측정 유사도 적용하기 = 102
   4.3.6. 스피어만 상관관계의 관련 순위로 유사도 정의하기 = 103
   4.3.7. 타니모토 계수로 유사도의 선호값 무시하기 = 104
   4.3.8. 로그 우도 테스트로 스마트한 유사도 계산하기 = 106
   4.3.9. 선호 추정하기 = 107
  4.4. 아이템 기반 추천 = 108
   4.4.1. 알고리즘 = 109
   4.4.2. 아이템 기반 추천기 살펴보기 = 110
  4.5. 슬로프-원 추천기 = 112
   4.5.1. 알고리즘 = 113
   4.5.2. 슬로프-원 실제 체험 = 114
   4.5.3. 용량 차이와 메모리 고려 = 116
   4.5.4. 선행 계산 분산하기 = 116
  4.6. 새롭고 실험적인 추천기 = 117
   4.6.1. 특이값 분해 기반 추천기 = 117
   4.6.2. 선형보간법을 활용한 아이템 기반 추천 = 119
   4.6.3. 군집 기반 추천 = 120
  4.7. 다른 추천기와 비교해보기 = 122
   4.7.1. 머하웃에서 콘텐츠 기반 기법 적용하기 = 122
   4.7.2. 콘텐츠 기반 추천 깊게 살펴보기 = 123
  4.8 모델 기반 추천기 비교해보기 = 123
  4.9 요약 = 124
 CHAPTER 5 추천기를 실제로 적용해보기
  5.1. 데이트 사이트의 예제 데이터 분석하기 = 128
  5.2. 효과적인 추천기 찾아보기 = 131
   5.2.1. 사용자 기반 추천기 = 131
   5.2.2. 아이템 기반 추천기 = 133
   5.2.3. 슬로프-원 추천기 = 134
   5.2.4. 정확률과 재현율 평가하기 = 135
   5.2.5. 성능 평가하기 = 136
  5.3. 도메인 특화 정보 추가 분석하기 = 137
   5.3.1. 커스텀 아이템 유사도 측정 사용 = 137
   5.3.2. 콘텐츠 기반 추천 = 139
   5.3.3. IDRescorer로 추천 개선하기 = 140
   5.3.4. IDRescorer에 성별 정보 포함하기 = 141
   5.3.5. 커스텀 추천기의 패키징 = 144
  5.4. 익명 사용자에게 추천하기 = 146
   5.4.1. PlusAnonymousUserDataModel의 임시 사용자 = 146
   5.4.2. 익명 사용자 모으기 = 148
  5.5. 웹 기반 추천기 만들기 = 149
   5.5.1. WAR 파일 패키징하기 = 149
   5.5.2. 배포 테스트하기 = 151
  5.6. 추천기의 업데이트와 모니터링 = 153
  5.7. 요약 = 154
 CHAPTER 6 분산 추천 계산
  6.1. 위키피디아 데이터 셋 분석하기 = 156
   6.1.1. 규모 문제와 씨름하기 = 158
   6.1.2. 분산 컴퓨팅의 장점과 단점 평가 = 158
  6.2. 분산 아이템 기반 알고리즘 설계하기 = 160
   6.2.1. 동시 발생 행렬 생성하기 = 160
   6.2.2. 사용자 벡터 계산하기 = 162
   6.2.3. 추천 만들기 = 162
   6.2.4. 결과 해석하기 = 163
   6.2.5. 분산 처리 구현을 향해서 = 164
  6.3. 맵리듀스 기반의 분산 알고리즘 구현하기 = 164
   6.3.1. 맵리듀스 살펴보기 = 165
   6.3.2. 맵리듀스로 전환하기: 사용자 벡터 생성하기 = 165
   6.3.3. 맵리듀스로 전환하기: 동시 발생 계산하기 = 167
   6.3.4. 맵리듀스로 전환하기: 행렬 곱셈의 재검토 = 169
   6.3.5. 맵리듀스로 전환하기: 부분곱으로 행렬 곱셈하기 = 170
   6.3.6. 맵리듀스로 전환하기: 추천하기 = 174
  6.4. 하둡에서 맵리듀스 실행하기 = 176
   6.4.1. 하둡 설정하기 = 176
   6.4.2. 하둡으로 추천 실행하기 = 177
   6.4.3. 맵퍼와 리듀서 설정하기 = 180
  6.5. 의사-분산 추천기 = 180
   6.6 추천 활용하기 = 183
   6.6.1. 클라우드에서 실행하기 = 183
   6.6.2. 독특한 추천 사용을 상상하기 = 184
  6.7. 요약 = 185
PART 2 군집
 CHAPTER 7 군집 만나보기
  7.1. 군집 소개 = 190
  7.2. 아이템 유사성 측정 = 193
  7.3. Hello World: 단순 군집 예제 실행하기 = 194
   7.3.1. 입력 만들기 = 194
   7.3.2. 머하웃 군집 사용 = 196
   7.3.3. 결과 분석 = 200
  7.4. 거리 측정법 = 201
   7.4.1. 유클리드 거리 측정법 = 202
   7.4.2. 제곱 유클리드 거리 측정법 = 202
   7.4.3. 맨하탄 거리 측정법 = 202
   7.4.4. 코사인 거리 측정법 = 203
   7.4.5. 타니모토 거리 측정법 = 204
   7.4.6. 가중치 거리 측정법 = 205
  7.5. 다시 한번 Hello World 예제에서 다양한 거리 측정법 시험해보기 = 205
  7.6. 요약 = 207
 CHAPTER 8 데이터 표현
  8.1. 벡터의 시각화 = 211
   8.1.1. 데이터를 벡터로 변환하기 = 211
   8.1.2. 머하웃에서 사용하는 벡터 준비하기 = 214
  8.2. 텍스트 문서를 벡터로 표현하기 = 216
   8.2.1. TF-IDF로 가중치 향상하기 = 217
   8.2.2. n-그램 연어로 단어의 의존 관계 파악하기 = 219
  8.3. 문서에서 벡터 생성하기 = 221
  8.4. 정규화로 벡터의 품질 향상하기 = 225
  8.5. 요약 = 227
 CHAPTER 9 머하웃 군집 알고리즘
  9.1. K-평균 군집 = 230
   9.1.1. K-평균에 대해 알아야 할 모든 것 = 231
   9.1.2. K-평균 군집 실행하기 = 233
   9.1.3. 캐노피 군집으로 완벽한 k값 구하기 = 242
   9.1.4. 사례 연구: K-평균으로 뉴스 기사 군집하기 = 249
  9.2. K-평균을 넘어서: 군집 기법의 개요 = 253
   9.2.1. 다른 종류의 군집 문제 = 253
   9.2.2. 다른 군집 기법들 = 256
  9.3. 퍼지 K-평균 군집 = 259
   9.3.1. 퍼지 K-평균 군집 실행하기 = 259
   9.3.2. 얼마나 퍼지해야 너무 퍼지한 것인가? = 262
   9.3.3. 사례 연구: 퍼지 K-평균을 사용한 뉴스 기사의 군집 = 263
  9.4. 모델 기반 군집 = 264
   9.4.1. K-평균의 약점 = 265
   9.4.2. 디리클레 군집 = 267
   9.4.3. 모델 기반의 군집 예제 실행하기 = 268
  9.5. 잠재 디리클레 할당을 사용한 토픽 모델링 = 272
   9.5.1. 잠재 디리클레 분석의 이해 = 274
   9.5.2. TF-IDF vs. LDA = 275
   9.5.3. LDA의 파라미터 튜닝하기 = 275
   9.5.4. 사례 학습: 뉴스 기사에서 토픽 찾기 = 276
   9.5.5. 토픽 모델링 애플리케이션 = 279
  9.6. 요약 = 280
 CHAPTER 10 군집 품질 평가와 향상 기법
  10.1. 군집 결과 검사하기 = 284
  10.2. 군집 결과 분석하기 = 287
   10.2.1. 거리 측정법과 특성 선택 = 288
   10.2.2. 군집 간 거리와 군집 내 거리 = 289
   10.2.3. 혼합된 군집과 중첩된 군집 = 292
  10.3. 군집 품질 향상하기 = 293
   10.3.1. 문서 벡터의 생성 향상하기 = 293
   10.3.2. 커스텀 거리 측정법 만들기 = 298
  10.4. 요약 = 300
 CHAPTER 11 군집 실전 배치
  11.1. 하둡에서 군집을 실행하기 위한 빠른 시작 = 302
   11.1.1. 로컬 하둡 클러스터에서 군집 실행하기 = 303
   11.1.2. 하둡 설정 커스터마이징하기 = 305
  11.2. 군집 성능 튜닝하기 = 307
   11.2.1. CPU 의존성이 높은 작업에서 성능 함정 피하기 = 308
   11.2.2. I/O 의존적인 작업에서 성능 함정 피하기 = 309
  11.3. 배치와 온라인 방식의 군집 = 311
   11.3.1. 사례 연구: 온라인 뉴스 군집 = 312
   11.3.2. 사례 연구: 위키피디아 문서 군집하기 = 313
  11.4. 요약 = 315
 CHAPTER 12 실환경에 군집 적용
  12.1. 트위터에서 유사한 사용자 찾기 = 318
   12.1.1. 데이터 전처리와 특성 가중치 = 319
   12.1.2. 특성 선택의 공통 함정 피하기 = 321
  12.2. Last.fm에서 아티스트 태그 제시하기 = 325
   12.2.1. 동시 발생을 사용한 태그 추천 = 326
   12.2.2. Last.fm 아티스트 사전 만들기 = 327
   12.2.3. Last.fm 태그를 아티스트 속성 벡터로 변환하기 = 329
   12.2.4. Last.fm 데이터를 사용해서 K-평균 실행하기 = 331
  12.3. 스택 오버플로우 데이터 셋 분석하기 = 333
   12.3.1. 스택 오버플로우 데이터 셋 파싱하기 = 333
   12.3.2. 스택 오버플로우의 군집 문제 찾아보기 = 334
  12.4 요약 = 336
PART 3 분류
 CHAPTER 13 분류 만나보기
  13.1. 왜 머하웃 분류기를 사용해야 할까? = 340
  13.2. 분류시스템 기초 = 342
   13.2.1. 분류, 추천, 군집의 차이 = 344
   13.2.2. 분류 응용 사례 = 344
  13.3. 분류기는 어떻게 동작하나? = 346
   13.3.1. 모델 = 347
   13.3.2. 훈련 vs. 테스트 vs. 실전 = 348
   13.3.3. 예측 변수 vs. 목표 변수 = 348
   13.3.4. 레코드, 필드, 값 = 350
   13.3.5. 4가지 종류의 예측 변수값 = 350
   13.3.6. 감독 학습 vs. 비감독 학습 = 353
  13.4. 전형적인 분류 프로젝트의 워크플로우 = 353
   13.4.1. 워크플로우 1 단계: 분류 모델 훈련 = 354
   13.4.2. 워크플로우 2 단계: 분류 모델 평가 = 361
   13.4.3. 워크플로우 3 단계: 모델 실전 적용 = 361
  13.5. 단계적인 단순 분류 예제 = 362
   13.5.1. 데이터와 도전 = 362
   13.5.2. 색이 채워진 도형을 찾기 위한 모델의 훈련: 미리 생각하기 = 363
   13.5.3. 모델 훈련용 학습 알고리즘 선택하기 = 364
   13.5.4. 색채움 분류기의 성능 향상 = 368
  13.6. 요약 = 373
 CHAPTER 14 분류기 훈련하기
  14.1. 머하웃 분류기 구축을 위해 특성 추출하기 = 377
  14.2. 미가공 데이터를 분류 가능 데이터로 전처리하기 = 379
   14.2.1. 미가공 데이터 변형하기 = 379
   14.2.2. 컴퓨터를 이용한 마케팅 예제 = 380
  14.3. 분류 가능 데이터를 벡터로 변환하기 = 382
   14.3.1. 벡터로 데이터 표현하기 = 382
   14.3.2. 머하웃 API를 사용한 특성 해시 = 384
  14.4. 20개 뉴스그룹 데이터 셋을 SGD로 분류하기 = 390
   14.4.1. 시작하기: 데이터 셋을 간단히 살펴보기 = 390
   14.4.2. 20개 뉴스그룹 데이터를 파싱하고 특성 토큰화하기 = 394
   14.4.3. 20개 뉴스그룹 데이터 처리용 훈련 코드 = 394
  14.5. 분류기 훈련을 위한 알고리즘 선택하기 = 401
   14.5.1. 비병렬이지만 강력한 알고리즘: SGD와 SVM 사용하기 = 402
   14.5.2. 나이브 분류기의 능력: 나이브 베이즈와 보완 나이브 베이즈 사용하기 = 403
   14.5.3. 정교한 구조의 힘: 랜덤 포레스트 알고리즘 사용하기 = 403
  14.6. 20개 뉴스그룹 데이터를 나이브 베이즈로 분류하기 = 404
   14.6.1. 시작하기: 나이브 베이즈로 데이터 추출하기 = 405
   14.6.2. 나이브 베이즈 분류기 훈련하기 = 406
   14.6.3. 나이브 베이즈 모델 테스트하기 = 407
  14.7. 요약 = 409
 CHAPTER 15 분류기 평가와 튜닝
  15.1. 머하웃에서 분류기 평가하기 = 412
   15.1.1. 빠른 피드백 얻기 = 413
   15.1.2. '좋음'이 무엇을 의미하는지 결정하기 = 413
   15.1.3. 에러 비용의 차이 인식하기 = 414
  15.2. 분류기 평가 API = 415
   15.2.1. AUC 계산 = 416
   15.2.2. 혼동 행렬과 엔트로피 측정 = 418
   15.2.3. 평균 로그 우도 계산하기 = 421
   15.2.4. 모델 분해하기 = 423
   15.2.5. 20개 뉴스그룹의 SGD 분류기 성능 = 424
  15.3. 언제 분류기의 성능이 나빠지나? = 429
   15.3.1. 목표 누설 = 430
   15.3.2. 잘못된 특성 추출 = 433
  15.4. 더 나은 성능을 위한 튜닝 = 436
   15.4.1. 문제 튜닝 = 436
   15.4.2. 분류기 튜닝 = 441
  15.5. 요약 = 443
 CHAPTER 16 분류기 실전 배치하기
  16.1. 초대형 시스템 적용 프로세스 = 446
   16.1.1. 문제 확인 = 447
   16.1.2. 필요에 따라 특성 추출 최적화하기 = 448
   16.1.3. 필요에 따라 벡터 인코딩 최적화하기 = 448
   16.1.4. 확장성을 가진 분류 서비스 배치하기 = 449
  16.2. 규모와 속도 요구 수준 결정하기 = 449
   16.2.1. 얼마나 커야 크다고 할 수 있나? = 449
   16.2.2. 크기 vs. 속도 균형 맞추기 = 452
  16.3. 대형 시스템용 훈련 파이프라인 구축하기 = 454
   16.3.1. 대규모 데이터 취득과 유지 = 455
   16.3.2. 반정규화와 다운샘플링 = 458
   16.3.3. 훈련 중 발생할 수 있는 위험 = 460
   16.3.4. 고속으로 데이터를 읽고 인코딩하기 = 462
  16.4. 머하웃 분류기와 통합하기 = 469
   16.4.1. 미리 계획하기: 통합의 중요한 이슈 = 469
   16.4.2. 모델의 직렬화 = 476
  16.5. 예제: 쓰리프트 기반의 분류 서버 = 478
   16.5.1. 분류 서버 실행하기 = 484
   16.5.2. 분류 서비스에 접속하기 = 486
  16.6. 요약 = 489
 CHAPTER 17 사례 학습: Shop It To Me
  17.1. 왜 Shop It To Me는 머하웃을 선택했나? = 492
   17.1.1. Shop It To Me는 무슨 사이트인가? = 493
   17.1.2. 왜 Shop It To Me에 분류시스템이 필요한가? = 493
   17.1.3. 나머지 영역에서 머하웃의 균형 잡기 = 494
  17.2. 이메일 마케팅 시스템의 일반적인 구조 = 495
  17.3. 모델 훈련하기 = 498
   17.3.1. 분류 프로젝트의 목표 정하기 = 499
   17.3.2. 시간으로 구분하기 = 500
   17.3.3. 목표 누설 피하기 = 501
   17.3.4. 학습 알고리즘 수정 = 501
   17.3.5. 특성 벡터 인코딩 = 502
  17.4. 분류 속도 향상하기 = 506
   17.4.1. 특성 벡터의 선형 결합 = 507
   17.4.2. 모델 점수의 선형 확장 = 508
  17.5. 요약 = 511
Appendix(부록)
 APPENDIX A. JVM 튜닝 = 514
 APPENDIX B. 머하웃에서 사용하는 수학 = 517
  B.1. 벡터 = 517
  B.2. 행렬 = 521
  B.3. 머하웃의 수학과 하둡 = 523
 APPENDIX C. 참고 문헌 = 524
 APPENDIX D. 머하웃 버전 업데이트 = 527
  D.1. 0.6 릴리즈 노트 = 527
  D.2. 0.7 릴리즈 노트 = 534
찾아보기 = 537

관련분야 신착자료

Deisenroth, Marc Peter (2020)
National Academies of Sciences, Engineering, and Medicine (U.S.) (2020)