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’은 다루지 않습니다.
목차
목차
- 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 비밀번호 정책
- 요약
- IAM 주요 개념
- Chapter 9. Amazon S3
- Amazon S3 주요 개념
- 버킷
- 객체 키
- 객체 값
- 버전 ID
- 스토리지 클래스
- 비용
- 객체 하위 리소스
- 객체 메타데이터
- 일반적인 작업
- 버킷 생성
- 객체 업로드
- 객체 접근
- 객체의 스토리지 클래스 변경
- 객체 삭제
- Amazon S3 버킷 버저닝
- AWS CLI로 Amazon S3 접속
- 요약
- Amazon S3 주요 개념
- Chapter 10. Amazon Cognito
- Amazon Cognito 주요 개념
- 인증
- 권한 부여
- 자격 증명 공급자
- 클라이언트
- OAuth 2.0
- OpenID Connect
- Amazon Cognito 사용자 풀
- 자격 증명 풀
- Amazon Cognito 연동 자격 증명
- 일반적인 작업
- 사용자 풀 생성
- 앱 클라이언트 보안키 확인
- 자격 증명 풀 생성
- 사용자 풀과 자격 증명 풀 선택하기
- 요약
- Amazon Cognito 주요 개념
- Chapter 11. Amazon DynamoDB
- 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 함수 생성
- 요약
- Amazon Comprehend 주요 개념
- Chapter 14. Amazon Lex
- Amazon Comprehend 주요 개념
- 봇
- 클라이언트 애플리케이션
- 인텐트
- 슬롯
- 어터런스
- 프로그래밍 모델
- 가격 정책 및 가용성
- Amazon Lex 챗봇 구축하기
- Amazon DynamoDB 테이블 생성
- AWS Lambda 함수 생성
- 챗봇 생성
- AccountOverview 인텐트 설정
- ViewTransactionList 인텐트 설정
- 챗봇 테스트
- 요약
- Amazon Comprehend 주요 개념
- Chapter 15. Amazon SageMaker
- Amazon SageMaker 주요 개념
- 프로그래밍 모델
- Amazon SageMaker 노트북 인스턴스
- 훈련 작업
- 예측 인스턴스
- 예측 엔드포인트와 엔드포인트 구성
- Amazon SageMaker 배치 변환
- 데이터 채널
- 데이터 위치와 형식
- 기본 제공 알고리즘
- 가격 정책 및 가용성
- Amazon SageMaker 노트북 인스턴스 생성하기
- 훈련 데이터와 테스트 데이터 준비하기
- Amazon SageMaker 노트북 인스턴스에서 Scikit-Learn 모델 훈련하기
- 훈련 전용 인스턴스에서 Scikit-Learn 모델 훈련하기
- 훈련 전용 인스턴스에서 기본 제공 알고리즘 모델 훈련하기
- 요약
- Amazon SageMaker 주요 개념
- 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 함수 생성
- 요약
- Amazon Rekognition 주요 개념
- Appendix A. Anaconda와 Jupyter Notebook 설정
- Appendix B. 실습에 필요한 AWS 자원 설정
- Appendix C. AWS CLI 설치 및 구성
- Appendix D. NumPy와 Pandas 소개
도서 오류 신고
정오표
정오표
[p.36 : 15행]
신경망(Neural Vetwork)
->
신경망(Neural Network)