HOME > 상세정보

상세정보

테스트 주도 머신 러닝 : TDD 기법을 활용한 머신 러닝 알고리즘 구현

테스트 주도 머신 러닝 : TDD 기법을 활용한 머신 러닝 알고리즘 구현 (12회 대출)

자료유형
단행본
개인저자
Bozonier, Justin 남궁영환, 역
서명 / 저자사항
테스트 주도 머신 러닝 : TDD 기법을 활용한 머신 러닝 알고리즘 구현 / 저스틴 보조니어 지음 ; 남궁영환 옮김
발행사항
서울 :   에이콘,   2016  
형태사항
218 p. : 삽화, 도표 ; 24 cm
총서사항
Acorn+PACKT technical book
원표제
Test-driven machine learning
ISBN
9788960778917 9788960772106 (Set)
일반주기
색인수록  
기술감수: 라르스 마리우스 가쇼(Lars Marius Garshol), 알렉세이 그리고레프(Alexey Grigorev)  
일반주제명
Machine learning
000 00000cam c2200205 c 4500
001 000045880561
005 20160906100809
007 ta
008 160906s2016 ulkad 001c kor
020 ▼a 9788960778917 ▼g 94000
020 1 ▼a 9788960772106 (Set)
035 ▼a (KERIS)BIB000014160700
040 ▼a 224010 ▼c 224010 ▼d 211009
041 1 ▼a kor ▼h eng
082 0 4 ▼a 006.31 ▼2 23
085 ▼a 006.31 ▼2 DDCK
090 ▼a 006.31 ▼b 2016z7
100 1 ▼a Bozonier, Justin
245 1 0 ▼a 테스트 주도 머신 러닝 : ▼b TDD 기법을 활용한 머신 러닝 알고리즘 구현 / ▼d 저스틴 보조니어 지음 ; ▼e 남궁영환 옮김
246 1 9 ▼a Test-driven machine learning
260 ▼a 서울 : ▼b 에이콘, ▼c 2016
300 ▼a 218 p. : ▼b 삽화, 도표 ; ▼c 24 cm
440 0 0 ▼a Acorn+PACKT technical book
500 ▼a 색인수록
500 ▼a 기술감수: 라르스 마리우스 가쇼(Lars Marius Garshol), 알렉세이 그리고레프(Alexey Grigorev)
650 0 ▼a Machine learning
700 1 ▼a 남궁영환, ▼e
900 1 0 ▼a 보조니어, 저스틴, ▼e
945 ▼a KLPA

소장정보

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 006.31 2016z7 등록번호 121237556 도서상태 대출가능 반납예정일 예약 서비스 B M

컨텐츠정보

책소개

acorn+PACKT 시리즈. 머신 러닝은 데이터에 숨겨진 공통된 특징, 즉 패턴을 찾아내고 지속적으로 개선할 수 있도록 컴퓨팅 머신을 학습시키는 과정이라고 할 수 있다. 이 책에서는 이러한 머신 러닝 알고리즘에 테스트 주도형 개발 기법을 어떻게 적용할 수 있는지 단계별로 상세하게 설명한다. 우선 테스트 주도형 개발(TDD) 기법의 기본 개념을 이해하고, 이를 다양한 머신 러닝 기술에 적용한다.

예를 들면, 분석 모델 성능의 정량적 분석, 신경망 기법, 회귀분석을 이용한 예측 분석, 로지스틱 회귀분석을 이용한 회귀분석 기법 구현 등을 다룬다. 후반부에서는 나이브 베이즈 분류분석에 대한 다양한 접근 방법에 대해서도 학습한다. 끝으로, 이 책에서 다룬 다중 회귀분석 예제와 분류분석기를 통합해 마케팅 분야에 활용 가능한 알고리즘을 어떻게 개발하는지도 알아본다.

이 책은 자신이 구현한 알고리즘을 어떻게 개선할 것인지를 독자적으로, 또 자동화된 방식으로 테스트하고 싶어하는 머신 러닝 전문가에게 적합하다. 테스트 주도형 개발을 시작하려는 데이터 사이언티스트에게도 유용할 것이다. 다만 테스트 주도형 개발 기법의 최신 내용을 배우고자 하는 독자에게는 추천하지 않는다. 이 책은 대부분 테스트 주도형 개발에서 매우 간단하게 배울 수 있는 내용들로 구성되었기 때문이다. 폭넓은 독자층에 맞게 상대적으로 쉬운 접근법을 다룬다.

★ 요약 ★

머신 러닝은 데이터에 숨겨진 공통된 특징, 즉 패턴을 찾아내고 지속적으로 개선할 수 있도록 컴퓨팅 머신을 학습시키는 과정이라고 할 수 있다. 이 책에서는 이러한 머신 러닝 알고리즘에 테스트 주도형 개발 기법을 어떻게 적용할 수 있는지 단계별로 상세하게 설명한다. 우선 테스트 주도형 개발(TDD) 기법의 기본 개념을 이해하고, 이를 다양한 머신 러닝 기술에 적용한다. 예를 들면, 분석 모델 성능의 정량적 분석, 신경망 기법, 회귀분석을 이용한 예측 분석, 로지스틱 회귀분석을 이용한 회귀분석 기법 구현 등을 다룬다. 후반부에서는 나이브 베이즈 분류분석에 대한 다양한 접근 방법에 대해서도 학습한다. 끝으로, 이 책에서 다룬 다중 회귀분석 예제와 분류분석기를 통합해 마케팅 분야에 활용 가능한 알고리즘을 어떻게 개발하는지도 알아본다.

★ 이 책에서 다루는 내용 ★

■ 테스트 주도형 개발(TDD) 방법 소개와 머신 러닝 개념에 TDD 적용 방법
■ 계획대로 동작하는 형태의 신경망 알고리즘 구현과 테스트
■ 분석 모델의 특이한 실행 동작 관련 테스트 케이스
■ 불확실성 속에서 최적의 결정을 이끌어내는 multi-armed bandit 알고리즘
■ 테스트 내에 구현되어 다양한 테스트 케이스 제작이 가능한 데이터 생성 방법
■ 외부 라이브러리 사용 시에도 가능한 분석 모델의 단계적 개발 방법
■ 신속한 반복 시도와 협업을 위한 분석 모델 성능의 정량적 분석
■ 일반적인 머신 러닝 알고리즘에 대한 좀 더 쉬운 접근법
■ 테스트 의도를 명확히 하기 위한 프로그램 실행동작 주도형 개발(BDD)의 원칙과 적용

★ 이 책의 대상 독자 ★

이 책은 자신이 구현한 알고리즘을 어떻게 개선할 것인지를 독자적으로, 또 자동화된 방식으로 테스트하고 싶어하는 머신 러닝 전문가에게 적합하다. 테스트 주도형 개발을 시작하려는 데이터 사이언티스트에게도 유용할 것이다. 다만 테스트 주도형 개발 기법의 최신 내용을 배우고자 하는 독자에게는 추천하지 않는다. 이 책은 대부분 테스트 주도형 개발에서 매우 간단하게 배울 수 있는 내용들로 구성되었기 때문이다. 폭넓은 독자층에 맞게 상대적으로 쉬운 접근법을 다룬다.

★ 이 책의 구성 ★

1장, '테스트 주도형 머신 러닝의 소개'에서는 테스트 주도형 개발(TDD)이 무엇인지, 실제로 어떻게 생겼는지, 어떻게 수행되는지에 대해 설명한다.

2장, '퍼셉트론(Perceptron)의 개념 기반 테스트'에서는 간단한 버전에서 시작해 퍼셉트론을 개발한다. 퍼셉트론이 비결정적(non-deterministic) 형태로 동작하는 특성을 지녔지만, 테스트가 가능하도록 알고리즘 실행동작(behavior)에 대한 정의도 작성한다.

3장, 'Multi-armed bandit 알고리즘을 이용한 문제 해결'에서는 multi-armed bandit 문제와 여러 가지 알고리즘의 테스트, 반복 수행에 따른 성능의 변화 등을 알아본다.

4장, '회귀분석을 이용한 예측'에서는 statsmodels를 사용해 회귀분석을 구현하고, 주요 성능 지표에 대해 알아본다. 분석 모델 튜닝에 대해서도 학습한다.

5장, '로지스틱 회귀분석을 이용한 '흑과 백'의 판단 결정'에서는 앞 장에 이어 회귀분석에 대해 살펴보고, 여러 가지 타입으로 성능 측정을 정량화하는 방법에 대해 알아본다. 이 장에서도 회귀분석 모델을 개발하기 위해 statmodels를 사용한다.

6장, '나이브 베이즈'에서는 테스트 주도형 개발 기법을 이용해 간단한 개념으로부터 가우시안 나이브 베이즈(Gaussian Naive Bayes) 알고리즘을 어떻게 개발하는지 알아본다.

7장, '알고리즘 선택을 통한 최적화'에서는 6장에 이어 추가 사항을 계속 알아본다. 그리고 새로운 알고리즘인 랜덤 포레스트(Random Forests)를 적용해 이 결과를 향상시킬 수 있는지 살펴본다.

8장, '테스트 주도형 기반 scikit-learn 학습'에서는 스스로 학습하는 방법에 대해 알아본다. 여러분은 이미 이와 관련한 많은 경험이 있을 거라고 본다. 이 장에서는 scikit-learn 문서에 대해 테스트 프레임워크를 사용하는 법을 학습하고 이를 기반으로 구현해본다.

9장, '전체 통합 작업'에서는 여러 가지 다양한 알고리즘이 필요한 비즈니스 문제를 다룬다. 간단한 개념에서 출발해 우리가 필요한 모든 것을 개발하고, 외부 라이브러리와 우리가 구현한 코드를 통합한다. 이 모든 작업을 테스트 주도형으로 진행한다.


정보제공 : Aladin

저자소개

저스틴 보조니어(지은이)

데이터 사이언티스트로, 시카고에 살고 있다. 현재, 그럽허브(GrubHub)에서 시니어 데이터 사이언티스트로 일하고 있다. 소비자 분석 플랫폼 개발을 리드했으며, 베이지안 통계분석 기법(Bayesian statistics)을 활용하는 실시간 스플릿 테스트(split test) 분석 플랫폼 개발도 이끌었다. 또한 데이터 마이닝과 소프트웨어 제품 고도화 프로토타입을 위한 여러 가지 머신 러닝 분석 모델도 개발했다. 그는 『Parallel Programming with Microsoft(r) .NET』과 『Flow-Based Programming, Second Edition』 책에서 소프트웨어 개발 전문 지식을 습득했다. 또한, 파이데이터(PyData)에서 열린 워크숍을 통해 '시뮬레이션을 통해 단순화된 통계학(Simplified Statistics through Simulation)'이라는 주제로 강연하기도 했다. 그동안 밀리만(Milliman, Inc.)에서 보험통계분석 시스템 개발자를, 마이크로소프트에서 소프트웨어 개발 엔지니어 II(SDE II)를, 치즈버거 네트워크(Cheezburger Network)에서 시니어 데이터 분석가와 개발 팀장 등을 역임했다.

남궁영환(옮긴이)

고려대학교 컴퓨터학과, 서던캘리포니아 대학교를 거쳐, 플로리다 대학교에서 데이터 마이닝을 주제로 컴퓨터공학 박사학위를 취득했다. 클라우드 컴퓨팅, 빅데이터 플랫폼, 데이터 과학/분석과 관련한 다양한 기술 연구/개발 과제를 수행했으며, 현재 아마존 웹 서비스(Amazon Web Services)에서 인공지능/머신러닝 전문 시니어 컨설턴트(Sr. AI/ML Consultant, Professional Services)로 활동 중이다.

정보제공 : Aladin

목차

1장. 테스트 주도형 머신 러닝의 소개 
__테스트 주도형 개발 
__TDD 사이클 
____빨간색 
____초록색 
____리팩토링 
__실행동작 주도형 개발 
__첫 번째 테스트 
____테스트 상세 분석 
________주어진 조건 
________언제 
________그러고 나면 
__머신 러닝에 TDD 적용 
__확률적 속성 문제 해결 
__개선된 분석 모델의 검증 방법 
____분류분석 개요 
____회귀분석 
____클러스터링 
__분류분석 모델의 정량적 분석 
__요약 

2장. 퍼셉트론의 개념 기반 테스트 
__시작 
__요약 

3장. Multi-armed bandit 알고리즘을 이용한 문제 해결 
__Bandit의 소개 
__시뮬레이션 기반 테스팅 
__간단한 수준에서 시작 
__실제 환경에서 시뮬레이션 
__Randomized probability matching 알고리즘 
__부스트래핑 bandit 
__현재 부스트래핑 기법의 문제점 
__Multi-armed bandit 알고리즘 활용 
__요약 

4장. 회귀분석을 이용한 예측 
__고급 회귀분석 기법 복습 
____회귀분석 관련 개념 사전 정리 
____정량화 기반 분석 모델 성능 측정 
__데이터 생성 작업 소개 
__분석 모델 관련 기본 사항 구현 
__분석 모델에 대한 교차 검증 
__데이터 생성 
__요약 

5장. 로지스틱 회귀분석을 이용한 ‘흑과 백’의 판단 결정 
__로지스틱 회귀분석용 데이터 생성 
__분석 모델의 정확도 측정 
__조금 더 복잡한 예제 작성 
__분석 모델에 대한 테스트 주도형 작업 
__요약 

6장. 나이브 베이즈 
__실습을 통한 가우시안 분류분석의 이해 
__분석 모델 개발 
__요약 

7장. 알고리즘 선택을 통한 최적화 
__분류분석기의 성능 개선 
__우리의 분류분석기 적용 
__랜덤 포레스트 알고리즘 성능 개선 
__요약 

8장. 테스트 주도형 기반 scikit-learn 학습 
__테스트 주도형 설계 
__전체 개발 계획 수립 
________분류분석기 선택 기능 개발(분류분석기 성능 평가용 테스트 실행이 수반된) 
__알고리즘의 신중한 선택을 위한 선택 기능 개선 
__테스트가 가능한 도큐멘테이션 개발 
____의사결정 트리 알고리즘 
__요약 

9장. 전체 통합 작업 
__상위 개념 수준에서 시작 
__실제 환경에 적용 
__이 책을 통해 얻은 것 
__요약

관련분야 신착자료

Cartwright, Hugh M. (2021)
한국소프트웨어기술인협회. 빅데이터전략연구소 (2021)