개발자를 위한 머신 러닝 [머신 러닝 시작이 막막한 개발자를 위한 안내서]
- 원서명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 및 윈도우의 세 가지 운영체제에서 머신 러닝을 구현하는 데 필요한 소프트웨어 패키지의 설치 방법을 설명한다.
목차
목차
- 1장. 소개: 머신 러닝 및 통계 과학
- 큰 그림에서의 머신 러닝
- 사용하는 도구: 프로그래밍 언어 및 라이브러리
- 기본적인 수학 개념
- 확률 및 랜덤 변수
- 확률 함수에 대한 통계적 측정 기준
- 요약
- 2장. 학습 과정
- 문제 이해
- 데이터셋 정의 및 획득
- 피처 엔지니어링
- 데이터셋 전처리
- 모델 정의
- 손실 함수 정의
- 모델 피팅 및 평가
- 모델 구현 및 결과 해석
- 요약
- 3장. 클러스터링
- 사람처럼 그룹화
- 클러스터링 과정 자동화
- 공통 중심 찾기: K-평균
- 최근접 이웃
- K-NN 샘플 구현
- 요약
- 4장. 선형 및 로지스틱 회귀
- 회귀 분석
- 선형 회귀
- 공분산 및 상관관계로 기울기 및 절편 탐색
- 그래디언트 디센트
- 실전 데이터 탐색 및 선형 회귀
- 로지스틱 회귀
- 요약
- 5장. 신경망
- 신경 모델의 역사
- 단층 퍼셉트론으로 간단한 함수 구현
- 요약
- 6장. 합성곱 신경망
- 컨벌루션 신경망의 기원
- 심층 신경망
- Keras를 사용한 심층 신경망 배포
- Quiver로 컨벌루션 모델 탐색
- 요약
- 7장. 순환 신경망
- 순서가 있는 문제 풀기: RNNs
- LSTM
- 에너지 소비 데이터를 이용한 단변량 시계열 예측
- 요약
- 8장. 최근 모델 및 개발 현황
- GAN
- 강화 학습
- 기본 RL 기술: Q-러닝
- 참고 자료
- 요약
- 9장. 소프트웨어 설치 및 설정
- 리눅스 설치
- 맥OS X 환경 설치
- 윈도우 설치
- 요약
도서 오류 신고
정오표
정오표
[p.178 : 6행]
(퍼셉트론은 우너래 학습 가능하며,
->
(퍼셉트론은 원래 학습 가능하며,