
Go를 활용한 머신 러닝 [Go 프로그래밍 언어를 사용해 회귀분석, 분류, 클러스터링, 시계열 모델, 신경망 및 딥러닝 구현하기]
- 원서명Machine Learning With Go: Implement Regression, Classification, Clustering, Time-series Models, Neural Networks, and More using the Go Programming Language (ISBN 9781785882104)
- 지은이다니엘 화이트낵(Daniel Whitenack)
- 옮긴이장세윤
- ISBN : 9791161752662
- 30,000원
- 2019년 01월 31일 펴냄
- 페이퍼백 | 384쪽 | 188*235mm
- 시리즈 : acorn+PACKT, 데이터 과학
책 소개
소스 코드 파일은 여기에서 내려 받으실 수 있습니다.
본문에 쓰인 컬러 이미지는 여기에서 내려 받으세요.
요약
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장, ‘분석 결과 및 모델 배포하기’에서는 개발한 모델을 프로덕션 환경으로 배포하고 프로덕션 수준의 데이터를 통해 처리 결과를 배포하는 방법에 대해 다룬다. 책에서 사용한 코드를 크게 변경하지 않고 두 가지 작업을 쉽게 처리할 수 있는 방법을 설명한다.
부록, ‘머신 러닝과 관련된 알고리즘 및 기술’에서는 이 책에서 사용하는 용어 및 기술에 대한 내용과 머신 러닝 워크플로우와 관련된 알고리즘, 최적화, 기술에 대한 정보를 제공한다.