Top

AWS 머신 러닝 [아마존 머신 러닝 서비스를 이용한 애플리케이션 개발]

  • 원서명Effective Amazon Machine Learning: Machine learning in the cloud (ISBN 9781785883231)
  • 지은이알렉시스 페리에(Alexis Perrier)
  • 옮긴이정준영
  • ISBN : 9791161751085
  • 30,000원
  • 2018년 01월 31일 펴냄
  • 페이퍼백 | 336쪽 | 188*235mm
  • 시리즈 : acorn+PACKT

책 소개

소스 코드 파일은 여기에서 내려 받으실 수 있습니다.

요약

AWS가 제공하는 머신 러닝 서비스를 이용하면, 사용자가 복잡한 머신 러닝 내부 알고리즘과 기술을 배우지 않고도 AWS의 S3나, RDS, 레드시프트에 저장된 데이터로 학습 모델을 만들고 애플리케이션을 개발할 수 있다.
직관적인 웹 기반 마법사 기능과 자동화를 위한 SDK, 데이터 변환을 위한 레시피, 학습된 모델의 성능 평가 결과가 자동으로 제공되고, AWS의 다른 서비스와 연동해 배치 또는 실시간으로 예측할 수 있으며, 사용한만큼만 비용이 지불되는 완전 관리형 서비스다.

이 책에서 다루는 내용

█ 아마존 머신 러닝을 이용해 처음부터 예측 분석까지 수행하는 방법
█ 중요 데이터 과학 개념에 대한 실습 경험
█ 고전 회귀 및 분류 문제 해결
█ 명령행 인터페이스와 Python SDK를 이용해 프로젝트 실행
█ 아마존 생태계를 활용해 확장된 데이터 소스
█ 실시간 또는 고급 프로젝트 구현

이 책의 대상 독자

실제 인공 지능 애플리케이션을 구축하려고 하는 파이썬 개발자를 위한 책이다.
파이썬 초보자도 쉽게 사용할 수 있지만, 파이썬에 익숙하다면 코드를 활용해 다양한 작업을 할 수 있다. 인공 지능 기술을 갖고 싶은 경험이 있는 파이썬 개발자에게도 유용하다

이 책의 구성

1장, ‘머신 러닝과 예측 분석 소개’에서는 아마존 머신 러닝 서비스에 대한 일반적인 소개와 이것으로 처리할 수 있는 예측 분석 문제를 담고 있다. 서비스가 단순한 선형 모델을 회귀와 분류 문제에 사용하는 방법을 보이고, 아마존 머신 러닝으로 성공적인 예측을 할 수 있는 환경을 제시한다.
2장, ‘머신 러닝의 정의와 개념’에서는 아마존 머신 러닝 서비스를 사용하고 동작을 완전히 이해하기 위해 머신 러닝 개념을 설명한다. 또한 실제 데이터를 다룰 때 사용하는 데이터 처리 기술이 무엇인지, 예측 모델의 성능을 어떻게 평가하는지, 낮은 예측 성능을 개선할 수 있는 전략은 무엇인지에 관해서도 설명한다.
3장, ‘아마존 머신 러닝 워크플로우 개요’에서는 간단한 아마존 머신 러닝 프로젝트 개요를 다룬다. 아마존 머신 러닝 플랫폼을 시작하는 방법과 계정을 만드는 방법, 계정을 보호하는 방법을 배운다. 유명한 데이터셋으로 간단한 수치형 예측 문제를 살펴볼 것이다. 데이터를 준비하고, 모델을 훈련하고 선택하고, 예측하는 방법을 설명한다.
4장, ‘데이터셋 준비하기’에서는 아마존 머신 러닝의 레시피를 이용해 데이터를 변환하는 기능을 제공한다. 데이터를 S3에 업로드하고, 교차 유효성 검증을 구현하고, 스키마를 만들고, 데이터의 동계를 검토한다. 새롭게 출시된 AWS SQL 서비스인 아테나(Athena)를 이용해 아마존 머신 러닝의 특징 공학과 데이터 정리 기능을 확장한다.
5장,’ 모델 생성’에서는 아마존 머신 러닝의 데이터 변환과 레시피로 사용하는 방법을 살펴본다. 모델을 훈련하고 튜닝한 후, 여러 가지 예측 척도를 분석해 최선의 것을 선택한다. 확률적 경사 하강 알고리즘과 여러 정규화 타입의 사용을 설명한다. 마지막으로 아마존 머신 러닝 이 모델을 훈련하는 동안 어떤 일이 발생하는지 더 잘 이해하기 위해 훈련 로그를 분석한다.
6장, ‘예측과 성능’에서는 새로 훈련한 모델로 이전에 보여준 적이 없는 데이터에 대한 예측을 실시하고, 성능과 강건성을 평가한다. 배치 예측 방법과 실시간 예측을 위한 접점을 설정하는 방법을 알려준다.
7장, ‘명령행과 SDK’ AWS 웹 인터페이스를 사용해 프로젝트를 관리하고 실행하는 것은 시간이 많이 걸리기 때문에 웹 인터페이스에서 벗어나 AWS 명령행(CLI)과 Boto3 라이브러리를 이용한 Python SDK로 실행한다. 교차 유효성 검증과 반복적 특징 선택을 구현한다.
8장, ‘레드시프트에서 데이터 소스 만들기’에서는 SQL 질의를 이용해 비선형 데이터셋을 처리한다. 레드시프트를 이용하면 데이터 소스를 만들기 전에 SQL기반의 특징 공학을 할 수 있다. S3에서 데이터를 레드시프트에 적재하고, 데이터베이스에 접속하고, 질의를 실행하고 결과를 내보내는 방법을 살펴본다.
9장, ‘실시간 데이터 분석 파이프라인 구축하기’에서는 아마존 머신 러닝을 다른 AWS 서비스와 결합해 확장한다. AWS 키네시스와 람다, 레드시프트, 머신 러닝을 결합해 실시간 트윗 분석 데이터 파이프라인을 구축한다.

저자/역자 소개

지은이의 말

빅데이터와 인공지능은 일상생활에 스며들어 있으며, 수십억 달러 규모의 클라우드 기반 서비스로서의 머신 러닝 MLaaS 산업을 촉진하고 있다. 시장에 있는 여러 MLaaS 플랫폼 중 아마존 머신 러닝은 단순함을 자랑한다. 아마존 머신 러닝은 ‘고수준의 기술 자원 없이도 성능과 비용의 균형을 유지할 수 있는 서비스를 제공해 예측 분석에 대한 진입 장벽을 낮춘다’는 명확한 목표를 갖고 2015년 4월에 출시됐다. 아마존 머신 러닝은 AWS 생태계와 결합해 예측 분석을 비즈니스 데이터 파이프라인의 자연스러운 요소로 만든다.
이 책은 두 가지 목표를 가지고 아마존 머신 러닝의 단순화 접근법을 따른다. 하나는 서비스의 잠재력을 충분히 활용하기 위해 필요한 데이터 과학에 대한 핵심 지식이고, 또 다른 하나는 예측 분석을 중심으로 완전한 기능을 갖춘 데이터 파이프 라인을 구축해, 효과적으로 예측 분석을 데이터 주도 애플리케이션의 핵심 추진력으로 만드는 것이다.

지은이 소개

알렉시스 페리에(Alexis Perrier)

보스턴에 있는 도슨트 헬스(Docent Health)라는 스타트업의 데이터 과학자다. 헬스케어 분야에서 환자의 경험을 개선하기 위해 머신 러닝과 자연어 처리 관련 업무를 하고 있다. 확률적 알고리즘의 힘에 매료돼 데이터 과학 커뮤니티에서 강사, 블로거, 발표자로 활발히 활동하고 있으며, 텔레콘 파리 테크(Telecom Paris Tech에)서 신호 처리 분야 박사 학위를 받고 보스턴에 거주하고 있다.
트위터(@alexip)나 이메일(alexis.perrier@gmail.com)로 연락할 수 있다.

옮긴이의 말

머신 러닝은 기존 데이터의 패턴을 학습한 모델을 새로운 데이터에 적용해 예측(사용자가 이 상품을 살 것인지 등)하거나 특징에 따라 분류(고객이 대출을 잘 상환할 것인지 등)하는 기술이다. 이를 잘 이용하면 사업의 효율성을 높이거나 리스크를 줄일 수 있고, 더 나아가 새로운 서비스를 개발할 수 있기 때문에 머신 러닝은 다양한 영역에서 활용되고 있다
또 하나의 큰 흐름은 여러 사업 분야에서 클라우드를 활용해 인프라를 구축하고 있다는 것이다. 머신 러닝 기반 애플리케이션은 결국 데이터와 알고리즘의 조합이다. 데이터가 클라우드에 존재한다면 이를 활용하는 애플리케이션도 클라우드 기반이 될 가능성이 크다.
퍼블릭 클라우드에서 1위인 AWS가 제공하는 머신 러닝 서비스는 AWS의 다양한 서비스와 연동해 사용자가 손쉽게 머신 러닝을 이용한 애플리케이션을 개발할 수 있도록 돕는다.
이 책은 회귀 분석 기법에 관한 간단한 소개에서 시작한다. 데이터 수집, 머신 러닝에 맞게 가공, 학습 단계, 학습 모델에 대한 평가, 실제 데이터를 만들어진 모델에 적용하기까지 머신 러닝을 중심으로 하는 애플리케이션을 개발하는 전체 사이클을 설명한다. 또한 파이썬 언어로 AWS SDK를 이용해 전체 사이클을 자동화할 수 있으며, S3나 RDS, 레드시프트에 저장된 데이터를 배치 처리하는 것과 키네시스와 람다를 이용한 실시간 처리에 관한 내용을 모두 포함한다.

옮긴이 소개

정준영(poterius@naver.com)

처음 입사한 한글과컴퓨터에서 심마니 서비스로 검색을 시작했다. SK컴즈(네이트닷컴), KTH(파란닷컴), 삼성전자(갤럭시앱스 등)를 거쳐 현재 쿠팡에서 검색을 담당하고 있다. 새로운 영역에 도전해보고자 시작한 첫 번역이다

목차

목차
  • 1장. 머신 러닝과 예측 분석 소개
    • 아마존 머신 러닝 소개
      • 서비스로서의 머신 러닝
      • AWS 융합 활용하기
      • 성능 비교
      • 가격 책정
    • 예측 분석 이해
      • 가장 간단한 예측 분석 알고리즘 구축하기
      • 회귀와 분류
      • 로지스틱 회귀로 회귀를 분류 문제로 확장하기
      • 결과를 예측하기 위한 특징 추출하기
    • 예측을 위한 선형 모델 심화
  • 데이터셋 검증
    • 아마존 머신 러닝에서 결여된 것
    • 통계적 접근과 머신 러닝 접근
  • 요약

  • 2장. 머신 러닝 정의와 개념
    • 알고리즘? 모델?
    • 지저분한 데이터 다루기
      • 고전적인 데이터셋과 실제 데이터셋
      • 다중 분류 모델에 관한 가정
      • 누락값
      • 정규화
      • 불균형 데이터셋
      • 다중공선성 해결
      • 이상값 검출
      • 비선형 패턴 수용
      • 특징 추가
      • 전처리 요약
    • 예측 분석 작업 흐름
      • 아마존 머신 러닝에서 학습과 평가
    • 저품질 인지와 수정
      • 언더피팅
      • 오버피팅
      • 선형 모델에 관한 정규화
      • 모델의 성능 평가
    • 요약

  • 3장. 아마존 머신 러닝 워크플로 개요
    • AWS 계정 만들기
      • 보안
    • 계정 설정하기
      • 유저 생성
      • 정책 정하기
      • 로그인 크리덴셜 생성
    • 표준 아마존 머신 러닝 워크플로 개요
      • 데이터셋
    • 모델
    • 모델 평가
    • 배치 예측 만들기
    • 요약

  • 4장. 데이터셋 준비하기
    • 데이터셋으로 작업하기
      • 공개 데이터셋 찾기
      • 타이타닉 데이터셋 소개
    • 데이터 준비
      • 데이터 나누기
      • 데이터를 S3에 올리기
    • 데이터 소스 만들기
      • 데이터 스키마 확인
      • 스키마 재사용
    • 데이터 통계 진단
    • 아테나와 특징 공학
      • 아테나 소개
      • 타이타닉 데이터셋 만들기
    • SQL로 데이터 가공하기
      • 누락값
      • 개선된 데이터 소스 만들기
    • 요약

  • 5장. 모델 생성
    • 레시피로 데이터 변환하기
      • 변수 관리
      • 일곱 가지 변환을 통한 데이터 처리
    • 모델 만들기
      • 제안된 레시피 편집하기
      • 모델의 매개변수화
    • 평가 생성하기
      • 모델 평가하기
    • 로그 분석
      • 학습률 최적화
    • 요약

  • 6장. 예측과 성능
    • 배치 예측 만들기
      • 배치 예측 작업 만들기
      • 예측 결과 해석하기
    • 실시간 예측 만들기
      • 수작업으로 변수의 영향 조사
      • 실시간 예측 설정
    • 요약

  • 7장. 명령행과 SDK
    • 시작과 설정
      • CLI vs SDK 사용하기
      • AWS CLI 설치
      • CLI 구문 가져오기
      • JSON 파일을 이용해 파라미터 전달하기
      • Ames Housing 데이터셋 소개
      • 쉘 명령으로 데이터셋 분리하기
    • CLI를 사용하는 간단한 프로젝트
      • 아마존 머신 러닝 CLI 명령 개요
      • 데이터 소스 만들기
      • 모델 만들기
      • create-evaluation 명령으로 모델 평가하기
      • 교차 유효성 검증이란?
      • 몬테 카를로 교차 유효성 검증 구현하기
      • 결론
    • Boto3, the Python SDK
      • 아마존 머신 러닝을 위한 Python SDK로 작업하기
      • Boto3로 반복적 특징 선택 구현하기
    • 요약

  • 8장. 레드시프트에서 데이터 소스 만들기
    • RDS와 레드시프트 중에서 선택
      • 레드시프트 인스턴스 만들기
      • Psql로 레드시프트 질의 실행하기
      • 비선형 데이터셋 만들기
    • 다항회귀 소개
      • 기준선 정하기
    • 아마존 머신 러닝에서 다항회귀
      • Python에서 실험하기
      • 결과 해석하기
    • 요약

  • 9장. 실시간 데이터 분석 파이프라인 구축하기
    • 실시간 트위터 감성 분석
      • 트위터의 인기 콘테스트
      • 데이터셋과 모델 훈련하기
      • 키네시스
      • 트윗 수집하기
      • 레드시프트 데이터베이스
      • Redshfit를 키네시스 Firehose에 더하기
      • Lambda로 전처리하기
      • 결과 분석하기
    • 분류와 회귀를 넘어서
  • 관련 블로그 글

    미래를 이끄는 AWS의 머신 러닝, 람다

    새로운 패러다임으로 떠오르고 있는
    서버리스 컴퓨팅


    서버리스 컴퓨팅이란?

    운영체제 종류나 소프트웨어 플랫폼, 하드웨어에 신경 쓸 필요 없이

    오직 CPU메모리만을 사용해 애플리케이션 코드를 실행하는 것을 말한다.


    AWS 로고

    그 중 AWS(Amazon Web Services, 아마존 웹 서비스)는 서버리스 컴퓨팅 시장을 선두에서 이끌고 있다.

    AWS는 IoT에서 머신 러닝, 이미지 인식, 챗봇 프레임워크에 이르기까지 폭넓은 서비스를 지원한다.


    지난 11월 29일 월트 디즈니 컴퍼니도 AWS를 클라우드 제공업체로 선정했다고 선정했다.

    AWS와 디즈니는 IT 혁신을 추진하기 위해 8년 동안 협업했다.

    현재 미디어 네트웍스, 파크 앤드 리조트, 월트 디즈니 스튜디오 등을 포함한 디즈니의 다양한 사업 부문이

    AWS에서  비즈니스 크리티컬한 워크로드를 운영하며, 최적의 운영 성과와 고객 경험을 실현하고 있다고 한다.


    ...


    '단순함'으로 승부하는

    AWS 머신 러닝


    아마존은 AWS 머신 러닝에 20년 이상 꾸준히 투자했다.

    아마존의 수많은 내부 시스템 역시 머신 러닝 알고리즘으로 구동되고 있어

    고객이 경험하는 기능들의 핵심이기도 하다.



    AWS 머신 러닝을 사용하고 있는 기업들


    AWS 머신 러닝은 아마존이 제공하는 예측 분석을 위한 지도학습을 수행하는 온라인 서비스다.

    아마존 머신 러닝 자체는 단순하지만

    일단 AWS의 데이터 관련 서비스와 결합하면 훨씬 복잡하고, 더욱 강력한 서비스를 구현할 수 있다.


    아마존 머신 러닝은 2015년 4월, 고수준의 기술 자원 없이도 성능과 비용의 균형을 유지할 수 있는 서비스를 제공해

    예측 분석에 대한 진입 장벽을 낮춘다는 명확한 목표를 갖고 출시됐다.


    아마존 머신 러닝은 AWS 생태계와 결합해 예측 분석을 비즈니스 데이터 파이프라인의 자연스러운 요소로 만든다.

    <AWS 머신러닝> 책으로 다음 두 가지 목표를 달성할 수 있다.
    -----------------------------------------------------------------------------------------------------------------------------------------
    아마존 머신 러닝의 단순화 접근법

    1. 서비스의 잠재력을 충분히 활용하는 데 필요한 데이터 과학에 관련된 핵심 지식

    2. 예측 분석을 중심으로 완전한 기능을 갖춘 데이터 파이프라인을 구축함으로써

    예측 분석을 데이터 주도 애플리케이션의 핵심 추진력으로 만드는 것
    -----------------------------------------------------------------------------------------------------------------------------------------

    아마존 머신 러닝의 진짜 강점은 쓰기 쉽고 단순하다는 것이다.

    단순한 인터페이스 아래에는 아마존의 머신 러닝에 관한 다양한 전문성이 있다.

    끝으로, 아마존 머신 러닝은 머신 러닝 자동화를 좀 더 가깝게 만드는 유용한 회기 및 분류 서비스다. 


    실제 인공 지능 애플리케이션을 구축하려고 하는 파이썬 개발자들이라면

    <AWS 머신러닝>을 통해 원하는 기술력을 얻을 것이다.


    ...


    서버 없는 컴퓨팅 서비스

    AWS Lambda


    AWS Lambda는 이벤트에 응답해 코드를 실행하고 자동으로 컴퓨팅 리소스를 관리하는 컴퓨팅 서비스다.

    AWS Lambda는 서버를 프로비저닝하거나 관리할 필요가 없어서

    사용하기 쉽고 간단하며, 매우 효과적으로 확장도 가능하다.



    AWS 람다 로고


    다른 AWS 서비스에서 코드를 자동으로 트리거하도록 설정하거나 웹 또는 모바일 앱에서 직접 코드를 호출할 수도 있다.

    또한 사용한 컴퓨팅 시간만큼만 비용을 지불하고, 코드가 실행되지 않을 때는 요금이 부가되지도 않는다.



    <실전 예제로 배우는 AWS Lambda>

    서버리스 컴퓨팅의 상세한 개념부터 장점, 사용 사례까지  소개하고 있다.

    또한 AWS Lambda가 개발자에게 제공하는 서비스인 Lambda 함수를 효과적으로 작성하고

    개발, 패키징, 테스트하는 방법을 배울 수 있다.


    실제로 사용할 수 있는 다양한 예제사용 사례를 바탕으로 하고 있기 때문에

    서버리스 애플리케이션을 빠르게 접해볼 수도 있다.



    <AWS 머신 러닝><실전 예제로 배우는 AWS Lambda>를 통해

    아마존 웹 서비스에서 제공하는 머신 러닝과 람다 함수를 익혀

    서버리스 컴퓨팅에 숙련된 개발자가 될 수 있다.



    CC

    크리에이티브 커먼즈 라이센스 이 저작물은 크리에이티브 커먼즈 코리아 저작자표시 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

    도서 오류 신고

    도서 오류 신고

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

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

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

    정오표

    정오표

    [p.29 : 4행]
    그외
    ->
    그 외