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

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

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

저스틴보조니어

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

목차

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

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

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

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

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

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

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

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

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

출판사 서평

★이책에서다루는내용★

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

★이책의대상독자★

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

★이책의구성★

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

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

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

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

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

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

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

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

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