로그인회원가입장바구니고객센터마이페이지회사소개
kangcom
전체
Home >   >   > 

Go를 활용한 머신 러닝

   
지은이 다니엘 화이트낵   |   출판사 에이콘  |   발행일 2019년 01월 31일
 
클릭하시면 큰 도서이미지를 보실 수 있습니다.
판매가 30,000원27,000원 10%
마일리지 5% 1,500원
발행일 2019-01-31
ISBN 1161752668 |  9791161752662
기타정보 번역서 | 384쪽 | 일반
예상출고일 2~3일 이내 (근무일기준)
배송비 무료배송
   
일반
종합지수 0p
   
이 책의 원서
  Machine Learning with Go
Packt Publishing
 

★ 요약 ★



Go 언어를 머신 러닝 분야에 활용하는 내용을 다룬다. Go 언어는 요즘 널리 사용되는 다른 언어와 달리 단순함과 효율성을 강조하는 언어다. 이 책은 Go 언어를 활용해 생산성과 효율성이 높은 머신 러닝 프로그램 작성 방법을 알려준다. 또한 데이터 수집, 정리, 구문 분석, 머신 러닝 프로그램의 평가 및 검증 방법, 회귀 분석, 분류, 군집화, 시계열 분석, 신경망 및 딥러닝 등 머신 러닝에 대한 내용을 충실하게 다루고 있기 때문에 머신 러닝을 공부하고자 하는 독자들에게도 많은 도움을 줄 것이다. 또한 Go 언어를 머신 러닝 분야에 활용하고자 하는 데이터 과학자 및 Go 언어 개발자에게도 좋은 참고 서적이다.





★ 이 책에서 다루는 내용 ★



█ 데이터의 수집, 구성, 구문 분석 및 정리 방법

█ 행렬, 선형 대수학, 통계 및 확률

█ 머신 러닝 모델을 평가하고 검증하는 방법

█ 회귀분석, 분류, 군집화

█ 신경망과 딥러닝

█ 시계열 모델을 활용해 예측 수행 및 이상 감지 작업 수행

█ 분석도구 및 머신 러닝 모델 배포 방법

█ 머신 러닝 모델 최적화 방법





★ 이 책의 대상 독자 ★

█ 머신 러닝 및 데이터 분석에 관심이 있는 Go 프로그래머

█ Go 언어에 관심이 있고 Go를 머신 러닝과 데이터 분석 워크플로에 연동하는 데 관심이 있는 데이터 과학자, 데이터 분석가, 데이터 엔지니어





★ 이 책의 구성 ★



1장부터 3장까지는 머신 러닝 워크플로를 위해 데이터를 준비하고 분석하는 내용이다.

1장, ‘데이터 수집 및 구성’에서는 로컬 및 원격 소스로부터 데이터를 수집, 정리하는 방법과 데이터의 구문을 분석하는 방법을 다룬다. 1장에서는 다양한 장소에 다양한 포맷으로 저장돼 있는 데이터와 상호작용하는 방법과 데이터를 정리하고 구문 분석한 뒤 출력하는 방법을 이해할 수 있다.

2장, ‘행렬, 확률 및 통계’에서는 행렬 및 행렬 연산을 위해 데이터를 구성하는 방법을 다룬다. 머신 러닝에 활용되는 도구들로 Go 프로그램에서 행렬을 형성하는 방법과 이 행렬을 활용해 다양한 유형의 행렬 연산을 수행하는 방법을 이해할 수 있다. 또한 일상 데이터 분석 작업의 핵심인 통계적 측정과 수행 방법에 대해서도 다룬다. 2장을 통해 견고하게 데이터 분석을 요약하는 방법, 분포를 기술하고 시각화하는 방법, 가설을 정량화하고 차원(Dimension) 감소와 같은 데이터세트를 변환하는 방법을 이해할 수 있다.

3장, ‘평가 및 검증’에서는 머신 러닝 애플리케이션의 성능을 측정하고 일반화하는 데 핵심이 되는 평가 및 검증에 대한 내용을 다룬다. 3장을 통해 모델(즉, 평가 모델 측정)의 성능을 계량하기 위한 다양한 측정 방법 간의 차이점뿐만 아니라 이런 성능 측정 모델을 좀 더 일반화해 검증하는 기법을 이해할 수 있다.



4장부터 7장까지는 머신 러닝 기법을 다룬다.

4장, ‘회귀분석’에서는 연속적인 변수를 모델링하고 다른 모델의 기반이 되는 회귀(Regression)를 설명한다. 회귀는 즉시 해석할 수 있는 모델을 만든다. 따라서 조직에서 예측 기능을 도입할 때 매우 좋은 시작점이 될 수 있다.

5장, ‘분류’에서는 대상 변수가 일반적으로 카테고리 형태이거나 레이블(Label)이 붙어있다는 점에서 회귀 분석과 다른 머신 러닝 기법인 ‘분류(Clssification)’를 다룬다. 예를 들어 분류 모델은 이메일을 스팸 카테고리와 비-스팸 카테고리로 분류하거나 네트워크 트래픽이 사기성인지 사기성이 아닌지를 구분할 수 있다.

6장, ‘클러스터링’에서는 샘플의 그룹을 형성하는 데 사용되며 감독되지 않는 머신 러닝 기법인 클러스터링(Clustering)에 대한 내용을 다룬다. 데이터의 구조를 더 잘 이해하기 위해서 자동으로 데이터 요소 그룹을 형성하는 방법을 이해할 수 있을 것이다.

7장, ‘시계열 분석 및 이상 감지’에서는 주식 가격, 사용자 이벤트 등과 같은 시계열(Time Series) 데이터를 모델링하는 데 활용되는 기술을 소개한다. 시계열의 다양한 용어를 이해하고 시계열의 모델을 제작하고, 시계열에서 비정상적인 부분을 감지하는 방법을 알 수 있다.



8장부터 9장까지는 머신 러닝을 활용하는 방법을 다룬다.

8장, ‘신경망 및 딥러닝’에서는 신경망을 활용해 회귀, 분류, 이미지 처리를 수행하는 데 사용되는 기술을 소개한다. 더 복잡한 모델링 기술을 언제 그리고 어떻게 적용하는지 이해할 수 있다.

9장, ‘분석 결과 및 모델 배포하기’에서는 개발한 모델을 프로덕션 환경으로 배포하고 프로덕션 수준의 데이터를 통해 처리 결과를 배포하는 방법에 대해 다룬다. 책에서 사용한 코드를 크게 변경하지 않고 두 가지 작업을 쉽게 처리할 수 있는 방법을 설명한다.

부록, ‘머신 러닝과 관련된 알고리즘 및 기술’에서는 이 책에서 사용하는 용어 및 기술에 대한 내용과 머신 러닝 워크플로우와 관련된 알고리즘, 최적화, 기술에 대한 정보를 제공한다.





★ 지은이의 말 ★



좋은 기술력을 가진 회사와 대기업 모두 머신 러닝과 인공 지능이 유행이다. 데이터 과학자들은 무인 자동차에서부터 고양이 그리기에 이르기까지 모든 분야에 머신 러닝을 사용한다. 하지만 데이터 과학 커뮤니티를 찾아보면 파이썬과 R 사이에서 발생하는 언어 전쟁을 쉽게 접할 수 있을 것이다. 머신 러닝에 대한 대부분의 내용은 이런 언어들이 차지하고 있으며 기업 등 조직에서 머신 러닝을 연동할 때는 이런 언어가 유일한 선택인 것처럼 보인다. 이 책에서는 머신 러닝의 세 번째 옵션인 구글에서 만든 오픈 소스 프로그래밍 언어 Go에 대해서 살펴본다.

Go 프로그래머의 사고 방식과 더불어 Go 언어의 고유한 기능이 데이터 과학자들이 접하는 공통된 문제를 극복하는 데 도움이 될 수 있다. 특히 데이터 과학자들은 (불행하게도) 비효율적이고 유지보수가 불가능하며 나쁜 코드를 생산하는 것으로 악명이 높다. 이 책은 이런 문제점을 언급하며, 높은 수준에서 유지보수가 가능한 애플리케이션을 생성하면서 머신 러닝에서 생산성을 유지하는 방법을 보여준다. 또한 기존 엔지니어링 조직 내에서 분석 및 머신 러닝 코드를 통합하는 공통 과제를 극복하는 방법에 대해서도 보여준다.

이 책은 독자들이 Go를 활용해 강력하고 가치 있는 애플리케이션의 제작을 통해 생산적이고 혁신적인 데이터 분석가로 발돋움할 수 있도록 발전하는 데 도움을 줄 것이다. 이 책은 이를 위해 Go를 통한 머신 러닝의 기술적인 면과 프로그래밍적인 면을 분명하게 소개한다. 그러나 이 책은 또한 독자들이 현실 세계의 분석을 위한 작업 흐름과 철학을 이해할 수 있도록 안내하는 역할도 한다.



1장. 데이터 수집 및 구성



__데이터 처리하기 - Gopher 스타일

__Go를 활용한 데이터 수집 및 구성의 모범 사례

__CSV 파일

____파일에서 CSV 데이터 읽기

____예상하지 못한 필드 처리하기

____예상하지 못한 타입 처리하기

____데이터 프레임을 활용해 CSV 데이터 조작하기

__JSON

____JSON 파싱하기

____JSON 출력

__SQL 유형 데이터베이스

____SQL 데이터베이스에 연결하기

____데이터베이스 쿼리하기

____데이터베이스 수정하기

__캐싱(Caching)

____메모리에 데이터 캐싱하기

____디스크에 로컬로 데이터 캐싱하기

__데이터 버전 관리

____Pachyderm jargon

____Pachyderm 설치

____데이터 버전 관리를 위한 데이터 저장소 생성하기

____데이터 저장소에 데이터 넣기

____버전 관리되는 데이터 저장소에서 데이터 가져오기

__참조

__요약





2장. 행렬, 확률 및 통계



__행렬 및 벡터

____벡터

____벡터 연산

____행렬

____행렬 연산

__통계

____분포(Distribution)

____통계적 측정 방법

____분포 시각화하기

__확률

____확률 변수(Random Variables)

____확률 측정방법

____독립 및 조건부 확률

____가설 검정(Hypothesis testing)

__참조

__요약





3장. 평가 및 검증



__평가(Evaluation)

____연속형 측정 방법

____범주형 측정 방법

__검증(Validation)

____훈련(학습) 및 테스트 데이터 집합

____홀드아웃(Holdout) 집합

____교차 검증(Cross Validation)

__참조

__요약





4장. 회귀분석

__회귀분석 모델 용어 이해하기

__선형 회귀분석

____선형 회귀분석 개요

____선형 회귀분석 가정 및 함정

____선형 회귀분석 예제

__다중 선형 회귀분석

__비선형 및 다른 유형의 회귀분석

__참조

__요약





5장. 분류

__분류 모델 용어 이해하기

__로지스틱 회귀분석

____로지스틱 회귀분석 개요

____로지스틱 회귀분석의 가정 및 함정(문제점)

____로지스틱 회귀분석 예제

__k-최근접 이웃 모델

____kNN의 개요

____kNN의 가정 및 함정(문제점)

____kNN 예제

__의사결정 트리와 랜덤 포레스트

____의사결정 트리와 랜덤 포레스트 개요

____의사결정 트리와 랜덤 프레스트의 가정 및 함정(문제점)

____의사결정 트리 예제

____랜덤 포레스트 예제

__나이브 베이즈

____나이브 베이즈와 가정에 대한 개요

____나이브 베이즈 예제

__참조

__요약





6장. 클러스터링



__클러스터링 모델 용어 이해하기

__거리 또는 유사도 측정하기

__클러스터링 기법 평가하기

____내부 클러스터링 평가 방법

____외부 클러스터링 평가

__k-평균 클러스터링

____k-평균 클러스터링 개요

____k-평균 클러스터링의 가정 및 함정(문제점)

____k-평균 클러스터링 예제

__기타 클러스터링 기법

__참조

__요약





7장. 시계열 분석 및 이상 감지



__Go에서 시계열 데이터 표현하기

__시계열 데이터 용어 이해하기

__시계열 관련 통계

____자기상관(Autocorrelation)

____편 자기상관(Partial autocorrelation)

__예측을 위한 자동 회귀 모델

____자동 회귀 모델 개요

____자동 회귀 모델의 가정 및 함정(문제점)

____자동 회귀 모델 예제

__자동 회귀 이동 평균 모델 및 기타 시계열 분석 모델

__이상 감지

__참조

__요약





8장. 신경망 및 딥러닝



__신경망에 대한 용어 이해하기

__간단한 신경망 구축하기

____신경망의 노드

____신경망 아키텍처

____이 아키텍처가 동작하는 이유

____신경망 훈련 및 학습 시키기

__간단한 신경망 활용하기

____실제 데이터를 사용해 신경망 훈련시키기

____신경망 평가하기

__딥러닝 소개

____딥러닝 모델이란?

____Go를 활용한 딥러닝

__참조

__요약



9장. 분석 결과 및 모델 배포하기



__원격 컴퓨터에서 안정적으로 머신 러닝 모델 실행하기

____Docker 및 Docker 용어에 대한 간단한 소개

____머신 러닝 응용 프로그램의 Docker-izing

__확장 가능하고 재현 가능한 머신 러닝 파이프라인 구축하기

____Pachyderm 및 Kubernetes 클러스터 설정하기

____Pachyderm 머신 러닝 파이프라인 구축하기

____파이프라인 업데이트 및 출처 검사

____파이프라인 단계 확장하기

__참조

__요약





부록. 머신 러닝과 관련된 알고리즘/기술

__경사 하강법

__역전파
다니엘 화이트낵(Daniel Whitenack)

파키덤(Pachyderm)을 활용해 데이터 과학을 연구하는 숙련된 데이터 과학자다. 예측 모델, 데이터 시각화, 통계 분석 등을 포함하는 혁신적인 분산 데이터 파이프라인을 개발한다. 전 세계의 콘퍼런스(GopherCon, JuliaCon, PyCon, ODSC, Spark 서밋 등)에 활발히 참여해 발표하며 퍼듀 대학교에서 데이터 과학과 엔지니어링을 가르치고 있다. 또한 주피터(Juphyter)의 Go 커널을 관리하며 다양한 오픈 소스 데이터 과학 프로젝트에 적극적으로 기여하고 있다.





★ 옮긴이의 말 ★



이 책은 데이터 분석 및 머신 러닝에서 Go 프로그래밍 언어를 활용하는 데 필요한 전반적인 내용을 다루고 있다. 머신 러닝과 데이터 분석에 관심이 있는, Go 언어를 다룰 줄 아는 프로그래머나 Go 언어와 머신 러닝을 연동하는 데 관심이 있는 독자들에게 좋은 참고 서적이 될 수 있다.

1부로 볼 수 있는 1장부터 3장은 머신 러닝을 위해 데이터를 준비하고 분석하는 내용으로 구성돼 있다. 데이터의 수집, 정리, 데이터의 구문 분석, 머신 러닝 프로그램의 성능을 측정하고 검증하는 내용으로 구성돼 있다. 2부, 4장에서 7장까지는 회귀분석, 분류, 클러스터링, 시계열 분석과 같은 다양한 머신 러닝 기법을 다루는 내용으로 구성돼 있다. 머신 러닝 모델의 가장 기본이 되는 회귀 분석을 시작으로 카테고리 형태로 데이터를 분류하는 분류 기법, 흩어져 있는 데이터를 여러 데이터 그룹으로 모으는 방법인 클러스터링, 시계열 데이터 분석에 대한 내용을 다룬다. 이를 통해 다양한 머신 러닝 기법에 대해 살펴보고 Go를 활용해 결과를 도출하는 방법을 살펴볼 수 있다. 3부, 8장과 9장에서는 머신 러닝을 활용하는 방법을 다룬다. 8장은 신경망 및 딥러닝을 통해 회귀분석, 분류와 같은 머신 러닝을 처리하는 데 신경망을 활용하는 기술을 소개한다. 8장을 통해 더 복잡한 데이터 모델링 기법을 적용하는 방법을 이해할 수 있다. 9장에서는 지금까지 개발한 머신 러닝 모델을 제품 환경으로 배포하는 방법과 데이터 처리 결과를 배포하는 방법을 살펴본다.

구글에서 만든 Go 언어는 출시 이후 여러 분야에서 점점 더 많이 활용되고 있다. Go 언어는 단순함을 유지하려고 노력하는 언어이기 때문에 빠르게 배울 수 있다는 장점이 있다. 책에서는 이런 특정을 반영해 높은 수준에서 유지보수가 가능한 프로그램을 생성하면서 머신 러닝에서 생산성을 유지하는 방법을 보여준다. 따라서 이 책은 생산성이 높은 머신 러닝 프로그램을 작성하고자 하는 데이터 과학자와 Go 언어를 활용해 머신 러닝 분야를 배우고자 하는 독자들에게 많은 도움이 될 것이다.

번역을 진행하면서 저자의 의도를 파악하려고 많은 노력을 기울였지만 의도를 제대로 파악하지 못한 부분이 있을지도 모르겠다. 번역이 잘못된 부분을 비롯해 책에 관련된 어떠한 의견이라도 보내준다면 소중히 여겨 더 좋은 책으로 만들어 가는 데 참고하겠다.





★ 옮긴이 소개 ★



장세윤

유니티 한국 지사에서 필드 엔지니어로 근무하며 기술 지원, 유니티 엔진 기술 홍보, 기술 문서 번역 업무를 진행했다. 현재는 유니티 엔진, 언리얼 엔진을 활용한 게임 개발 교육을 진행하는 프리랜서 강사 및 기술 서적 번역가로 활동하고 있다.
등록된 서평이 없습니다.
워드프레스 테마 직접 만드는 개발자 되기...
김경호, 정명선 공저
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
 
전체평균(0)
회원평점   회원서평수 0
에이콘 출판사의 신간
엔터프라이즈 빅데이터 레이크(데이터 과학)
알렉스 고렐릭/최영재 저
27,000원
(10%↓+5%)
 
생명과학을 위한 딥러닝
바라스 람순다르/김태윤 저
22,500원
(10%↓+5%)
 
쿠버네티스 시작하기
켈시 하이타워/이준 저
27,000원
(10%↓+5%)
 
핸즈온 머신러닝.딥러닝 알고리즘 트레이딩
스테판 젠슨 지음/홍창수 저
38,700원
(10%↓+5%)
 
나는 통계적으로 판단한다
시노하라 타쿠야/이승룡 저
16,200원
(10%↓+5%)
 
이메일주소수집거부