Top

AWS 클라우드 머신러닝 [머신러닝 기초부터 AWS SageMaker까지]

  • 원서명Machine Learning in the AWS Cloud: Add Intelligence to Applications with Amazon SageMaker and Amazon Rekognition (ISBN 9781119556718)
  • 지은이아비섹 미쉬라(Abhishek Mishra)
  • 옮긴이박정현
  • ISBN : 9791161754833
  • 35,000원
  • 2020년 12월 30일 펴냄
  • 페이퍼백 | 636쪽 | 188*235mm
  • 시리즈 : 데이터 과학, 클라우드 컴퓨팅

책 소개

소스 파일은 아래 깃허브 페이지에서 내려 받으실 수 있습니다.
(https://github.com/AcornPublishing/ml-aws-cloud)

요약

한 권의 책으로 머신러닝 기초 개념부터 AWS의 머신러닝 서비스를 한번에 훑어볼 수 있으며, 크게 두 부분으로 나눠 설명한다. 1장부터 8장까지 전반부에서는 머신러닝의 기본 개념부터 데이터 수집, 전처리와 시각화, Scikit-learn을 통한 머신러닝 모델 생성과 모델 평가 방법을 다루며, 9장부터 17장까지는 Amazon S3를 시작으로 Comprehend, Lex, Rekognition 등 AWS의 주요 머신러닝 서비스를 간단한 실습과 함께 소개하고 AWS의 머신러닝 서비스 중 가장 핵심이 되는 SageMaker를 두 개의 장에 걸쳐 설명한다.

이 책에서 다루는 내용

■ 기본적인 머신러닝 개념과 NumPy, Pandas, Scikit-learn 사용법
■ Matplotlib을 활용한 데이터 시각화
■ Amazon SageMaker를 활용한 머신러닝 모델 구축 및 배포
■ Amazon Lex, Amazon Comprehend, Amazon Rekognition 사용법
■ Amazon S3, Amazon DynamoDB, Amazon Cognito, AWS Lambda와 같은 기본적 AWS 서비스 사용법

AWS 클라우드상에서 파이썬을 활용해 머신러닝 모델을 구축하고 학습시키는 과정과 Amazon Rekognition, Amazon Comprehend, Amazon Lex와 같은 AWS 머신러닝 서비스를 다룬다.
또한 피처 엔지니어링, 데이터 시각화와 같은 일반적인 머신러닝 개념과 머신러닝 시스템을 구축하는 데 사용하는 Amazon IAM, Amazon Cognito, Amazon S3, Amazon DynamoDB, AWS Lambda와 같은 AWS 서비스를 다룬다. 책에서 사용한 모델 생성과 평가 코드는 Python 3로 작성했다. 아마존, 애플, 구글과 같은 회사가 제공하는 서비스는 자주 업데이트되기 때문에 책을 따라 실습하다가 새로운 화면을 만나는 경우가 종종 있을 수 있다.

이 책의 대상 독자

머신러닝을 배우고 AWS가 제공하는 머신러닝 관련 서비스를 활용해보려는 소프트웨어 개발자에게 적합한 책이다. AWS의 서비스 중 많이 사용되는 머신러닝 관련 서비스를 알고 싶은 데이터 과학자, 시스템 설계자, 애플리케이션 설계자에게도 유용할 것이다.
머신러닝과 AWS 모두가 생소하다면 책의 처음부터 끝까지 차례로 읽기를 권한다. 경험이 많은 데이터 과학자라면 책의 후반부인 AWS의 머신러닝 관련 서비스를 다루는 장으로 바로 넘어가도 좋다.

이 책의 구성

총 17개 장을 포함하는 2개의 파트와 4개의 부록으로 구성돼 있다. 첫 번째 파트는 5개 장으로 구성돼 있으며 피처 엔지니어링, 데이터 시각화, 모델 생성과 평가 같은 머신러닝을 위한 기법을 파이썬의 Pandas, NumPy, Matplotlib, Scikit-learn을 활용해 설명한다.
첫 번째 파트의 예제는 Jupyter Notebook을 사용하며, 머신러닝을 처음 접하는 독자를 대상으로 한다.
두 번째 파트는 AWS 서비스를 사용해 머신러닝 애플리케이션을 구축하는 방법을 다룬다. 먼저 Amazon S3, Amazon DynamoDB, AWS Lambda와 같은 기본 서비스를 소개하고, Amazon Comprehend, Amazon Lex, Amazon SageMaker와 같은 머신러닝과 밀접한 AWS 서비스를 소개한다. 두 장에 걸쳐 Amazon SageMaker를 자세히 다루며, 처음 장에서는 내장 알고리즘과 Scikit-learn을 이용한 모델 생성 및 배포 방법을 소개한다. 두 번째 장에서는 Google TensorFlow를 이용한 모델 생성 및 배포 방법을 다룬다. 두 번째 파트의 일부 장에서는 전체 소스코드가 책에 표시되지 않지만 전체 코드를 깃허브(GitHub)에서 다운로드할 수 있다. 또한 실습을 위해 일부 장에서는 Amazon S3에 파일을 업로드해야 하며, 각자의 계정에 맞게 버킷의 이름을 변경해야 한다.

PART 1. 머신러닝의 기초
1장, ‘머신러닝 소개’에서는 머신러닝 시스템과 애플리케이션, 머신러닝 애플리케이션을 구축하는 데 필요한 도구를 소개한다.
2장, ‘데이터 수집 및 전처리’에서는 훈련 데이터 획득, 데이터 탐색 및 기본적인 피처 엔지니어링'을 알려준다.
3장, ‘파이썬 데이터 시각화’에서는 Matplotlib를 활용한 데이터 시각화 기법을 소개한다.
4장, ‘Scikit-learn으로 머신러닝 모델 생성’에서는 Scikit-learn을 활용한 분류 및 회귀 모델 생성 및 학습 기법을 다룬다.
5장, ‘머신러닝 모델 평가’에서는 머신러닝 모델 평가 방법을 알려준다.

PART 2. 머신러닝과 AWS
6장, ‘AWS 소개’에서는 클라우드 컴퓨팅과 AWS, 일반적인 서비스와 배포 모델을 소개한다. 7장, ‘AWS 글로벌 인프라’에서는 AWS 리전, 가용 영역, 엣지(edge) 로케이션을 소개한다.
8장, ‘자격 증명 및 접속 관리’에서는 Amazon 클라우드의 자원 보호 방법 및 AWS 프리 티어 계정 생성 방법을 설명한다.
9장, ‘Amazon S3’에서는 AWS에서 가장 많이 사용하는 저장 서비스인 S3를 다룬다.
10장, ‘Amazon Cognito’에서는 클라우드 기반 OAuth2.0 인증 관리 솔루션인 Amazon Cognito를 설명한다.
11장, ‘Amazon DynamoDB’에서는 Amazon의 관리형 NoSQL 데이터베이스 서비스인 Amazon DynamoDB를 다룬다.
12장, ‘Amazon Lambda’에서는 인프라 프로비저닝 없이 코드를 실행할 수 있는 AWS Lambda를 소개한다.
13장, ‘Amazon Comprehend’에서는 클라우드 기반의 자연어 처리 서비스인 Amazon Comprehend를 설명한다.
14장, ‘Amazon Lex’에서는 클라우드 기반의 챗봇 서비스를 구축할 수 있는 Amazon Lex를 소개한다.
15장, ‘Amazon SageMaker’에서는 기본 내장 알고리즘 혹은 사용자 정의 알고리즘을 통해 머신러닝 모델을 학습시키고 배포할 수 있는 클라우드 기반 머신러닝 서비스인 Amazon SageMaker를 소개한다.
16장, ‘Amazon SageMaker에서 TensorFlow 사용하기’에서는 구글의 TensorFlow 프레임워크와 Amazon SageMaker를 활용한 TensorFlow 모델 구축과 배포 방법을 알려준다.
17장, ‘Amazon Rekognition’에서는 완전 관리형 클라우드 기반 컴퓨터 비전 서비스인 Amazon Rekognition을 소개한다.

부록
부록 A, ‘Anaconda와 Jupyter Notebook 설정’에서는 로컬 환경에 Anaconda와 Jupyter Notebook 설치 방법을 안내한다.
부록 B, ‘실습에 필요한 AWS 자원 설정’에서는 예제 실습에 필요한 계정 내 AWS 리소스 설정 방법을 알려준다.
부록 C, ‘AWS CLI 설치 및 구성’에서는 AWS CLI 다운로드 및 설치 방법을 알려준다.
부록 D, ‘NumPy와 Pandas 소개’에서는 NumPy와 Pandas 라이브러리를 소개한다.

*번역서에서는 원서 『Machine Learning in the AWS Cloud』의 ‘15장. Amazon Machine Learning’은 다루지 않습니다.

저자/역자 소개

지은이의 말

AWS(Amazon Web Services)는 오늘날 클라우드 컴퓨팅 플랫폼 업계를 이끄는 선두주자로, 이 책을 쓰는 시점에 18개의 서비스 분야에서 100개 이상의 서비스를 제공한다. 클라우드 컴퓨팅 업계나 AWS 생태계를 처음 접하는 사람들에게는 이렇게 많은 숫자의 서비스가 압박으로 느껴질 수 있으며, 어디서부터 시작해 어느 부분에 초점을 맞춰야 할지도 부담스럽게 느껴질 것이다.
머신러닝을 처음 접하는 개발자와 경험이 많은 데이터 과학자도 종종 퍼블릭 클라우드나 AWS가 제공하는 머신러닝 서비스가 얼마나 유용한지 모르는 경우가 있다. 과거에는 클라우드 기반의 머신러닝 서비스에서 제한적인 알고리즘과 일부에서만 사용자 설정 기능을 사용할 수 있었으나 아마존에서 SageMaker를 발표하면서부터 많은 부분이 바뀌었다. SageMaker를 활용하면 아마존이 구현한 최신 알고리즘을 기반으로 머신러닝 모델을 구축할 수 있으며, Scikit-learn이나 TensorFlow와 같은 프레임워크를 사용해 사용자가 임의로 모델을 구축할 수도 있다.
머신러닝 모델만으로는 실생활에 사용 가능한 서비스를 구현할 수 없으며 데이터베이스, 로드밸런서, API 게이트웨이, 자격 증명 공급자와 같은 다양한 지원 시스템이 기반이 돼야 서비스가 가능하다. AWS는 이러한 모든 서비스를 제공한다. 이 책은 숙련된 머신러닝 전문가와 시작하는 애호가 모두를 위해 사전 학습 모델(pre-trained models)에 기반한 AWS 머신러닝 서비스들을 소개한다. 아울러 Amazon SageMaker에서 사용자 지정 모델을 훈련시키고 배포하는 과정을 단계별로 설명한다. 또한 머신러닝을 새로 시작하는 애호가들을 위해 데이터 전처리, 시각화, 피처 엔지니어링과 같은 머신러닝의 기초부터 NumPy, Pandas, Scikit-learn과 같이 널리 사용되는 파이썬 라이브러리도 다룬다.
이 책의 전반에 걸쳐 이론과 실무를 균형 있게 다루려고 노력했다. 기본 개념을 이해하기 쉽도록 많은 시각 자료를 포함했고, 실무에 바로 적용할 수 있는 다양한 사례와 조언을 실었다. 최신의 유용한 자료를 사용하고자 많은 노력을 기울였지만 일부분은 새로운 버전으로 변경됐을 수도 있다. 하지만 새로운 AWS 버전에서도 내용이 유용할 것이라 확신한다.

지은이 소개

아비섹 미쉬라(Abhishek Mishra)

19년 이상 IT 업계에서 활발하게 활동해왔으며 프로그래밍 언어, 엔터프라이즈 시스템, 서비스 아키텍처, 플랫폼 등 다양한 분야의 전문가다. 영국 런던대학교에서 컴퓨터 과학 석사 학위를 받았으며 현재는 런던의 로이드 뱅킹 그룹(Lloyds Banking Group)에서 보안 및 사기 방지 솔루션 아키텍트 컨설턴트로 일하고 있다. 『Amazon Web Services for Mobile Developers』(Sybex, 2017)를 포함한 여러 책의 저자이기도 하다.

옮긴이의 말

이 책은 머신러닝과 클라우드 두 가지를 모두 다룬다. 1장부터 8장까지 전반부에서는 머신러닝에 관한 이론적 개념과 데이터 수집, 전처리와 시각화 및 모델 생성과 평가에 이르는 전체적인 머신러닝 파이프라인을 설명한다. 9장부터 17장까지 후반부에서는 S3와 같은 기본적인 AWS 서비스를 시작으로 Comprehend, Lex, Rekognition과 같은 AWS 머신러닝 서비스를 간단한 실습과 함께 소개한다. 또한 AWS 머신러닝의 핵심 서비스인 SageMaker의 기본 내장 알고리즘과 TensorFlow를 활용한 사용자 지정 알고리즘을 사용하는 방법까지 기본적인 실습과 함께 설명한다. 모든 실습 예제는 Jupyter notebook 형태로 다운로드할 수 있도록 제공된다.
한 권의 책에서 두 가지 주제를 다루기엔 다소 깊이가 부족할 수는 있으나 머신러닝이나 AWS를 동시에 시작하고자 하는 독자에게는 좋은 선택일 수 있을 것이다. 먼저 부록을 따라 실습할 수 있는 환경을 설정하고 시작한다면 큰 어려움 없이 진도를 나갈 수 있다. 만약 머신러닝에 대한 기본적인 개념을 알고 있다면 부록을 마친 후 9장부터 시작하는 것도 좋다. 다만 일부 실습은 이전 장에서 작업한 내용을 바탕으로 진행될 수도 있다. 더불어 AWS Certified Machine Learning Specialty 자격과 관련된 한글 자료가 많이 없는 상황에서 자격을 준비하는 독자들에게도 작게나마 도움을 줄 수 있다.
또한 머신러닝 개념과 AWS의 머신러닝 관련 서비스를 모두 경험할 수 있는 기회를 제공하는 만큼 처음 시작하는 독자에게는 앞으로 공부해 나갈 방향을 제시하고, 어느 정도 경험이 있는 독자에게는 AWS가 어떠한 머신러닝 서비스를 제공하고 어떻게 활용해 실제 서비스를 구성할 수 있는지 아이디어를 제공했으면 한다.

옮긴이 소개

박정현

데이터를 기반으로 하는 머신러닝과 인공지능 관련 기술에 관심이 많으며 머신러닝 스타트업 창업 경험이 있다. 현재 서울대학교 EPM 연구실 및 공학연구원 소속 연구원으로 머신러닝, 엔지니어링 프로젝트 매니지먼트 관련 분야를 연구하고 있다. 공역한 책으로는 『R로 만드는 추천 시스템』(에이콘, 2017)이 있으며 AWS Certified Machine Learning Specialty, Microsoft Certified Professional 자격을 보유하고 있다.

목차

목차
  • PART 1. 머신러닝의 기초
  • Chapter 1. 머신러닝 소개
    • 머신러닝이란?
    • 일반적인 데이터 과학 도구들
      • 용어 설명
      • 머신러닝 실제 사례
    • 머신러닝의 종류
      • 지도 학습
      • 비지도 학습
      • 준지도 학습
      • 강화 학습
      • 배치 학습
      • 점진 학습
      • 사례 기반 학습
      • 모델 기반 학습
    • 머신러닝 접근 방식 vs 전통적인 접근 방식
      • 규칙 기반 의사 결정 시스템
      • 머신러닝 기반 시스템
      • 피처 선택하기
      • 훈련 데이터와 테스트 데이터 준비하기
      • 머신러닝 모델 선정
      • 모델 성능 평가
    • 요약

  • Chapter 2. 데이터 수집 및 전처리
    • 머신러닝 데이터셋
      • Scikit-learn 데이터셋
      • 아마존 웹서비스 공개 데이터셋
      • Kaggle.com 데이터셋
      • UCI 머신러닝 저장소
    • 데이터 전처리 기법
      • 데이터 탐색
      • 결측값 다루기
      • 새로운 피처 생성하기
      • 수치형 피처 변환하기
      • 범주형 피처 원-핫 인코딩
    • 요약

  • Chapter 3. 파이썬 데이터 시각화
    • Matplotlib 소개
    • Plot의 구성 요소
      • Figure 객체
      • Axes
      • Axis
      • Axis Label
      • Grid
      • Title
    • 일반적인 Plot의 종류
      • Histogram
      • Bar Chart
      • Grouped Bar Chart
      • Stacked Bar Chart
      • Stacked Percentage Bar Charts
      • Pie Chart
      • Box Plot
      • 산점도
    • 요약

  • Chapter 4. Scikit-learn으로 머신러닝 모델 생성
    • Matplotlib 소개
    • 훈련 데이터와 테스트 데이터로 나누기
      • k겹 교차검증
    • 머신러닝 모델 생성
      • 선형회귀
      • 서포트 벡터 머신
      • 로지스틱회귀
      • 의사 결정 나무
    • 요약
  • Chapter 5. 머신러닝 모델 평가
    • 회귀 모델 평가
      • RMSE 지표
      • R² 지표
    • 분류 모델 평가
      • 이진 분류 모델
      • 다중 분류 모델
    • 하이퍼파라미터 선택
    • 요약

  • PART 2. 머신러닝과 AWS
  • Chapter 6. AWS 소개
    • 클라우드 컴퓨팅 소개
    • 클라우드 서비스 모델
    • 클라우드 배포 모델
    • AWS 생태계
      • 머신러닝 애플리케이션 서비스
      • 머신러닝 플랫폼 서비스
      • 지원 서비스
    • AWS 프리 티어 계정 가입하기
      • 1단계: 연락처 정보
      • 2단계: 결제 정보
      • 3단계: 자격 증명 확인
      • 4단계: 지원 플랜 선택
      • 5단계: 등록 확인
    • 요약

  • Chapter 7. AWS 글로벌 인프라
    • 리전과 가용 영역
    • 엣지 로케이션
    • AWS 접속
      • AWS 관리 콘솔
    • 요약

  • Chapter 8. 자격 증명 및 접속 관리
    • IAM 주요 개념
      • 루트 계정
      • IAM 사용자
      • 자격 증명 페더레이션
      • IAM 그룹
      • IAM 정책
      • IAM 역할
    • 일반적인 작업
      • IAM 사용자 생성
      • 기존 그룹 권한 수정
      • IAM 역할 생성
      • 루트 계정에 MFA 적용
      • IAM 비밀번호 정책
    • 요약

  • Chapter 9. Amazon S3
    • Amazon S3 주요 개념
      • 버킷
      • 객체 키
      • 객체 값
      • 버전 ID
      • 스토리지 클래스
      • 비용
      • 객체 하위 리소스
      • 객체 메타데이터
    • 일반적인 작업
      • 버킷 생성
      • 객체 업로드
      • 객체 접근
      • 객체의 스토리지 클래스 변경
      • 객체 삭제
      • Amazon S3 버킷 버저닝
      • AWS CLI로 Amazon S3 접속
    • 요약

  • Chapter 10. Amazon Cognito
    • Amazon Cognito 주요 개념
      • 인증
      • 권한 부여
      • 자격 증명 공급자
      • 클라이언트
      • OAuth 2.0
      • OpenID Connect
      • Amazon Cognito 사용자 풀
      • 자격 증명 풀
      • Amazon Cognito 연동 자격 증명
    • 일반적인 작업
      • 사용자 풀 생성
      • 앱 클라이언트 보안키 확인
      • 자격 증명 풀 생성
    • 사용자 풀과 자격 증명 풀 선택하기
    • 요약

  • Chapter 11. Amazon DynamoDB
    • Amazon DynamoDB 주요 개념
      • 테이블
      • 전역 테이블
      • 항목
      • 속성
      • 기본 키
      • 보조 인덱스
      • 쿼리
      • 스캔
      • 읽기 일관성
      • 읽기/쓰기 용량 모드
    • 일반적인 작업
      • 테이블 생성
      • 테이블에 항목 추가
      • 인덱스 생성
      • 스캔 실행
      • 쿼리 실행
    • 요약

  • Chapter 12. AWS Lambda
    • Amazon Lambda 사용 사례
    • AWS Lambda 주요 개념
      • 지원 프로그래밍 언어
      • Lambda 함수
      • 프로그래밍 모델
      • 이벤트
      • 실행 환경
      • 서비스 제한
      • 가격과 가용성
    • 일반적인 작업
      • AWS 관리 콘솔로 Python Lambda 함수 생성하기
      • AWS 관리 콘솔로 Lambda 함수 테스트하기
      • AWS 관리 콘솔로 Lambda 함수 삭제하기
    • 요약

  • Chapter 13. Amazon Comprehend
    • Amazon Comprehend 주요 개념
      • 자연어 처리
      • 토픽 모델링
      • 지원 언어
      • 가격 정책 및 가용성
    • Amazon Comprehend 관리 콘솔로 텍스트 분석하기
    • AWS CLI로 대화형 텍스트 분석하기
      • AWS CLI로 엔티티 검출
      • AWS CLI로 주요 문구 검출
      • AWS CLI로 감성 분석
    • Amazon Comprehend를 위한 AWS Lambda 함수 생성
    • 요약

  • Chapter 14. Amazon Lex
    • Amazon Comprehend 주요 개념
      • 클라이언트 애플리케이션
      • 인텐트
      • 슬롯
      • 어터런스
      • 프로그래밍 모델
      • 가격 정책 및 가용성
    • Amazon Lex 챗봇 구축하기
      • Amazon DynamoDB 테이블 생성
      • AWS Lambda 함수 생성
      • 챗봇 생성
      • AccountOverview 인텐트 설정
      • ViewTransactionList 인텐트 설정
      • 챗봇 테스트
    • 요약

  • Chapter 15. Amazon SageMaker
    • Amazon SageMaker 주요 개념
      • 프로그래밍 모델
      • Amazon SageMaker 노트북 인스턴스
      • 훈련 작업
      • 예측 인스턴스
      • 예측 엔드포인트와 엔드포인트 구성
      • Amazon SageMaker 배치 변환
      • 데이터 채널
      • 데이터 위치와 형식
      • 기본 제공 알고리즘
      • 가격 정책 및 가용성
    • Amazon SageMaker 노트북 인스턴스 생성하기
      • 훈련 데이터와 테스트 데이터 준비하기
    • Amazon SageMaker 노트북 인스턴스에서 Scikit-Learn 모델 훈련하기
    • 훈련 전용 인스턴스에서 Scikit-Learn 모델 훈련하기
    • 훈련 전용 인스턴스에서 기본 제공 알고리즘 모델 훈련하기
    • 요약

  • Chapter 16. Amazon SageMaker에서 TensorFlow 사용하기
    • Google TensorFlow 소개
    • Google TensorFlow로 선형회귀 모델 생성
    • TensorFlow Estimator API와 Amazon SageMaker를 이용한 DNN 모델 훈련 및 배포
    • 요약

  • Chapter 17. Amazon Rekognition
    • Amazon Rekognition 주요 개념
      • 객체 감지
      • 객체 위치 검출
      • 장면 감지
      • 활동 감지
      • 얼굴 인식
      • 얼굴 모음
      • API 집합
      • 비스토리지 및 스토리지 기반 작업
      • 모델 버전 관리
      • 가격 정책 및 가용성
    • Amazon Rekognition 관리 콘솔을 이용한 이미지 분석
    • AWS CLI를 이용한 이미지 분석
    • Amazon Rekognition과 AWS Lambda로 작업하기
      • Amazon DynamoDB 테이블 생성
      • AWS Lambda 함수 생성
    • 요약

  • Appendix A. Anaconda와 Jupyter Notebook 설정
  • Appendix B. 실습에 필요한 AWS 자원 설정
  • Appendix C. AWS CLI 설치 및 구성
  • Appendix D. NumPy와 Pandas 소개


도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안

정오표

정오표

[p.36 : 15행]
신경망(Neural Vetwork)
->
신경망(Neural Network)