Top

개발자를 위한 머신 러닝 [머신 러닝 시작이 막막한 개발자를 위한 안내서]

  • 원서명Machine Learning for Developers: Uplift your regular applications with the power of statistics, analytics, and machine learning (ISBN 9781786469878)
  • 지은이로돌포 본닌(Rodolfo Bonnin)
  • 옮긴이김정중
  • ISBN : 9791161752181
  • 25,000원
  • 2018년 10월 25일 펴냄
  • 페이퍼백 | 288쪽 | 188*235mm
  • 시리즈 : acorn+PACKT, 데이터 과학

책 소개

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

2019년 대한민국학술원 우수학술도서 선정도서
요약

머신 러닝 기법을 활용하고 싶지만 어떻게 시작할지 막막한 실무자, 개발자를 위한 책이다. 최근에 머신 러닝과 딥러닝에 관련된 서비스 및 라이브러리가 많이 공개돼 있지만, 이를 잘 활용하기 위해서는 머신 러닝에 대한 배경지식이 필수적이다. 이 책에서는 머신 러닝을 실제로 적용하는데 필요한 관련 배경지식을 최소한의 수식과 간단한 파이썬 코드를 통해 체계적으로 머신 러닝부터 딥러닝까지 소개하고 있다.

추천의 글

많은 데이터를 만드는 것이 가능했던 지난 10년간 생겨난 몇 가지 기술들은 세상을 다시는 되돌릴 수 없을 만큼 변화시켰다. 그중에서도 머신 러닝이 두드러진 역할을 했다. 이 기술은 데이터 분석, 마이닝, 지식 발견에 적용됐고, 보이지 않지만 우리 일상생활에서 사용하는 대부분 시스템에 스며들어 실행 가능한 자율 지능을 제공하는 기기에서 필요한 주요 기능을 제공하고 있다. 기존 머신 러닝에서 사용됐던 형식들과 방법들은 온라인 비즈니스를 중심으로 하는 전자상거래, 소셜 네트워크, 인터넷 관련 서비스와 제품 및 이와 유사한 기업의 요구가 증가함에 따라 빠르게 변화했다. 머신 러닝의 획기적인 발전은 확장 가능한 계산 장치, 거대한 데이터셋을 실시간으로 분석할 수 있는 뛰어난 관리 기능과 하둡 생태계에서 시작되고 성숙한 다른 기술 혁신 덕분이다. 이와 동시에 파이썬 프로그래밍 언어를 사용하는 사용자들의 자발적인 활동을 통해 정교한 분석 라이브러리가 발전되고 널리 확산됐다. 이를 통해 지식과 경험이 획기적으로 늘어났으며, 실제 제품에 쉽고 빠르게 적용할 수 있게 됐다.
최근에 머신 러닝에서 신경망은 주요한 역할을 한다. 70년 전에 최초로 제안된 인공지능의 한 패러다임이었던 신경망은 연구자 사이에서 버려지고 다시 발전되기를 반복했다. 이는 복잡한 분석을 하기에 컴퓨터 파워가 부족하고, 시행착오를 거치면서 여러 구조를 조립, 훈련, 테스트하는 작업이 버거워서였을 것이다. 이렇게 제한적인 환경은 최근 몇 년 사이에 급격하게 변했다. 클라우드 컴퓨팅, GPU, 그리고 간단한 스크립트만으로 네트워크를 설정할 수 있게 하는 라이브러리가 등장했다. 오늘날에는 수억 개의 자유도가 있는 네트워크를 몇 분 만에 조립하고, 수 시간 내에 훈련하고, 며칠 만에 실제 제품에 적용할 수 있다(적합한 기술을 알고 있는 경우). 이는 최근 컴퓨터 비전, 언어 이해 및 패턴 인식 분야에서 급진적인 발전이 최근에 제안된 여러 신경망에 의해 일어나고 있는 이유 중 하나다.
급격히 증가하는 지식, 기술 및 프로그래밍 라이브러리 때문에 빠르고 실제적인 애플리케이션을 배포하는 분야에서는 대부분의 전통적인 교재는 적합하지 않다. 하지만 이 책은 머신 러닝을 적용한 애플리케이션을 성공적으로 구현하고 이해하는 데 필요한 모든 자료를 제공하며, 빠르고 쉽게 읽을 수 있다. 이 책에서는 다음과 같은 내용을 볼 수 있다. 1. 머신 러닝 분야의 기본 원리(분류, 클러스터링, 회귀 및 데이터 축소)와 함께 해당 주제의 수학적 및 통계적 기초에 대한 빠르고 포괄적인 소개
2. 훈련 알고리즘의 기초, 수렴 기준 및 결과 평가에 대한 내용을 포함하는 학습 모델로서의 신경망에 대한 자세한 설명
3. 정교한 네트워크를 사용하는 가장 최신 네트워크(합성곱, 순환, 생성적 대립 신경망)에 대한 소개. 각 모델은 이론과 실제적인 측면에서 철저히 분석됨
4. 오픈소스 소프트웨어에 대한 종합적인 안내서로, 독자가 개념을 실제 작업에 매우 빠르게 적용할 수 있게 함
이 책은 전문 지식이 시대에 뒤떨어져 있다고 느끼는 실무자, 비즈니스 애플리케이션에 정교한 머신 러닝 기능을 사용해야 하는 개발자, 그리고 머신 러닝에 대한 폭넓고 실제적인 이해를 얻고자 하는 사람에게 강력히 추천한다. 저자는 매우 명확하고 체계적인 방식으로 해당 주제에 대한 그의 방대한 경험을 전달하고 있기에 이 책을 쉽게 따라 하고 이용할 수 있다.
/클라우디오 델리우스, 아르헨티나 국가 연구 및 기술위원회의 펠로우

이 책에서 다루는 내용

■ 개발자가 익숙한 접근 방식을 통한 머신 러닝의 수학 및 기법 학습
■ 널리 사용되는 머신 러닝 알고리즘/기술과 실제 문제 해결 방법
■ 인기 있는 프로그래밍 프레임워크를 사용해 고급 개념에 대한 학습
■ 머신 러닝 분야에서 일할 수 있는 준비
■ 머신 러닝을 사용해 컴퓨팅 문제를 해결하는 데 가장 잘 알려지고 강력한 도구에 대한 개요 제공
■ 현재 머신 러닝 분야에 대한 소개를 바탕으로 개념들을 흥미롭고 최첨단 문제에 적용

이 책의 대상 독자

이 책은 프로그래밍을 통해 머신 러닝 개념의 기초를 이해하고자 하는 개발자/기술에 관심이 많은 사람을 대상으로 한다. 이 책은 스크립팅 언어에 대한 경험이 있는 사람에 적합하고, 파이썬에 익숙하면 코드를 이해하는 데 더욱 유용할 것이다. 또한 현재 데이터 과학자들의 경우에는 새롭고 실질적인 접근법을 통해 기본 개념부터 이해하는 데 유용할 것이다.

이 책의 구성

1장, ‘소개: 머신 러닝 및 과학 통계’에서는 머신 러닝의 입문에 필요한 다양한 개념을 다룬다. 역사, 종류 및 해당 분야의 일반적인 개념에 대해 알아본다. 또한 이후에 개발되는 대부분의 기술을 이해하는 데 필요한 기본 수학적 개념을 소개한다.
2장, ‘학습 과정’에서는 머신 러닝 작업 과정에 있는 모든 단계를 다루며, 각 단계에서 사용되는 유용한 도구와 개념의 정의를 보여준다.
3장, ‘클러스터링’에서는 비지도 학습, 특히 K-평균과 K-NN 클러스터링을 위한 몇 가지 기술을 다룬다.
4장, ‘선형 및 로지스틱 회귀’에서는 이름은 비슷하지만 상당히 다른 두 가지 지도 학습 알고리즘을 다룬다. 이 두 알고리즘은 선형 회귀(시계열 예측을 수행)와 로지스틱 회귀(분류 목적으로 사용)다.
5장, ‘신경망’에서는 최신 머신 러닝 애플리케이션의 기본 구성 요소 중 하나인 신경망을 다루며, 단계적으로 실제 신경망을 구축하면서 마무리한다.
6장, ‘합성곱 신경망’에서는 신경망의 강력한 변형된 형태인 CNN을 다룬다. 실제 적용 예에서는 VGG16이라고 잘 알려진 CNN 구조의 내부를 실제적으로 둘러보는 것으로 마무리한다.
7장, ‘순환 신경망’에서는 RNN 개념의 개요와 가장 많이 사용되는 구조인 LSTM의 각 단계에 대해 다룬다. 마지막으로 시계열 예측에 대한 실제 예를 소개한다.
8장, ‘최근 모델 및 개발 현황’에서는 이 분야에서 큰 관심을 받고 있는 두 가지 기법, 즉 생성적 대립 신경망과 강화 학습의 전반적인 분야에 대해 다룬다.
9장, ‘소프트웨어 설치 및 설정’에서는 리눅스, 맥OS 및 윈도우의 세 가지 운영체제에서 머신 러닝을 구현하는 데 필요한 소프트웨어 패키지의 설치 방법을 설명한다.

저자/역자 소개

지은이의 말

머신 러닝은 현재 인기 있는 분야 중 하나다. 중요한 기술로 언론의 찬사를 받으면서 최근에 데이터와 자동화로 동작하는 모든 곳에서 중요하게 투자해야 할 기술의 한 분야다. 그리고 머신 러닝은 이미지 이해, 로봇 공학, 검색 엔진, 자율 자동차 등과 같은 많은 분야에서 광범위하게 사용되고 있으며, 응용 분야가 계속 증가하고 있다. 이 책에서는 복잡한 수학적인 지식을 제외하고 코드와 다이어그램을 통해 머신 러닝의 기본 개념과 현재 기술을 다룬다.
기본적인 머신 러닝 개념, 종류 및 문제 유형에 대해 알아보면서 시작한다. 이후 기술을 이해하는 데 필요한 기본적인 수학 개념도 설명한다. 장들을 진행하면서 복잡도와 정교함이 증가하는 모델들에 대해 설명한다. 선형 회귀를 시작으로 로지스틱 회귀, 신경망 및 CNN, RNN 같은 첨단 머신 러닝 기술을 다루며, GAN과 강화 학습 같은 진보된 머신 러닝 기술을 소개하며 마무리한다.
이 책은 최종적으로 머신 러닝이 무엇인지 파악하고 기본적인 수학적 정의와 함께 알고리즘 관점에서 주요 기본 개념을 이해하고자 하는 개발자를 대상으로 한다. 이 책은 쉽게 인터페이스가 가능한 파이썬을 이용해 개념들을 구현한다. 파이썬은 코드를 통해 학습하기 위한 최고의 도구다. 따라서 파이썬 프로그래밍에 대해 익숙해지면 코드로 여러 가지를 할 수 있다. 다른 언어에 대한 경험이 있다면 어렵지는 않을 것이다.
자신의 머신 러닝 문제를 해결하는 데 필요한 알고리즘을 어떻게 정하는지, 최상의 결과를 얻기 위해 이 알고리즘이 어떻게 작동하는지에 대한 내용을 배운다. 머신 러닝을 빠르게 개발자가 익숙한 언어를 통해 배우고자 하고, 이 분야에 뛰어들기 위한 충분한 정보를 갖고자 한다면 이 책을 반드시 봐야 한다!

지은이 소개

로돌포 본닌(Rodolfo Bonnin)

시스템 엔지니어이자 아르헨티나 국립 기술 대학교(Universidad Tecnológica Nacional)의 박사 과정 학생이다. 독일 슈투트가르트 대학(Universität Stuttgart)에서 병렬 프로그래밍 및 이미지 이해를 전공했다.
2005년부터 고성능 컴퓨팅에 대한 연구를 해오고 있으며 2008년에 CPU 및 GPU에서 동작하는 신경망 피드포워드 부분을 작성하면서 합성곱 신경망을 연구하고 구현하기 시작했다. 최근에는 신경망을 이용한 사기 패턴 탐지 분야에서 일하고 있으며, 현재 머신 러닝 기술을 사용해 신호 분류를 하고 있다.
팩트출판사의 『Building Machine Learning Projects With Tensorflow』(2016)의 저자이기도 하다.

옮긴이의 말

알파고 쇼크 이후에 많은 사람이 인공지능에 관심을 갖게 됐다. 인공지능이 갑작스럽게 나온 기술인 것 같지만 오래전부터 지속적으로 연구가 진행됐던 분야다. 이 기술과 많은 데이터, 값싸고 성능 좋은 연산장치의 등장이 접목돼 알파고, 사람보다 사람 인식을 잘하는 서비스, 자율자동차 등과 같은 파격적인 결과물들이 등장하고 있다. 이 결과의 바탕에는 많은 데이터를 통해 시스템에 지능을 부여하는 머신 러닝이 있다. 우리가 인지하지는 못하지만 이 머신 러닝 기술은 오래전부터 온라인 스토어, SNS, 금융 분야 등에서 사용되고 있으며, 그 적용처가 점차 확대되고 있다.
이 책은 머신 러닝을 적용하고자 하는 실무자, 개발자, 혹은 머신 러닝에 관심 있는 사람을 위한 책이다. 머신 러닝은 선형 대수, 확률, 통계, 최적화 등에 기반을 학문이며, 이 분야에서 사용 중인 용어 및 관련 내용은 머신 러닝을 시작하기 위한 장애물이 되고 있다. 이 책에서는 실제로 머신 러닝을 적용하기 위해 필요한 배경지식을 최소한의 수식과 간단한 파이썬 코드를 통해 체계적으로 머신 러닝부터 딥러닝까지 설명한다. 이 책에서 소개하는 내용을 바탕으로 머신 러닝과 딥러닝에 관련된 서비스 및 라이브러리를 더욱 잘 활용할 수 있을 것이다.
아무쪼록 이 책이 머신 러닝 기법을 자신만의 프로젝트에 적용하고자 하는 독자들에게 도움이 됐으면 한다.

옮긴이 소개

김정중

인공지능, 로봇, 컴퓨터 비전 분야에 관심이 많고, 관련 프로젝트 및 연구를 진행했으며, 학습에 기반을 둔 로봇의 동작 계획/생성으로 박사 학위를 받았다.
현재는 인공지능을 활용해 복잡한 환경에서 여러 작업을 하는 기계 시스템/로봇을 만들기 위한 연구를 진행 중이다.

목차

목차
  • 1장. 소개: 머신 러닝 및 통계 과학
    • 큰 그림에서의 머신 러닝
    • 사용하는 도구: 프로그래밍 언어 및 라이브러리
    • 기본적인 수학 개념
    • 확률 및 랜덤 변수
    • 확률 함수에 대한 통계적 측정 기준
    • 요약

  • 2장. 학습 과정
    • 문제 이해
    • 데이터셋 정의 및 획득
    • 피처 엔지니어링
    • 데이터셋 전처리
    • 모델 정의
    • 손실 함수 정의
    • 모델 피팅 및 평가
    • 모델 구현 및 결과 해석
    • 요약

  • 3장. 클러스터링
    • 사람처럼 그룹화
    • 클러스터링 과정 자동화
    • 공통 중심 찾기: K-평균
    • 최근접 이웃
    • K-NN 샘플 구현
    • 요약

  • 4장. 선형 및 로지스틱 회귀
    • 회귀 분석
    • 선형 회귀
    • 공분산 및 상관관계로 기울기 및 절편 탐색
    • 그래디언트 디센트
    • 실전 데이터 탐색 및 선형 회귀
    • 로지스틱 회귀
    • 요약

  • 5장. 신경망
    • 신경 모델의 역사
    • 단층 퍼셉트론으로 간단한 함수 구현
    • 요약

  • 6장. 합성곱 신경망
    • 컨벌루션 신경망의 기원
    • 심층 신경망
    • Keras를 사용한 심층 신경망 배포
    • Quiver로 컨벌루션 모델 탐색
    • 요약

  • 7장. 순환 신경망
    • 순서가 있는 문제 풀기: RNNs
    • LSTM
    • 에너지 소비 데이터를 이용한 단변량 시계열 예측
    • 요약

  • 8장. 최근 모델 및 개발 현황
    • GAN
    • 강화 학습
    • 기본 RL 기술: Q-러닝
    • 참고 자료
    • 요약

  • 9장. 소프트웨어 설치 및 설정
    • 리눅스 설치
    • 맥OS X 환경 설치
    • 윈도우 설치
    • 요약

도서 오류 신고

도서 오류 신고

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

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

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

정오표

정오표

[p.178 : 6행]
(퍼셉트론은 우너래 학습 가능하며,
->
(퍼셉트론은 원래 학습 가능하며,