| 000 | 00000cam c2200205 c 4500 | |
| 001 | 000045925217 | |
| 005 | 20251121135930 | |
| 007 | ta | |
| 008 | 180104s2016 ulkd b 001c kor | |
| 020 | ▼a 9788960778832 ▼g 94000 | |
| 020 | 1 | ▼a 9788960772106 (세트) |
| 035 | ▼a (KERIS)BIB000014160689 | |
| 040 | ▼a 242001 ▼c 242001 ▼d 242001 ▼d 211009 | |
| 041 | 1 | ▼a kor ▼h eng |
| 082 | 0 4 | ▼a 005.133 ▼2 23 |
| 085 | ▼a 005.133 ▼2 DDCK | |
| 090 | ▼a 005.133 ▼b S279 2016 | |
| 100 | 1 | ▼a Nicolas, Patrick R. ▼0 AUTH(211009)162854 |
| 245 | 1 0 | ▼a 스칼라와 기계 학습 : ▼b 스칼라를 활용해 데이터에서 학습하는 시스템 만들기 / ▼d 패트릭 니콜라스 지음; ▼e 오현석 옮김 |
| 246 | 1 9 | ▼a Scala for machine learning |
| 260 | ▼a 서울 : ▼b 에이콘출판사, ▼c 2016 | |
| 300 | ▼a 598 p. : ▼b 도표 ; ▼c 24 cm | |
| 440 | 0 0 | ▼a acorn + packt technical book |
| 500 | ▼a 부록: A. 기본 개념 | |
| 504 | ▼a 참고문헌과 색인수록 | |
| 700 | 1 | ▼a 오현석, ▼e 역 ▼0 AUTH(211009)160205 |
| 900 | 1 0 | ▼a 니콜라스, 패트릭, ▼e 저 |
| 945 | ▼a KLPA |
소장정보
| No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
|---|---|---|---|---|---|---|---|
| No. 1 | 소장처 과학도서관/Sci-Info(1층서고)/ | 청구기호 005.133 S279 2016 | 등록번호 121242896 | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
컨텐츠정보
책소개
acorn+PACKT 시리즈. 이 책은 알파고와 시리, 자율주행 자동차 등의 시스템을 구축할 때 기초가 될 수 있는 각종 데이터 처리 방법과 비감독 학습, 베이지안 분석, 회귀와 정규화, 은닉 마코프 모델, SVM, 인공 뉴럴 네트워크, 유전자 알고리즘, 강화 학습 등의 기계 학습 알고리즘의 수학적 모델을 설명하고, 스파크 등의 빅데이터 시스템에서 쓰이고 있는 스칼라 언어를 통해 구현한다.
또한 실제 미국 증시와 외환 시장에서 가져온 각종 금융 데이터에 각 기계 학습 알고리즘을 적용하면서 알고리즘들의 장단점과 한계 등을 설명한다. 독자들은 스칼라를 활용해 규모 확장성이 있는 기계 학습 시스템을 작성하고, 자신의 필요에 맞는 기계 학습 알고리즘을 평가하고 선택할 수 있는 방법을 배울 수 있다.
이 책은 어떻게 기계 학습 알고리즘을 구현하고, 검증하고, 응용할 수 있는지 배우고 싶어 하는 스칼라 프로그래밍에 경험이 있는 소프트웨어 개발자가 주 대상이다. 함수 프로그래밍에 대해 살펴보거나 스칼라를 활용해 기존 애플리케이션의 규모 확장성을 개선하고자 하는 데이터 과학자에게도 도움이 될 것이다. 책은 금융시장에 대한 기술 분석을 활용해 직접 짜면서 비교해볼 수 있는 연습 문제를 제공하는 자습서로 고안됐다.
★ 요약 ★
이 책은 알파고와 시리, 자율주행 자동차 등의 시스템을 구축할 때 기초가 될 수 있는 각종 데이터 처리 방법과 비감독 학습, 베이지안 분석, 회귀와 정규화, 은닉 마코프 모델, SVM, 인공 뉴럴 네트워크, 유전자 알고리즘, 강화 학습 등의 기계 학습 알고리즘의 수학적 모델을 설명하고, 스파크 등의 빅데이터 시스템에서 쓰이고 있는 스칼라 언어를 통해 구현한다. 또한 실제 미국 증시와 외환 시장에서 가져온 각종 금융 데이터에 각 기계 학습 알고리즘을 적용하면서 알고리즘들의 장단점과 한계 등을 설명한다. 독자들은 스칼라를 활용해 규모 확장성이 있는 기계 학습 시스템을 작성하고, 자신의 필요에 맞는 기계 학습 알고리즘을 평가하고 선택할 수 있는 방법을 배울 수 있다.
★ 이 책에서 다루는 내용 ★
■ 과학기술 계산을 위한 동적인 워크플로우를 만드는 방법
■ 오픈소스 라이브러리를 활용해 시계열 데이터에서 패턴을 추출하는 방법
■ 분류, 군집화, 진화 알고리즘을 작성하는 방법
■ 상대적인 성능 튜닝을 수행하는 방법과 스파크에 대한 평가
■ 순차적 데이터에 대한 확률 모델
■ 정규화나 커널화 등의 고급 기법을 활용한 실험
■ 스칼라 병렬 컬렉션, 아카 액터, 아파치 스파크 클러스터 등을 활용해 빅데이터 문제를 푸는 방법
■ 금융시장에 대한 기술적 분석에 핵심 기계 학습 전략 적용
★ 이 책의 대상 독자 ★
이 책은 어떻게 기계 학습 알고리즘을 구현하고, 검증하고, 응용할 수 있는지 배우고 싶어 하는 스칼라 프로그래밍에 경험이 있는 소프트웨어 개발자가 주 대상이다.
함수 프로그래밍에 대해 살펴보거나 스칼라를 활용해 기존 애플리케이션의 규모 확장성을 개선하고자 하는 데이터 과학자에게도 도움이 될 것이다.
이 책은 금융시장에 대한 기술 분석을 활용해 직접 짜면서 비교해볼 수 있는 연습 문제를 제공하는 자습서로 고안됐다.
★ 이 책의 구성 ★
1장, '시작하며'에서는 통계 분석, 자동 분류, 회귀분석, 예측, 클러스터링, 최적화의 기본 개념을 소개한다. 스칼라 언어 특징과 라이브러리를 간단한 애플리케이션 구현과 함께 다룬다.
2장, 'Hello World!'에서는 전형적인 자동 분류 워크플로우를 설명하고, 편향/분산(bias/variance)의 트레이드 오프(trade-off) 관계, 스칼라 의존성 삽입을 활용한 검증 방법을 금융시장 분석에 응용해 살펴본다.
3장, '데이터 전처리'에서는 시계열 분석에 대해 다루며, 스칼라를 활용해 데이터 전처리를 구현하고 이동 평균과 같은 평활 기법, 이산 푸리에 변환, 그리고 칼만 재귀 필터 등을 어떻게 간편하게 구현할 수 있는지 살펴본다.
4장, '비감독 학습'에서는 가장 널리 활용되는 클러스터링 기법인 K-평균법, 기대값 최대화(EM, Expectation Maximization) 구현, 차원 축소 방법인 주성분 분석에 대해 주로 살펴본다.
5장, '나이브 베이즈 분류기'에서는 확률 그래프 모델을 소개하고, 나이브 베이즈 분류기와 다변량 베르누이 분류기를 어떻게 구현하는지 텍스트마이닝 관점에서 살펴본다.
6장, '회귀분석과 정규화'에서는 전형적인 선형 회귀와 최소 제곱법 회귀, 릿지 회귀와 정규화 기법에 대해 다루고, 마지막으로 로지스틱 회귀에 대해 살펴본다.
7장, '순차적 데이터 모델'에서는 마르코프 프로세스를 은닉 마르코프 모델 구현 전체 과정과 함께 살펴보고, 금융시장 데이터에 대한 패턴 인식 과정에 응용해본 조건부 임의 필드(conditional random field) 기법에 대해서도 살펴본다.
8장, '커널 모델과 서포트 벡터 머신'에서는 커널 함수의 개념과 지지 벡터 머신 분류기 및 회귀분석 구현 방법을 살펴보고, 이진 SVM 분류기를 활용한 이상 탐지 방법도 살펴본다.
9장, '인공 뉴럴 네트워크'에서는 앞먹임(feed-forward) 신경망과 다층 퍼셉트론(multilayer perceptron) 분류기 구현 방법을 살펴본다.
10장, '유전자 알고리즘'에서는 진화 컴퓨팅의 기초를 다루며, 다목적 유전자 알고리즘 구성 요소 각각의 구현에 대해서 살펴본다.
11장, '강화 학습'에서는 강화 학습 개념을 소개하고, Q-학습 알고리즘 구현 방법을 학습 기반 분류 시스템을 구축하기 위한 템플릿과 함께 살펴본다.
12, '확장 가능한 프레임워크'에서는 기계 학습에서 규모 확장성이 있는 애플리케이션을 개발하기 위한 아티팩트와 프레임워크를 다룬다. 이를 통해 스칼라 병렬 컬렉션, 아카(Akka), 아파치 스파크(Spark) 프레임워크 등을 살펴볼 것이다.
부록 A, '기본 개념'에서는 이 책 전체에 쓰인 스칼라 구문, 선형대수 요소에 대해 다루고, 투자와 트레이딩 전략에 대해서도 간단히 소개한다.
부록 B, '참고 문헌'은 각 장에서 참고했던 문헌의 목록을 제공한다.
정보제공 :
저자소개
패트릭 니콜라스(지은이)
캘리포니아 애자일 SDEAgile SDE의 공학 이사다. 소프트웨어공학, C++, 자바와 최근의 스칼라/스파크 애플리케이션 구축에 이르기까지 25년 이상의 경력을 보유했으며, 여러 개의 관리 직위를 맡아왔다. 실시간 분석, 모델링, 비선형 모형 개발 등에 관심이 많다.
오현석(옮긴이)
25년간 현업 개발자로 코드를 개발해 왔으며, 지금은 (주)대동애그테크에서 미래 농업 솔루션을 개발하는 본부를 총괄하고 있다. 『객체에서 함수로』(길벗, 2024), 『코틀린 함수형 프로그래밍』(에이콘, 2023) 등 코틀린 서적을 여러 권 번역했고, 코틀린 외에도 『실전 파이썬 핸즈온 프로젝트』(책만, 2022), 『읽고 나면 진짜 쉬워지는 자료 구조』(길벗, 2024) 등 다양한 프로그래밍 언어와 프로그래밍 기술에 대한 책을 30여 권 번역했으며, 『핵심 코틀린 프로그래밍』(에이콘, 2023) 책을 쓴 저자이기도 하다.
목차
1장. 시작하며 __관심 있는 독자를 위한 수식 표기법 __기계 학습이란 무엇인가 ____분류 ____예측 ____최적화 ____회귀 __왜 스칼라인가 ____추상화 ____규모 확장성 ____설정성 ____유지 보수성(Maintainability) ____요구불 연산 __모델의 범주 __기계 학습 알고리즘 분류체계 ____비감독 학습 __________군집화 __________차원 축소 ____감독 학습 __________생성 모델 __________식별 모델 ____강화 학습 __도구 및 프레임워크 ____자바 ____스칼라 ____아파치 커먼스 수학(Apache Commons Math) __________설명 __________라이선스 __________설치 ____JFreeChart __________설명 __________라이선스 __________설치 ____기타 라이브러리 및 프레임워크 __소스 코드 ____맥락과 뷰 바운드 ____코드 표시 ____기본 타입 및 암시 __________기본 타입 __________타입 변환 __________연산자 ____변경 불가능성 ____스칼라 이터레이터의 성능 __최종 점검 ____계산 워크플로우 개요 ____간단한 워크플로우 작성 __________데이터 집합 선택 ____데이터 집합 적재 __________데이터 집합 전처리 __________모델 생성 (학습) __________데이터 분류 __요약 2장. Hello, World! __모델링 ____모델의 다른 이름 ____모델 vs. 설계 ____모델 특성 선택 ____특성 추출 __워크플로우 설계 ____계산 프레임워크 ____파이프 연산자 ____모나딕 데이터 변환 ____의존관계 주입 ____워크플로우 모듈 ____워크플로우 팩토리 ____워크플로우 구성 요소 예제 __________전처리 모듈 __________군집화 모듈 __모델 평가하기 ____검증 __________핵심 지표 __________구현 ____K-폴드 교차 검증 ____편향-분산 분해 ____과적합 __요약 3장. 데이터 전처리 __시계열 __이동 평균 ____단순 이동 평균 ____가중 이동 평균 ____지수 이동 평균 __푸리에 분석 ____이산 푸리에 변환(DFT) ____DFT 기반 필터링 ____시장 사이클 감지하기 __칼만 필터 ____상태 공간 추정 __________천이식 __________측정식 ____재귀 알고리즘 __________예측 __________보정 __________칼만 평활화 __________실험 __다른 전처리 기법들 __요약 4장. 비감독 학습 __군집화 ____K-평균 군집화 __________유사도 측정하기 __________K-평균 알고리즘 개괄 __________1단계: 군집 설정 __________2단계: 군집 할당 __________3단계: 반복적인 재구축 __________차원의 저주 __________실험 __________군집의 개수 튜닝하기 __________검증 ____기대값 최대화 알고리즘 __________가우스 혼합 모델 __________EM 개괄 __________구현 __________테스트 __________온라인 EM __차원 축소 ____주성분 분석(PCA) __________알고리즘 __________구현 __________테스트 케이스 __________평가 ____다른 차원 축소 기법 __성능 고려 사항 ____K-평균 ____EM ____PCA __요약 5장. 나이브 베이즈 분류기 __확률적 그래프 모델 __나이브 베이즈 분류기 ____다항 나이브 베이즈 소개 __________정식화 __________빈도주의자(frequentist)의 관점 __________예측 모델 __________0-빈도 문제 ____구현 __________소프트웨어 설계 __________훈련 __________분류 __________레이블 붙이기 __________결과 __다변량 베르누이 분류 ____모델 ____구현 __나이브 베이즈와 텍스트 마이닝 ____정보 추출의 기본 ____구현 __________용어 추출 __________용어 점수 매기기 ____테스트 __________텍스트 정보 가져오기 __________평가 __장점과 단점 __요약 6장. 회귀분석과 정규화 __선형 회귀 ____1-변량 선형 회귀 __________구현 __________테스트 케이스 ____일반 최소 제곱 회귀 __________설계 __________구현 __________테스트 케이스 1: 추세 __________테스트 케이스 2: 특성 선택 __정규화 ____Ln 거칠기 벌점 ____리지 회귀 __________구현 __________테스트 케이스 __수치 최적화 __로지스틱 회귀 ____로짓 함수 ____이항 분류 ____소프트웨어 설계 ____훈련 워크플로우 __________최소 제곱 최적화기 설정하기 __________자코비안 행렬 계산하기 __________종료 조건 정의하기 __________최소 제곱 문제 정의하기 __________손해 함수 최소화하기 __________테스트 ____분류 __요약 7장. 순차적 데이터 모델 __마코프 결정 과정 ____마코프 특성 ____1차 이산 마코프 체인 __은닉 마코프 모델(HMM) ____표기법 ____람다 모델 ____HMM 실행 상태 ____평가(CF-1) __________알파 클래스(전방 변수) __________베타 클래스(역방향 변수) ____훈련(CF-2) __________바움-웰치 추정기 ____디코딩(CF-3) __________비터비 알고리즘 ____하나로 합치기 ____테스트 케이스 ____시계열 분석을 위한 은닉 마코프 모델 __조건부 임의 필드 ____CRF 소개 ____선형 체인 CRF __CRF와 텍스트 분석 ____특성 함수 모델 ____소프트웨어 설계 ____구현 __________훈련 집합 만들기 __________태그 만들기 __________데이터 시퀀스 추출하기 __________CRF 제어 매개변수 __________하나로 합치기 ____테스트 __________훈련 수렴 프로파일 __________훈련 집합 크기에 따른 영향 __________L2 정규화 요소의 영향 __CRF와 HMM 비교 __성능상 고려 __요약 8장. 커널 모델과 서포트 벡터 머신 __커널 함수 ____개요 ____일반적인 판별 커널 __서포트 벡터 머신 ____선형 SVM __________분리 가능한 경우(하드 마진) __________분리 불가능한 경우(소프트 마진) ____비선형 SVM __________최대 마진 분류 __________커널 트릭 __서포트 벡터 분류기 ____이진 SVC ________LIBSVM ________소프트웨어 설계 ________설정 매개변수 ________SVM구현 ________C-벌점과 마진 ________커널 평가 ________위험 분석에 적용하기 __1-분류 SVC를 사용해 변칙성 감지하기 __서포트 벡터 회귀 ____개괄 ____SVR vs. 선형 회귀 __성능상 고려할 점 __요약 9장. 인공 뉴럴 네트워크 __앞먹임 뉴럴 네트워크 ____생물학적 배경 ____수학적 배경 __다층 퍼셉트론 ____활성화 함수 ____네트워크 구조 ____소프트웨어 설계 ____모델 정의 ________계층 ________시냅스 ________연결 ____훈련 사이클/에포크 ________1단계: 입력 전방 전파 ________2단계: 오차 제곱 합 ________3단계: 오차 역전파 ________4단계: 시냅스/가중치 조정 ________5단계: 수렴 기준 ________설정 ________한데 모으기 ____훈련 전략과 분류 ________온라인 vs. 배치 훈련 ________정규화 ________모델 인스턴스화 ________예측 __평가 ____학습 비율의 효과 ____모멘텀 계수의 영향 ____테스트 케이스 ________구현 ________모델 평가 ________은닉 계층구조가 끼치는 영향 __장점과 한계 __요약 10장. 유전자 알고리즘 __진화 ____기원 ____NP 문제 ____진화적 계산 __유전자 알고리즘과 기계 학습 __유전자 알고리즘의 구성 요소 ____인코딩 ________값 인코딩 ________술어 인코딩 ________해 인코딩 ________인코딩 방식 ____유전적 연산자 ________선택 ________교차 ________변이 ____적합도 점수 __구현 ____소프트웨어 설계 ____핵심 구성 요소 ____선택 ____개체군 크기 증가 제어 ____GA 설정 ____교차 ________개체군 ________염색체 ________유전자 ____변이 ________개체군 ________염색체 ________유전자 ____번식 사이클 __매매 전략을 위한 GA ____매매 전략 정의 ________매매 연산자 ________비용/부적합도 함수 ________거래 신호 ________매매 전략 ________신호 인코딩 ____테스트 케이스 ________데이터 추출 ________초기 개체군 ________설정 ________GA 인스턴스화 ________GA 실행 ________테스트 __유전자 알고리즘의 장점과 단점 __요약 11장. 강화 학습 __소개 ____문제 ____해법: Q-학습 ________용어 ________개념 ________정책의 값 ________벨만 최적화 공식 ________모델이 없는 학습의 시간적 차이 ________동작-값 반복 갱신 ____구현 ________소프트웨어 설계 ________상태와 동작 ________검색 공간0 ________정책과 동작-값 ________Q-학습 훈련 ________해결사 꼬리 재귀 ________예측 ____Q-학습을 사용한 옵션 거래 ________옵션의 속성 ________옵션 모델 ________함수 근사 ________제약이 가해진 상태 천이 ________한데 모으기 ____평가 ____강화 학습의 장점과 단점 __학습 분류 시스템 ____LCS 소개 ____LCS를 사용하는 이유는 무엇인가 ____용어 ____확장 학습 분류 시스템 ____XCS 구성 요소들 ________포트폴리오 관리에 적용하기 ________XCS 코어 데이터 ________XCS 규칙 ________커버링 ________구현 예제 ____학습 분류 시스템의 장점과 한계 __요약 12장. 확장 가능한 프레임워크 __개요 __스칼라 ____객체 생성 제어하기 ____병렬 컬렉션 ________병렬 컬렉션 처리하기 ________벤치마크 프레임워크 ________성능 평가 __액터로 규모 확장하기 ____액터 모델 ____파티셔닝 ____액터를 넘어서: 반응형 프로그래밍 __아카 ____마스터-작업자 ________메시지 교환 ________작업자 액터 ________워크플로우 컨트롤러 ________마스터 액터 ________마스터에서 라우팅 사용하기 ________분산 이산 푸리에 변환 ________한계 ____퓨처 ________액터의 생명주기 ________퓨처를 기다리며 블록하기 ________퓨처 콜백 처리하기 ________한데 모으기 __아파치 스파크 ____스파크를 사용해야 하는 이유는 무엇인가 ____설계 원칙 ________인메모리 영속성 ________지연 계산 ________변환과 액션 ________공유 변수 ____스파크로 실험하기 ________스파크 배치하기 ________스파크 셀 사용하기 ________MLlib ________RDD 생성 ________스파크를 사용한 K-평균 ____성능 평가 ________튜닝 가능한 요소 ________테스트 ________성능 고려 사항 ____장점과 단점 ____0xdata 스파클링 워터 __요약 부록A. 기본 개념 __스칼라 프로그래밍 ____라이브러리 목록 ____코드 조각의 서식 ____캡슐화 ____클래스 생성자 템플릿 ____동반 객체 vs. 케이스 클래스 ____열거형 vs. 케이스 클래스 ____오버로딩 ____분류기를 위한 설계 템플릿 ____데이터 추출 ____데이터 소스 ____문서 추출 ____행렬 클래스 __수학 ____선형대수 ________QR 분해 ________LU 인수분해 ________LDL 분해 ________콜레스키 인수분해 ________특이 값 분해 ________고유값 분해 ________대수 및 수학 라이브러리 ____1차 술어 논리 ____자코비안 및 헤시안 행렬 ____최적화 기법 정리 ________기울기 하강 기법 ________쿼시-뉴튼 알고리즘 ________비선형 최소 제곱 최소화 ________라그랑주 승수 ____동적 프로그래밍 개요 __금융 개론 ____기본적 분석 ____기술적 분석 ________용어 ________매매 신호 및 전략 ________가격 패턴 ____옵션 거래 ____금융 데이터 소스 __추천 온라인 강좌 __참고 문헌 부록B. 참고 문헌
