Top

파이썬으로 구현하는 고급 머신 러닝 [딥러닝을 포함한 최신 고급 머신 러닝 기술과 파이썬 활용]

  • 원서명Advanced Machine Learning with Python (ISBN 9781784398637)
  • 지은이존 하티(John Hearty)
  • 옮긴이남궁영환
  • ISBN : 9791161750354
  • 33,000원
  • 2017년 08월 17일 펴냄
  • 페이퍼백 | 376쪽 | 188*235mm
  • 시리즈 : acorn+PACKT, 데이터 과학

책 소개

본문에 쓰인 컬러 이미지는 여기에서 내려 받으세요.
요약

과거 오랜 기간 어려움을 겪었던 문제의 해결 방안이 등장하면서 최근 몇 년 사이 머신 러닝 분야는 발전 속도는 가히 폭발적이다. 특히 신경망 기반 접근 방법은 딥러닝이라는 기술로 큰 도약을 이뤘다 하겠다. 이 책에서는 이러한 머신 러닝에서 폭넓게 사용되는 핵심 알고리즘을 비롯해 최근 각광받고 있는 다양한 딥러닝 관련 대표 알고리즘들을 친절하고 자세하게 설명한다. 이미지 분류 등에서 높은 성능 향상을 보인 컨볼루션 신경망(CNN) 외에도 제한된 볼츠만 머신(RBM), 심층 신뢰망(DBN), SdA 등을 예제 데이터와 파이썬 코드를 이용해 직접 익힐 수 있게 한다. 뿐만 아니라 캐글(Kaggle)에서 높은 성능을 보인 기법도 쉽게 참고할 수 있게 한 점이 돋보인다. 참고 문헌으로 제공하는 풍부한 연구 지식을 통해서도 실력을 향상시킬 수 있을 것으로 기대한다.

이 책에서 다루는 내용

■ 첨단 딥러닝 알고리즘에 대한 실질적이고 이론적인 이해를 돕기 위한 최고 수준의 데이터 과학자의 성과 비교
■ 모든 기술에 대해 깔끔하게 설명된 코드와 테스트 실행 결과를 통해 신규 기술이 실제로 접할 수 있는 문제의 적용과 해결
■ 대규모의 복잡한 데이터 자동화와 이를 통해 장시간 작업을 필요로 하는 문제점의 극복 방안
■ 강력한 피처 엔지니어링 기술을 사용한 기존의 입력 데이터와 분석 모델의 정확도 향상방법
■ 분석 결과의 일관성을 향상시키기 위한 여러 가지 학습 기술 활용 방법
■ 폭넓은 비지도 학습 기법을 이용해 데이터셋에 숨겨진 패턴/구조 분석과 이해
■ 어렵고 과감한 도전이 필요한 문제에 대한 전문가들의 효과적이고 반복적으로 검증에 초점을 맞춘 방법 소개
■ 여러 가지 분석 모델을 함께 묶어 활용하는 강력한 앙상블 기술을 통해 딥러닝 모델을 더 효과적으로 만드는 방법

이 책의 대상 독자

최근 몇 년 사이 급부상한 고급 분석 모델링 기술에 초점을 맞춰 이 책을 읽기 바란다. 이 책은 많은 경험을 보유한 데이터 과학자와 기존 기술을 새로운 환경에 적용하려는 개발자에 상관없이 고급 분석 알고리즘을 공부하고자 하는 독자 모두를 대상으로 한다.

이 책의 구성

1장, '비지도 머신 러닝'에서는 데이터셋에 담긴 패턴과 구조를 파악하기 위해 비지도 학습을 어떻게 적용하는지 알아본다.
2장, 'DBN(Deep Belief Networks)'에서는 RBM과 DBN 알고리즘이 어떻게 동작하는지 자세히 설명한다. 이를 어떻게 사용하는지 알게 될 것이다. 그리고 결과에 대한 퀄리티를 향상시킬 수 있는 능력도 확실히 얻을 수 있을 것이다.
3장, 'SdA'에서는 고차원 입력 데이터의 피처 모델 학습에 SdA를 적용하는 방법을 통해 딥 아키텍처 형태로 모델을 만드는 방법을 계속 살펴본다.
4장, '컨볼루션 신경망(CNN)'에서는 컨볼루션 신경망(Convnet)를 어떻게 적용하는지 소개한다.
5장, '준지도 학습'에서는 다양한 준지도 학습을 어떻게 적용하는지 설명한다. 주요 기법으로는 CPLE, 자가 학습(self-learning), S3VM 등이 있다
6장, '텍스트 피처 엔지니어링'에서는 앞에서 다룬 모델에 대한 효과를 더욱 높일 수 있도록 데이터를 잘 준비하는 기술에 대해 알아본다.
7장, '피처 엔지니어링 II'에서는 (1) 데이터 퀄리티 문제를 완화하거나, (2) 머신 러닝에 도움이 되는 형식으로 데이터를 변환하든지, 또는 (3) 해당 데이터를 창의적으로 향상시키기 위해 데이터를 자세히 조사하고 정보를 얻는 방법 등을 소개한다.
8장, '앙상블 기법'에서는 세련된 모델 앙상블을 구현하는 방법과 분석 모델 솔루션에 대한 로버스트니스를 갖게 하는 기법 등을 살펴본다.
9장, '파이썬 머신 러닝 관련 추가 툴'에서는 우선 데이터 과학자가 사용할 수 있는 최신 툴 중 어떤 것들이 있는지 자세히 알아본다. 또한 이러한 툴이 어떤 장점이 있는지도 확인한다. 이 외에도 이 책의 앞부분에서 소개하는 툴과 기술을 일관된 작업 프로세스에 어떻게 적용하는지에 대해서도 살펴본다.
부록, '장별 코드 준비 사항'에서는 장 별로 준비해야 하는 라이브러리들과 이 책을 학습하는 데 필요한 툴을 요약 정리한다.

저자/역자 소개

지은이의 말

머신 러닝 커뮤니티는 인기 있는 알고리즘이 정의되고 재발견되면서 트렌드를 파악하기 시작할 정도로 충분히 성숙했다. 이를 좀 더 정확하게 표현하자면 주요 리서치 커뮤니티의 기존 트렌드가 산업계에서 큰 주목을 받기 시작했다는 얘기다. 산업계 및 학계를 아우르는 머신 러닝 전문가 그룹이 되면서 말이다. 또 다른 결과로는 고급 알고리즘에 대한 인식 수준이 점점 높아지고 있다는 점이다. 이를 통해 오늘날 가장 최신의 문제를 해결하는 데 이러한 알고리즘이 사용되기도 한다. 매달 새로운 발전이 이뤄지고, 스코어가 올라가며 문제 해결 영역을 훨씬 더 넓혀가고 있다.
이것이 과연 무엇을 의미하는 걸까? 데이터 과학 분야로 진출하고 머신 러닝 스킬셋을 개발하는 데 있어 지금이 가장 좋은 시점이라는 것이다. (클러스터링, 회귀 분석, 모델 신경망 아키텍처 같은) 기본 알고리즘과 툴은 웹 기반 온라인 강의와 각종 블로그 등을 통해 수많은 참고 자료들이 제공되고 있다. (딥러닝, 준지도형 학습 알고리즘, 앙상블 기법 같은) 데이터 과학의 첨단 기술은 여전히 접근이 쉽지 않지만, 기술 자체는 소프트웨어 라이브러리를 통해 여러 종류의 언어로 제공되고 있다. 필요한 것은 분석 모델을 제대로 구현하기 위한 이론적 지식과 실질적인 지침을 잘 결합하는 것이다. 이것이 바로 이 책을 통해 다루고자 하는 목표다.
좀 더 진보한 데이터 모델링 기술의 최신 정보를 얻고, 도전적인 난제를 해결하기 위해 이를 사용해 경험을 얻고자 한다면 이 책이 안성맞춤이라고 할 수 있다!

지은이 소개

존 하티(John Hearty)

디지털 회사의 컨설턴트로, 데이터 사이언스와 인프라스트럭처 엔지니어링 분야의 전문가다. 모바일 게임에서부터 미국 자동차 보험회사인 콘솔 분석에 AAA 관련된 고난도의 문제까지 다뤄왔다.
고급 머신 러닝 기술을 실제 문제에 적용하기 시작하면서 XBox 플랫폼에서 플레이어 모델링 기능과 대규모 데이터 인프라스트럭처를 개발하기 위해 마이크로소프트와 계약을 체결했다. 그가 속한 팀은 엔지니어링, 데이터 과학 분야에서 획기적인 진전을 이루며, 결과물에 대해 Microsoft Studio에서 복제해가기도 했다.
이러한 경험을 통해 결국 존은 새로운 통찰력이나 데이터에 기반을 둔 역량을 추구하는 국내외 고객을 위한 포괄적인 인프라 및 분석 솔루션을 제공하는 컨설턴트가 됐다. 그가 현재 가장 의욕적으로 수행 중인 계약 프로젝트는 주요 소셜 네트워크에 대한 예측 분석 모델을 만들고 사용자들 간의 연결 관계에 대한 중요성을 정량화하는 것이다. 수년간 데이터 작업에 몰두한 결과 존은 끊임없는 질문을 통해 궁금증을 해결하려고 한다. 개인적인 관심사를 충족시키기 위해 파이썬으로 매일매일 ML 솔루션을 개발하고 있다. 여기에는 StyleNet computational creativity 알고리즘의 파생 버전과 algo-trading 및 geolocation 기반의 추천 등을 위한 솔루션이 포함돼 있다.

옮긴이의 말

최근 10년은 머신 러닝 분야에 있어 가히 르네상스라 할 만하다. 특히 여기에 가장 큰 기여를 한 기술을 꼽는다면 단연 딥러닝이다. 아울러 GAN(Generative Adversarial Networks), RN(Relational Networks) 등은 향후 다양한 분야에서 큰 영향력을 발휘할 것으로 예상된다. 하지만 지금의 머신 러닝, 인공 지능의 대중화와 눈부신 발전은 오랜 기간 폭넓고 꾸준한 연구가 이뤄지지 않았다면 불가능했을 것이다.
이 책은 딥러닝의 대표 알고리즘들을 자세하게 설명하며 파이썬으로 직접 실습해볼 수 있도록 코드를 제공하고 있다. 특히 풍부한 최신 지식을 참고 자료로 제공하는 점이 무척 의미가 있다. 독자들이 이 책으로 꾸준히 학습해서 머신 러닝을 좀 더 잘 이해하고 다양하게 활용할 수 있기를 기대한다.

옮긴이 소개

남궁영환

고려대학교 컴퓨터학과(학사/석사)와 서던캘리포니아 대학교(Univ. of Southern California)(석사)를 졸업하고, 플로리다 대학교(Univ. of Florida)에서 데이터 마이닝을 주제로 컴퓨터공학 박사 학위를 취득했다. 삼성SDS 연구소에서 클라우드 컴퓨팅, 빅데이터 인프라 플랫폼, 데이터 과학/분석에 관한 다양한 최신 기술의 연구/개발 과제를 수행했다. 현재 아마존 웹 서비스(Amazon Web Services)에서 프로페셔널 서비스 빅데이터 컨설턴트(Professional Services Big Data Consultant)로 활동 중이다.

목차

목차
  • 1장. 비지도 머신 러닝
    • 주성분 분석(PCA)
      • PCA: 기초
      • PCA 활용
    • K-평균 클러스터링
      • 클러스터링: 기초
      • 클러스터링 분석
      • 클러스터링 환경 변수 튜닝
    • SOM(Self-organizing maps)
      • SOM 알고리즘의 기초
      • SOM 알고리즘 활용
    • 참고 문헌
    • 요약

  • 2장. 심층 신뢰망(DBN)
    • 신경망: 기본 개념
      • 신경망의 구성
      • 네트워크 토폴로지
    • 제한된 볼츠만 머신(RBM)
      • RBM의 소개
        • 토폴로지
        • 학습
      • RBM 애플리케이션
      • RBM 애플리케이션 추가 사항
    • 심층 신뢰망(DBN)
      • DBN 학습
      • DBN 애플리케이션
      • DBN 검증
    • 참고 문헌
    • 요약

  • 3장. SdA
    • 오토인코더
      • 오토인코더 소개
        • 토폴로지
        • 학습
      • dA
      • dA 응용
    • SdA
      • SdA 응용
      • SdA 성능 평가
    • 참고 문헌
    • 요약

  • 4장. 컨볼루션 신경망(CNN)
    • CNN의 소개
      • 컨볼루션 신경망 토폴로지
        • 컨볼루션 레이어
        • 풀링 레이어
        • convnet 학습
        • 종합 정리
      • CNN의 응용
    • 참고 문헌
    • 요약

  • 5장. 준지도 학습
    • 소개
    • 준지도 학습의 이해
    • 준지도 학습 알고리즘의 실제
      • 자가 학습
        • 자가 학습 구현
        • 자가 학습 구현에 대한 세부 조정
    • CPLE
    • 참고 문헌
    • 요약

  • 6장. 텍스트 피처 엔지니어링
    • 소개
    • 텍스트 피처 엔지니어링
      • 텍스트 데이터 정제
        • BeautifulSoup을 이용한 텍스트 정제
        • 구두점과 토큰화 관리
        • 단어의 태깅 및 카테고리화
      • 텍스트 데이터에서 피처 생성
      • 어근 추출
      • 배깅과 랜덤 포레스트
      • 준비된 데이터의 테스팅
    • 참고 문헌
    • 요약

  • 7장. 피처 엔지니어링 II
    • 소개
    • 피처 세트 생성
      • 머신 러닝 애플리케이션을 위한 피처 엔지니어링
        • 피처의 학습 정도 향상을 위한 리스케일링 기술의 이용
        • 도출된 변수의 효과적인 생성
        • 숫자가 아닌 피처의 재해석
      • 피처 셀렉션 기술의 이용
        • 피처 셀렉션 수행
    • 실제 문제에서 피처 엔지니어링
      • RESTful API를 통한 데이터 확보
        • 모델의 성능 테스트
        • 트위터
        • 피처 엔지니어링 기술을 이용한 변수 도출 및 선택
    • 참고 문헌
    • 요약

  • 8장. 앙상블 기법
    • 앙상블의 소개
      • 평준화 기법
        • 배깅 알고리즘을 이용
        • 랜덤 포레스트를 사용
      • 부스팅 기법 응용
        • XGBoost를 이용
        • 스태킹 앙상블 사용
      • 실제 문제에 앙상블 응용
    • 다이내믹 애플리케이션에서 모델 사용
      • 모델 로버스트니스 이해
        • 위험 요소 모델링 파악
      • 모델 로버스트니스 관리 전략
    • 참고 문헌
    • 요약

  • 9장. 파이썬 머신 러닝 관련 추가 툴
    • 대안 개발 툴
      • 라자냐 소개
        • 라자냐 학습
      • 텐서플로 소개
        • 텐서플로 학습
        • 모델을 반복적으로 향상시키기 위한 텐서플로 사용
      • 라이브러리 사용 시 알아둘 점
    • 참고 문헌
    • 요약

도서 오류 신고

도서 오류 신고

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

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

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

정오표

정오표

[p.24 : 코드 블록]
import matplotlib.cm as 츠
->
import matplotlib.cm as cm

[p.27 : 그림 캡션]
최초 2개의 주성분을 점으로 표시한 결과
->
최초 10개의 주성분을 점으로 표신한 결과