책소개
"- 혼자 해도 충분하다! 1:1 과외하듯 배우는 인공지능 자습서
이 책은 수식과 이론으로 중무장한 머신러닝, 딥러닝 책에 지친 `독학하는 입문자`가 `꼭 필요한 내용을 제대로` 학습할 수 있도록 구성했다. 구글 머신러닝 전문가(Google ML expert)로 활동하고 있는 저자는 여러 차례의 입문자들과 함께한 머신러닝&딥러닝 스터디와 번역·집필 경험을 통해 `무엇을` `어떻게` 학습해야 할지 모르는 입문자의 막연함을 이해하고, 과외 선생님이 알려주듯 친절하게 핵심적인 내용을 콕콕 집어준다. 컴퓨터 앞에서 [손코딩]을 따라하고, 확인 문제를 풀다 보면 그간 어렵기만 했던 머신러닝과 딥러닝을 개념을 스스로 익힐 수 있을 것이다!
- 베타리더가 함께 만든 입문서
베타리딩 과정을 통해 입문자에게 적절한 난이도, 분량, 학습 요소 등을 고민하고 반영했다. 어려운 용어와 개념은 한 번 더 풀어 쓰고, 복잡한 설명은 눈에 잘 들어오는 그림으로 풀어 냈다. `혼자 공부해본` 여러 입문자의 마음과 눈높이가 책 곳곳에 반영된 것이 이 책의 가장 큰 장점이다.
누구를 위한 책인가요?
- 인공지능, 머신러닝, 딥러닝 학습의 필요성을 인지하고 파이썬 정도의 기초 프로그래밍 언어를 입문한 독자
- 머신러닝, 딥러닝에 관심은 있지만 너무 어려운 내용으로 시도가 힘들었던 독자
- 개념만 어렴풋이 아는 데 그쳐버리거나 여전히 각 의미가 헷갈려 제대로 낮은 단계부터 다시 배우려는 독자
도서 특징
하나, 탄탄한 학습 설계 : `입문자 맞춤형 7단계 구성`을 따라가며 체계적으로 반복 학습한다
이 책은 머신러닝과 딥러닝의 핵심 내용을 7단계에 걸쳐 반복 학습하면서 자연스럽게 머릿속에 기억되도록 구성했다. 모든 절에서 [핵심 키워드]와 [시작하기 전에]를 통해 각 절의 주제에 대한 대표 개념을 워밍업한 후, 이론과 실습을 거쳐 마무리에서는 [핵심 포인트]와 [확인 문제]로 한번에 복습한다. `혼자 공부할 수 있는` 커리큘럼을 그대로 믿고 끝까지 따라가다 보면 인공지능 공부가 난생 처음인 입문자도 무리 없이 책을 끝까지 마칠 수 있다!
둘, 파이썬만 안다면 프로젝트별 `손코딩`으로 머신러닝과 인공지능을 제대로 익힌다
파이썬 기초 지식이 있는 독자라면 이론 설명은 두 눈과 머리로 술술 읽으며 넘어가고, 직접 손코딩하며 실전 감각을 익히도록 엄선된 프로젝트 실습 예제를 담았다. 반복 학습과 연습이 가장 필수적인 입문자도, 실전형 코드로 연습하면서 책에 담긴 코드를 `나의 코드`로 만들 수 있다. 7장부터 시작하는 딥러닝은 머신러닝 중 4장 내용을 반복 학습한 다음에 익히도록 한다.
셋, `혼공`의 힘을 실어줄 동영상 강의, 학습 사이트 지원
http://hongong.hanbit.co.kr
책으로만 학습하기엔 여전히 어려운 입문자를 위해 저자 직강 동영상도 지원한다. 또 학습을 하며 궁금한 사항은 언제든 질문할 수 있도록 학습 사이트를 제공한다. 저자가 질문 하나하나 직접 답변하고 있으며, 관련 최신 기술과 정보도 공유한다. 게다가 혼자 공부하는 그 길에 함께 공부하기를 원하는 사람들의 모임인 혼공 학습단을 운영하여 마지막까지 포기하지 않고 독자가 완주할 수 있도록 최대한 지원하고 있다.
넷, 언제 어디서든 가볍게 볼 수 있는 혼공 필수 [용어 노트] 제공
꼭 기억해야 할 핵심 개념과 용어만 따로 정리한 [용어 노트]를 제공한다. 처음 프로그래밍에 입문하는 사람에게 낯선 용어가 어렵듯이 머신러닝과 딥러닝을 처음 접하는 사람에게도 낯선 용어가 진입 장벽이 된다는 것을 베타리더를 통해 확인했고, 어려운 것이 아니라 익숙하지 않아서 헷갈리는 것이므로 잘 생각나지 않을 때는 언제든 부담 없이 펼쳐보자. 제시된 용어 외에도 새로운 용어를 추가하면서 자신만의 용어 노트를 완성해가는 것도 또 다른 재미가 될 것이다.
다섯, 스토리텔링 속 주인공과 함께 독자도 성장
낯설고 어렵기만 한 이론을 풀기 위해서 한빛 마켓에 입사한 신입사원이 업무에서 머신러닝, 딥러닝을 어떻게 활용하는지를 스토리텔링으로 풀었다. 앱에 새로운 기능을 더해가는 신입사원의 이야기를 통해 독자도 함께 머신러닝, 딥러닝을 학습할 수 있도록 구성했다. 각 절의 끝에는 [문제해결 과정]을 두어 신입사원이 어떤 과정을 통해 문제를 해결했는지 간략하게 정리한다.
먼저 읽은 베타리더들의 한 마디
-이 책 하나만 있어도 충분히 인공지능 기초를 다질 수 있다고 자신있게 얘기할 수 있습니다. _이동훈 님
-기초 개념과 핵심 키워드, 복습을 도와주는 마무리, 확인 문제 등 내용이 알차서 머신러닝과 딥러닝을 처음 시작하는 입문자에게 많은 도움이 될 것 같아 추천합니다. _이석곤 님
-책 속의 주인공이 문제를 해결하며 머신러닝 개발자로 성장하는 과정을 통해 머신러닝을 어떻게 활용할지 자연스럽게 습득할 수 있습니다. _김윤태 님
-컴퓨터 설정부터 차근차근 알려주는 책이라 좋았습니다. 의료나 산업, 경영 등에도 접목할 수 있으리라 기대합니다. _김현수 님
-일상 비즈니스를 사례로 들고 쉬운 알고리즘을 활용해 머신러닝의 개념을 익힐 수 있습니다. 코랩을 활용한 덕에 초보자에게 진입 장벽을 낮춰줍니다. _허민 님
-“조금 더 공부하고 싶다”란 생각을 가질 수 있게 해준 책이라 더욱 고맙게 느껴집니다. _도혜리 님
-이론을 충실하게 설명하면서도 이론을 체감할 수 있는 코드의 배치도 아주 절묘합니다. 독학으로 딥러닝 실무를 익히기 위한 책을 한 권만 고르라면 이 책이지 않을까요? _ 임지순 님"
저자소개
기계공학을 전공했으나 졸업 후엔 줄곧 코드를 읽고 쓰는 일을 했다. 지금은 ML GDE(Machine Learning Google Developer Expert)로 활동하고 있고, 머신러닝과 딥러닝에 관한 책을 집필하고 번역하면서 소프트웨어와 과학의 경계를 흥미롭게 탐험하고 있다.
『핸즈온 머신러닝 2판』(한빛미디어, 2020)을 포함해서 여러 권의 머신러닝, 딥러닝 책을 우리말로 옮겼고 『Do it! 딥러닝 입문』(이지스퍼블리싱, 2019)을 집필했다.
https://tensorflow.blog
목차
Chapter 01 나의 첫 머신러닝 ▶?이 생선의 이름은 무엇인가요?
__ 01-1 인공지능과 머신러닝, 딥러닝 ▶? 인공지능과 머신러닝, 딥러닝은 무엇일까요?
____ 인공지능이란
____ 머신러닝이란
____ 딥러닝이란
____ 키워드로 끝내는 핵심 포인트
____ 이 책에서 배울 것은
__ 01-2 코랩과 주피터 노트북 ▶?코랩과 주피터 노트북으로 손코딩 준비하기
____ 구글 코랩
____ 텍스트 셀
____ 코드 셀
____ 노트북
____ 키워드로 끝내는 핵심 포인트
____ 표로 정리하는 툴바와 마크다운
____ 확인 문제
__ 01-3 마켓과 머신러닝 ▶?마켓을 예로 들어 머신러닝을 설명합니다.
____ 생선 분류 문제
____ 첫 번째 머신러닝 프로그램
____ [문제해결 과정] 도미와 빙어 분류
____ 키워드로 끝내는 핵심 포인트
____ 핵심 패키지와 함수
____ 확인 문제
Chapter 02 데이터 다루기 ▶?수상한 생선을 조심하라!
__ 02-1 훈련 세트와 테스트 세트 ▶? 모델을 훈련 시키는 훈련 세트와 검증하는 테스트 세트로 나누어 학습하기
____ 지도 학습과 비지도 학습
____ 훈련 세트와 테스트 세트
____ 샘플링 편향
____ 넘파이
____ 두 번째 머신러닝 프로그램
____ [문제해결 과정] 훈련 모델 평가
____ 키워드로 끝내는 핵심 포인트
____ 핵심 패키지와 함수
____ 확인 문제
__ 02-2 데이터 전처리 ▶?정교한 결과 도출을 위한 데이터 전처리 알아보기
____ 넘파이로 데이터 준비하기
____ 사이킷런으로 훈련 세트와 테스트 세트 나누기
____ 수상한 도미 한 마리
____ 기준을 맞춰라
____ 전처리 데이터로 모델 훈련하기
____ [문제해결 과정] 스케일이 다른 특성 처리
____ 키워드로 끝나는 핵심 포인트
____ 핵심 패키지와 함수
____ 확인 문제
Chapter 03 회귀 알고리즘과 모델 규제 ▶?농어의 무게를 예측하라!
__ 03-1 k-최근접 이웃 회귀 ▶?회귀 문제를 이해하고 k-최근접 이웃 알고리즘으로 풀어 보기
____ k-최근접 이웃 회귀
____ 데이터 준비
____ 결정계수(R2)
____ 과대적합 vs 과소적합
____ [문제해결 과정] 회귀 문제 다루기
____ 키워드로 끝내는 핵심 포인트
____ 핵심 패키지와 함수
____ 확인 문제
__ 03-2 선형 회귀 ▶? 사이킷런으로 선형 회귀 모델 만들어 보기
____ k-최근접 이웃의 한계
____ 선형 회귀
____ 다항 회귀
____ [문제해결 과정] 선형 회귀로 훈련 세트 범위 밖의 샘플 예측
____ 키워드로 끝내는 핵심 포인트
____ 핵심 패키지와 함수
____ 확인 문제
__ 03-3 특성 공학과 규제 ▶?특성 공학과 규제 알아보기
____ 다중 회귀
____ 데이터 준비
____ 사이킷런의 변환기
____ 다중 회귀 모델 훈련하기
____ 규제
____ 릿지 회귀
____ 라쏘 회귀
____ [문제해결 과정] 모델의 과대적합을 제어하기
____ 키워드로 끝내는 핵심 포인트
____ 핵심 패키지와 함수
____ 확인 문제
Chapter 04 다양한 분류 알고리즘 ▶?럭키백의 확률을 계산하라!
__ 04-1 로지스틱 회귀 ▶?로지스틱 회귀 알고리즘을 배우고 이진 분류 문제에서 클래스 확률 예측하기
____ 럭키백의 확률
____ 로지스틱 회귀
____ [문제해결 과정] 로지스틱 회귀로 확률 예측
____ 키워드로 끝내는 핵심 포인트
____ 핵심 패키지와 함수
____ 확인 문제
__ 04-2 확률적 경사 하강법 ▶?경사 하강법 알고리즘을 이해하고 대량의 데이터에서 분류 모델을 훈련하기
____ 점진적인 학습
____ SGDClassifier
____ 에포크와 과대/과소적합
____ [문제해결 과정] 점진적 학습을 위한 확률적 경사 하강법
____ 키워드로 끝내는 핵심 포인트
____ 핵심 패키지와 함수
____ 확인 문제
Chapter 05 트리 알고리즘 ▶?화이트 와인을 찾아라!
__ 05-1 결정 트리 ▶?결정 트리 알고리즘을 사용해 새로운 분류 문제 다루기
____ 로지스틱 회귀로 와인 분류하기
____ 결정 트리
____ [문제해결 과정] 이해하기 쉬운 결정 트리 모델
____ 키워드로 끝내는 핵심 포인트
____ 핵심 패키지와 함수
____ 확인 문제
__ 05-2 교차 검증과 그리드 서치 ▶?검증 세트가 필요한 이유를 이해하고 교차 검증해 보기
____ 검증 세트
____ 교차 검증
____ 하이퍼파라미터 튜닝
____ [문제해결 과정] 최적의 모델을 위한 하이퍼파라미터 탐색
____ 키워드로 끝내는 핵심 포인트
____ 핵심 패키지와 함수
____ 확인 문제
__ 05-3 트리의 앙상블 ▶? 앙상블 학습을 알고 실습해 보기
____ 정형 데이터와 비정형 데이터
____ 랜덤 포레스트
____ 엑스트라 트리
____ 그레이디언트 부스팅
____ 히스토그램 기반 그레이디언트 부스팅
____ [문제해결 과정] 앙상블 학습을 통한 성능 향상
____ 키워드로 끝내는 핵심 포인트
____ 핵심 패키지와 함수
____ 확인 문제
Chapter 06 비지도 학습 ▶?비슷한 과일끼리 모으자!
__ 06-1 군집 알고리즘 ▶? 흑백 이미지 분류 방법과 비지도 학습, 군집 알고리즘 이해하기
____ 과일 사진 데이터 준비하기
____ 픽셀값 분석하기
____ 평균값과 가까운 사진 고르기
____ [문제해결 과정] 비슷한 샘플끼리 모으기
____ 키워드로 끝내는 핵심 포인트
____ 확인 문제
__ 06-2 k-평균 ▶?k-평균 알고리즘 작동 방식을 이해하고 비지도 학습 모델 만들기
____ k-평균 알고리즘 소개
____ KMeans 클래스
____ 클러스터 중심
____ 최적의 k 찾기
____ [문제해결 과정] 과일을 자동으로 분류하기
____ 키워드로 끝내는 핵심 포인트
____ 핵심 패키지와 함수
____ 확인 문제
__ 06-3 주성분 분석 ▶?차원을 알고 차원 축소 알고리즘 PC 모델 만들기
____ 차원과 차원 축소
____ 주성분 분석 소개
____ PCA 클래스
____ 원본 데이터 재구성
____ 설명된 분산
____ 다른 알고리즘과 함께 사용하기
____ [문제해결 과정] 주성분 분석으로 차원 축소
____ 키워드로 끝내는 핵심 포인트
____ 핵심 패키지와 함수
____ 확인 문제
Chapter 07 딥러닝을 시작합니다 ▶?패션 럭키백을 판매합니다!
__ 07-1 인공 신경망 ▶? 텐서플로로 간단한 인공 신경망 모델 만들기
____ 패션 MNIST
____ 로지스틱 회귀로 패션 아이템 분류하기
____ 인공 신경망
____ 인공 신경망으로 모델 만들기
____ 인공 신경망으로 패션 아이템 분류하기
____ [문제해결 과정] 인공 신경망 모델로 성능 향상
____ 키워드로 끝내는 핵심 포인트
____ 핵심 패키지와 함수
____ 확인 문제
__ 07-2 심층 신경망 ▶?인공 신경망에 층을 추가하여 심층 신경망 만들어 보기
____ 2개의 층
____ 심층 신경망 만들기
____ 층을 추가하는 다른 방법
____ 렐루 활성화 함수
____ 옵티마이저
____ [문제해결 과정] 케라스 API를 활용한 심층 신경망
____ 키워드로 끝내는 핵심 포인트
____ 핵심 패키지와 함수
____ 확인 문제
__ 07-3 신경망 모델 훈련 ▶?인경 신경망 모델 훈련의 모범 사례 학습하기
____ 손실 곡선
____ 검증 손실
____ 드롭아웃
____ 모델 저장과 복원
____ 콜백
____ [문제해결 과정] 최상의 신경망 모델 얻기
____ 키워드로 끝내는 핵심 포인트
____ 핵심 패키지와 함수
____ 확인 문제
Chapter 08 이미지를 위한 인공 신경망 ▶?패션 럭키백의 정확도를 높입니다!
__ 08-1 합성곱 신경망의 구성 요소 ▶?합성곱 신경망의 개념과 동작 원리를 배우고 간단한 실습하기
____ 합성곱
____ 케라스 합성곱 층
____ 합성곱 신경망의 전체 구조
____ [문제해결 과정] 합성곱 층과 풀링 층 이해하기
____ 키워드로 끝내는 핵심 포인트
____ 확인 문제
__ 08-2 합성곱 신경망을 사용한 이미지 분류 ▶?케라스 API로 합성곱 신경망 모델 만들기
____ 패션 MNIST 데이터 불러오기
____ 합성곱 신경망 만들기
____ 모델 컴파일과 훈련
____ [문제해결 과정] 케라스 API로 합성곱 신경망 구현
____ 키워드로 끝내는 핵심 포인트
____ 핵심 패키지와 함수
____ 확인 문제
__ 08-3 합성곱 신경망의 시각화 ▶?신경망이 이미지에서 학습하는 게 무엇인지 이해하기
____ 가중치 시각화
____ 함수형 API
____ 특성 맵 시각화
____ [문제해결 과정]
____ 시각화로 이해하는 합성곱 신경망
____ 키워드로 끝내는 핵심 포인트
____ 핵심 패키지와 함수
____ 확인 문제
Chapter 09 텍스트를 위한 인공 신경망 ▶?한빛 마켓의 댓글을 분석하라!
__ 09-1 순차 데이터와 순환 신경망 ▶?순차 데이터의 특징과 개념 이해하기
____ 순차 데이터
____ 순환 신경망
____ 셀의 가중치와 입출력
____ [문제해결 과정] 순환 신경망으로 순환 데이터 처리
____ 키워드로 끝내는 핵심 포인트
____ 확인 문제
__ 09-2 순환 신경망으로 IMDB 리뷰 분류하기 ▶?텐서플로 순환 신경망으로 영화 리뷰 분류하기
____ IMDB 리뷰 데이터셋
____ 순환 신경망 만들기
____ 순환 신경망 훈련하기
____ 단어 임베딩을 사용하기
____ [문제해결 과정] 케라스 API로 순환 신경망 구현
____ 키워드로 끝내는 핵심 포인트
____ 핵심 패키지와 함수
____ 확인 문제
__ 09-3 LSTM과 GRU 셀 ▶?순환 신경망의 중요 기술을 사용해 모델 만들어 보기
____ LSTM 구조
____ LSTM 신경망 훈련하기
____ 순환층에 드롭아웃 적용하기
____ 2개의 층을 연결하기
____ GRU 구조
____ GRU 신경망 훈련하기
____ [문제해결 과정] LSTM과 GRU 셀로 훈련
____ 키워드로 끝내는 핵심 포인트
____ 핵심 패키지와 함수
____ 확인 문제
__ 부록 A 한발 더 나아가기
__ 부록 B 에필로그
____ 정답 및 해설
____ 찾아보기