머신러닝 기초 이론, 실전 예제, 문제 해결까지 한 번에
이 책은 구글과 라쿠텐 머신러닝 개발자가 초보자 눈높이에서 머신러닝의 핵심 이론과 실용적인 예제를 제시합니다. 머신러닝 입문자가 이론을 바탕으로 강력한 성능을 내는 머신러닝 시스템을 구현하고 사용할 수 있도록 하는 것이 이 책의 목표입니다.
1부에서는 '머신러닝 기초 지식', 2부에서는 '머신러닝 주요 모델', 3부에서는 '머신러닝 시스템 구현'을 알려줍니다. 이론과 실무 예제와 해결 방법까지 모두 담고 있어 입문자뿐 아니라 이미 머신러닝을 현업에서 다루면서 체계적으로 실력을 다잡고자 하는 중고수에게도 최고의 선택이 될 겁니다.
★ 이 책에서 다루는 내용
이 책은 머신러닝 입문자가 알아야 하는 머신러닝의 전반적인 내용을 다룹니다. 여러분은 머신러닝이 왜 쓸모 있고 어떤 모델과 문제가 있는지, 실무에서 어떻게 사용하는지, 머신러닝의 다양한 문제를 어떻게 해결할 수 있는지, 프로그램 코드를 어떻게 만드는지 알게 될 겁니다.
[1부 머신러닝 기초 지식]
머신러닝과 딥러닝이 무엇이고 어떤 분류와 어떤 개념이 있는지 알아봅니다. 1부의 기본 개념은 3부의 실습에서 유용하게 사용되므로 정확히 알고 가는 것이 좋습니다.
-1장 머신러닝 시작하기
머신러닝의 큰 그림을 이해하는 데 도움이 되는 내용을 소개합니다. 머신러닝과 딥러닝이 무엇인지, AI와 다른 관련 분야들과는 어떠한 관계를 갖고 있으며 어떻게 분류하는지 설명합니다.
- 2장 머신러닝의 주요 개념
머신러닝의 주요 개념을 설명합니다. 이론적인 부분을 최대한 쉽고 실용적으로 설명했습니다. 이 장을 읽고 나면 머신러닝을 도입했을 때 문제를 어떻게 바라보고 어떻게 표현하며 어떻게 해결 방법을 찾는지, 그리고 예측에 어떻게 사용하는지에 대해 알 수 있습니다. 이들 개념은 성능에 커다란 영향을 끼치므로 어렵더라도 읽어보기 바랍니다.
[2부 머신러닝 주요 모델]
머신러닝 주요 모델의 이론과 개념을 실제 적용 사례와 함께 설명합니다. 회귀, 군집화 등 머신러닝의 모델에 대해 어느 정도 알고 있지만 바탕이 되는 이론이나 적용할 수 있는 문제가 무엇인지에 대해 구체적으로 알고 싶으면 2부를 꼭 읽어보세요. 특히 8장은 실제로 이론을 적용했을 때 발생하는 다양한 문제를 해결하는 방법을 소개합니다.
- 3장 데이터와 문제
문제의 종류와 데이터에 대해 이해해야 머신러닝을 제대로 수행할 수 있습니다. 데이터와 문제의 종류를 소개하여 머신러닝으로 해결할 수 있는 문제를 이해하는 데 도움을 줍니다.
- 4장 구매 이력 데이터를 이용한 사용자 그룹 만들기
수치 항목으로 구성된 구매 이력 데이터로 사용자 그룹을 만드는 문제를 다룹니다. 수치 데이터를 이용하는 대표적인 모델인 회귀와 군집화를 좀 더 자세히 알아봅니다.
- 5장 문서 분석 시스템 만들기
문서를 분석하는 다양한 방법에 대해 설명합니다. 문서를 주어진 카테고리에 맞게 분류하는 방법, 숨겨진 토픽을 찾는 방법, 문법을 분석하는 방법, 문서에서 고유명사를 추출하는 방법 등 이론적인 기반을 소개합니다. 또한 최신 유행하는 임베딩 학습으로 문서를 분석하는 방법도 소개합니다.
- 6장 영화 추천 시스템 만들기
넷플릭스, 유튜브 등의 서비스는 사용자가 좋아할 만한 영상을 어떻게 찾아낼까요? 추천 시스템의 기본 이론에 대해 알아봅니다.
- 7장 이미지 인식 시스템 만들기
이미지의 내용을 어떻게 인식하는지에 대해 설명합니다. 비슷한 사진 찾기, 이미지에 들어 있는 주요 물체를 찾는 인식 기법에 대해 설명합니다. 또한 최신 기법인 신경망을 이용한 이미지 분류에 대해서도 살펴봅니다.
- 8장 머신러닝의 다양한 문제점 해결하기
머신러닝을 최초로 구현했을 때부터 바로 좋은 성능을 보인다면 정말 운이 좋은 겁니다. 같은 방법을 사용하더라도 여러 가지 상황에 따라 좋은 성능이 나오지 않을 수 있습니다. 대부분의 경우에는 몇 가지 문제만 해결해도 엄청난 성능 향상을 얻을 수 있습니다. 모델의 다양한 문제점을 해결하는 방법, 까다로운 데이터를 처리하는 방법, 속도 향상을 위한 방법 등을 알아
봅니다.
[3부 머신러닝 시스템 구현]
3부에서 설명한 이론을 실제로 구현하는 방법과 라이브러리를 이용하는 방법을 소개합니다. 모델을 실제로 적용하는 방법을 더 빨리 알고 싶다면 2부보다 3부를 먼저 읽어도 됩니다.
- 9장 머신러닝 소프트웨어 소개
머신러닝 태스크에 사용되는 프로그래밍 언어와 각 언어에서 사용하는 대표적인 머신러닝 라이브러리 및 딥러닝 프레임워크를 소개합니다. 이 책에서 주로 사용할 라이브러리는 사이킷런과 텐서플로입니다. 이 두 라이브러리의 기본적인 사용법에 대해서도 알아봅니다.
- 10장 구매 이력 데이터를 이용한 사용자 그룹 만들기 - 실전
4장에서 소개한 '구매 이력 데이터를 이용한 사용자 그룹 만들기'를 실제로 구현해봅니다. 데이터와 프로그래밍 코드를 함께 살펴보면서 다양한 군집화 구현에 대해 살펴봅니다.
- 11장 문서 분석 시스템 만들기 - 실전
5장에서 살펴본 다양한 '문서 분석 시스템'을 구현해봅니다. 스팸문자 분류기와 문서 내용을 간추리는 데 사용되는 토픽을 찾는 방법, 한국어 처리와 임베딩 학습을 통한 문서 분석 방법을 알아봅니다.
- 12장 영화 추천 시스템 만들기 - 실전
6장에서 설명한 '영화 추천 시스템'을 구현해봅니다. 실제 데이터와 프로그래밍 코드를 살펴보면서 협업 필터링 구현 방법에 대해 소개합니다.
- 13장 이미지 인식 시스템 만들기 - 실전
7장에서 살펴본 이미지 관련 기술을 이용해 '이미지 인식 시스템'을 만듭니다. 기본적인 이미지 데이터를 다루는 방법과 얼굴 사진 분류 및 딥러닝을 이용한 손글씨 분류를 구현해봅니다.
막연히 인간이 무엇인지 데이터를 통해 이해하고 싶다며 컴퓨터공학과에 들어간 이후 머신러닝과 소프트웨어 개발의 길을 걷고 있다. 서울대학교에서 컴퓨터공학부를 마치고 조지아 공과대학에서 효율적인 문서의 표현형 학습에 대한 머신러닝을 연구하여 컴퓨터 과학 석사와 박사 학위를 취득했다. 현재 구글 리서치에 소속되어 모바일 환경에서의 머신러닝을 주제로 연구 개발하고 있다.
[Part 1 머신러닝 기초 지식]
1장. 머신러닝 시작하기
__1.1 머신러닝 소개
__1.2 머신러닝을 이해하는 데 필요한 배경 지식
__1.3 머신러닝 발전사
__1.4 머신러닝의 분류
__1.5 마치며
2장. 머신러닝의 주요 개념
__2.1 모델 : 문제를 바라보는 관점
__2.2 손실함수
__2.3 최적화 : 실제로 문제를 푸는 방법
__2.4 모델 평가 : 실제 활용에서 성능을 평가하는 방법
__2.5 마치며
[Part 2 머신러닝 주요 모델]
3장. 데이터와 문제
__3.1 데이터형
__3.2 데이터양과 품질
__3.3 데이터 표준화
__3.4 문제 유형
__3.5 마치며
4장. 구매 이력 데이터를 이용한 사용자 그룹 만들기
__4.1 군집화
__4.2 K-중심 군집화
__4.3 계층적 군집화
__4.4 밀도 기반 군집화
__4.5 유사도 계산
__4.6 마치며
5장. 문서 분석 시스템 만들기
__5.1 문서 분류 시스템 만들기
__5.2 토픽 모델링
__5.3 문법 분석
__5.4 단어 임베딩 학습 - word2vec
__5.5 마치며
6장. 영화 추천 시스템 만들기
__6.1 영화 추천 시스템
__6.2 유사도 계산
__6.3 내용 기반 추천 시스템
__6.4 협업 필터링
__6.5 표준화
__6.6 마치며
7장. 이미지 인식 시스템 만들기
__7.1 이미지 처리의 기본 개념
__7.2 이미지 인식
__7.3 이미지 인식에 사용하는 피처
__7.4 딥러닝을 이용한 이미지 인식
__7.5 마치며
8장. 머신러닝의 다양한 문제점 해결하기
__8.1 모델 문제
__8.2 데이터 문제
__8.3 속도 문제
__8.4 마치며
[Part 3 머신러닝 시스템 구현]
9장. 머신러닝 소프트웨어 소개
__9.1 파이썬 설치와 라이브러리
__9.2 유명 라이브러리 소개
__9.3 이 책에서 사용하는 툴킷
__9.4 마치며
10장. 구매 이력 데이터를 이용한 사용자 그룹 만들기 - 실전
__10.1 데이터셋
__10.2 데이터 전처리
__10.3 K-평균 군집화
__10.4 올바른 클러스터 수 K 정하기
__10.5 계층적 군집화
__10.6 마치며
11장. 문서 분석 시스템 만들기 - 실전
__11.1 스팸 문자 필터 만들기(문서 분류)
__11.2 토픽 모델 시스템 만들기
__11.3 품사 분석 시스템 만들기
__11.4 고유명사 태깅 시스템 만들기
__11.5 한국어 위키백과를 이용한 word2vec 만들기
__11.6 마치며
12장. 영화 추천 시스템 만들기 - 실전
__12.1 데이터셋 구하기
__12.2 데이터 전처리
__12.3 내용 기반 영화 추천 시스템 만들기
__12.4 협업 필터링 기반 영화 추천 시스템 만들기
__12.5 마치며
13장. 이미지 인식 시스템 만들기 - 실전
__13.1 이미지 데이터를 이용한 K-평균 군집화
__13.2 주성분 분석을 이용한 사람 얼굴 인식
__13.3 CNN을 이용한 손글씨 숫자 분류
__13.4 마치며
부록 : 용어표