HOME > 상세정보

상세정보

스칼라와 기계 학습 : 스칼라를 활용해 데이터에서 학습하는 시스템 만들기

스칼라와 기계 학습 : 스칼라를 활용해 데이터에서 학습하는 시스템 만들기

자료유형
단행본
개인저자
Nicolas, Patrick R. 오현석, 역
서명 / 저자사항
스칼라와 기계 학습 : 스칼라를 활용해 데이터에서 학습하는 시스템 만들기 / 패트릭 니콜라스 지음; 오현석 옮김
발행사항
서울 :   에이콘출판사,   2016  
형태사항
598 p. : 도표 ; 24 cm
총서사항
acorn + packt technical book
원표제
Scala for machine learning
ISBN
9788960778832 9788960772106 (세트)
일반주기
부록: A. 기본 개념  
서지주기
참고문헌과 색인수록
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 도서상태 대출가능 반납예정일 예약 서비스 B M

컨텐츠정보

책소개

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, '참고 문헌'은 각 장에서 참고했던 문헌의 목록을 제공한다.


정보제공 : Aladin

저자소개

패트릭 니콜라스(지은이)

캘리포니아 애자일 SDEAgile SDE의 공학 이사다. 소프트웨어공학, C++, 자바와 최근의 스칼라/스파크 애플리케이션 구축에 이르기까지 25년 이상의 경력을 보유했으며, 여러 개의 관리 직위를 맡아왔다. 실시간 분석, 모델링, 비선형 모형 개발 등에 관심이 많다.

오현석(옮긴이)

25년간 현업 개발자로 코드를 개발해 왔으며, 지금은 (주)대동애그테크에서 미래 농업 솔루션을 개발하는 본부를 총괄하고 있다. 『객체에서 함수로』(길벗, 2024), 『코틀린 함수형 프로그래밍』(에이콘, 2023) 등 코틀린 서적을 여러 권 번역했고, 코틀린 외에도 『실전 파이썬 핸즈온 프로젝트』(책만, 2022), 『읽고 나면 진짜 쉬워지는 자료 구조』(길벗, 2024) 등 다양한 프로그래밍 언어와 프로그래밍 기술에 대한 책을 30여 권 번역했으며, 『핵심 코틀린 프로그래밍』(에이콘, 2023) 책을 쓴 저자이기도 하다.

정보제공 : Aladin

목차

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. 참고 문헌

관련분야 신착자료

Harvard Business Review (2025)