머신 러닝 인 자바 [자바 기반 머신 러닝]
- 원서명Machine Learning in Java (ISBN 9788960779297)
- 지은이보스티얀 칼루자(Boštjan Kaluža)
- 옮긴이동준상
- ISBN : 9788960779297
- 25,000원
- 2016년 11월 29일 펴냄 (절판)
- 페이퍼백 | 308쪽 | 188*235mm
- 시리즈 : acorn+PACKT
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
소스 파일은 아래 깃허브 페이지에서 내려 받으실 수 있습니다.
(https://github.com/AcornPublishing/machine-learning-java)
요약
자바로 작성된 예제 코드를 중심으로, 복잡한 데이터에서 신속하게 필요한 정보와 인사이트를 얻기 위한 다양한 기술과 도구를 소개한다. 데이터 과학의 공통 임무라 할 수 있는 분류, 예측, 마켓 바스켓 분석, 클러스터링과 같은 머신 러닝 기법에 대해 살펴보고, 이상 행동이나 사기 행동의 감지, 동작 인식, 이미지 인식, 텍스트 분석 방법을 설명한다. 책의 후반부에서는 머신 러닝과 관련된 주요한 자료원, 각종 글로벌 경진대회, 관련 기술을 소개한다.
이 책에서 다루는 내용
■ 응용 머신 러닝 기법의 기초와 다양한 머신 러닝 기법 간의 차이 이해
■ 자바 기반 주요 머신 러닝 라이브러리의 종류와 특성 및 해결할 수 있는 문제 유형
■ 분류, 회귀분석, 클러스터링 알고리즘 구현 방법
■ 재구매 고객의 예측을 통해 지속 가능한 고객 관계 전략 개발
■ 아파치 마홋(Apache Mahout)을 이용한 대규모 추천 엔진 개발
■ 머신 러닝을 통한 사기, 이상 행동, 이상점 감지
■ 딥 러닝 또는 심층 학습의 개념과 알고리즘, 구현 도구
■ 스마트폰 센서를 활용한 동작 인식 모델의 개발 및 eHealth 애플리케이션 구현
이 책의 대상 독자
데이터를 통해 인사이트를 얻고자 하는 사용자를 위해 자바 기반 머신 러닝 라이브러리의 사용 방법을 설명하기 위한 책이다. 자바를 사용해본 적은 없지만 머신 러닝의 개념을 아는 사람도 있을 것이고, 그와 반대로 머신 러닝에 대해서는 잘 모르지만 자바를 잘 아는 사람도 있을 것이다. 어떤 경우든, 실생활에 활용할 수 있는 머신 러닝 애플리케이션을 성공적으로 만들고, 수정하고, 배포할 수 있는 방법을 빠른 시간 내에 배울 수 있도록 구성했다. 기본적인 프로그래밍 기법과 데이터 마이닝의 개념에 대해 알고 있다면 이 책을 읽기가 좀 더 쉬울 것이지만, 데이터 마이닝을 모른다고 해도 큰 어려움은 없을 것이다.
이 책의 구성
1장, ‘응용 머신 러닝의 개요’에서는 머신 러닝의 공통 콘셉트, 머신 러닝 구현 원칙, 응용 머신 러닝 업무 흐름 등 머신 러닝의 기본 개념을 소개한다.
2장, ‘머신 러닝을 위한 자바 라이브러리와 플랫폼’에서는 머신 러닝을 위해 만들어진 다양한 자바 라이브러리와 플랫폼을 소개하며, 각 라이브러리의 주요 기능과 이들을 통해 어떤 문제를 해결할 수 있는지 설명한다. 주요 라이브러리로서 Weka, 자바-ML, Apache Mahout, Apache Spark, deeplearning4j, Mallet을 소개한다.
3장, ‘기본 알고리즘: 분류, 회귀분석, 클러스터링’에서는 머신 러닝 알고리즘의 핵심 수행 임무인 분류, 회귀분석, 클러스터링 알고리즘을 간단하고 이해하기 쉬운 데이터세트를 이용해 설명한다.
4장, ‘앙상블을 이용한 고객 관계 예측’에서는 실제 기업의 마케팅 데이터베이스를 활용해서 churn, upsell, cross-sell 등 기업의 마케팅 활동에 대한 고객의 반응 행동을 예측하는 모델을 만든다. 이번 예제는 KDD 컵 우승 해법인 앙상블 기법을 이용해서 문제를 해결한다.
5장, ‘친밀도 분석’에서는 연관 규칙 마이닝을 통해 동시 발생 관계를 분석한다. 고객의 구매 행동을 이해하기 위한 마켓 바스켓 분석 방법을 살펴보고 친밀도 분석과 관련된 다른 영역의 접근 방식에 대해서도 알아본다.
6장, ‘아파치 마홋을 이용한 추천 엔진 구현’에서는 추천 엔진의 원칙을 이해하기 위한 기본 개념을 설명하고, 콘텐트 기반 필터링, 협업적 추천 알고리즘 등 아파치 마홋을 이용한 두 개의 애플리케이션을 만든다.
7장, ‘사기와 이상 행동 감지’에서는 이상 행동, 의심 행동 패턴 감지의 배경에 대해 설명하며, 사기에 의한 보험 청구 행위의 감지, 웹사이트 트래픽에서의 이상 행동 감지 등 두 개의 실용적인 애플리케이션 개발 방법에 대해 알아본다.
8장, ‘Deeplearning4j를 활용한 이미지 인식’에서는 이미지 인식과 신경망 구조에 대한 기본 지식을 설명한다. deeplearning4j 라이브러리를 이용해서 심층 학습 구조를 구현하고, 이를 통해 수기로 작성된 숫자 인식 기법에 대해서도 알아본다.
9장, ‘스마트폰 센서를 활용한 동작 인식’에서는 센서 데이터를 이용해서 패턴 인식 문제를 해결한다. 동작 인식의 절차와 안드로이드 기기에서 데이터 수집 방법, 일상적인 동작의 인식을 위한 분류 모델 구현에 대해 알아본다.
10장, ‘멜릿을 이용한 텍스트 마이닝: 토픽 모델링과 스팸 감지’에서는 텍스트 마이닝의 기본 개념에 대해 소개하고 텍스트 처리 파이프라인을 통해 토픽 모델링과 문서 분류라는 실무 문제를 해결하는 방법에 대해 알아본다.
11장, ‘머신 러닝을 향한 다음 여정’에서는 모델의 배포에 대한 실용적인 조언과 머신 러닝 학습을 위한 자료원, 온라인 강의 사이트, 컨퍼런스, 관련 기술에 대해 소개한다.
목차
목차
- 1장. 응용 머신 러닝의 개요
- 머신 러닝과 데이터 과학
- 머신 러닝으로 해결할 수 있는 문제의 종류는?
- 응용 머신 러닝 개발 절차
- 데이터와 문제의 정의
- 측정 단위
- 데이터 수집
- 데이터의 발견과 관찰
- 데이터 생성
- 데이터 샘플링의 오류
- 데이터 전처리
- 데이터 클리닝
- 누락된 값 채우기
- 이상점 (아웃라이어) 제거
- 데이터 변환
- 데이터 축소
- 비지도 학습
- 유사한 아이템 찾기
- 유클리드 거리 측정법
- 비유클리드 거리 측정법
- 차원수의 저수
- 클러스터링
- 유사한 아이템 찾기
- 지도 학습
- 분류
- 의사결정 트리 학습
- 확률적 분류기
- 커널 기법
- 인공신경망
- 앙상블 학습
- 분류 체계의 평가
- 회귀분석
- 선형 회귀분석
- 회귀분석식 모델의 평가
- 분류
- 일반화와 평가
- 언더핏과 오버핏
- 학습 데이터와 검증 데이터의 구분
- 교차 평가
- 리브 원 아웃 교차 평가
- 계층화
- 언더핏과 오버핏
- 정리
- 머신 러닝과 데이터 과학
- 2장. 머신 러닝을 위한 자바 라이브러리와 플랫폼
- 자바의 필요성
- 머신 러닝 라이브러리
- Weka
- 자바 머신 러닝
- Apache Mahout
- Apache Spark
- Deeplearning4j
- MALLET
- 라이브러리 비교
- 머신 러닝 애플리케이션 만들기
- 전통적인 머신 러닝 아키텍처
- 빅데이터 처리하기
- 빅데이터 애플리케이션 아키텍처
- 정리
- 3장. 기본 알고리즘: 분류, 회귀분석, 클러스터링
- 시작에 앞서
- 분류
- 데이터
- 데이터 로딩
- 속성 선택
- 알고리즘 학습
- 새로운 데이터의 분류
- 모델 평가 및 예측 오류 메트릭스
- 혼합 매트릭스
- 분류 알고리즘의 선택
- 회귀분석
- 데이터 로딩
- 속성 분석
- 회귀분석 모델 개발 및 평가
- 선형 회귀분석
- 회귀분석 트리
- 회귀분석과 관련된 보편적인 문제의 해결책
- 클러스터링
- 클러스터링 알고리즘
- 모델의 평가
- 정리
- 4장. 앙상블을 이용한 고객 관계 예측
- 고객 관계 데이터베이스
- 챌린지 개요
- 도전 과제를 위한 데이터세트
- 평가
- 나이브 베이즈 분류법에 따른 기본 점수
- 데이터 가져오기
- 데이터 로딩
- 기본적인 모델링
- 평가 모델
- 기본적인 나이브 베이즈 알고리즘 구현
- 앙상블을 이용한 고급 모델 구현
- 시작하기에 앞서
- 데이터 전처리하기
- 속성 선택
- 모델 선택
- 성능 평가
- 정리
- 고객 관계 데이터베이스
- 5장. 친밀도 분석
- 마켓 바스켓 분석
- 친밀도 분석
- 연관 규칙 학습
- 기본 개념
- 거래 데이터베이스
- 아이템세트와 규칙
- 지지도
- 신뢰도
- 아프리오리 알고리즘
- FP-성장 알고리즘
- 기본 개념
- 슈퍼마켓 데이터세트
- 패턴 발견하기
- 아프리오리 알고리즘
- FP-성장 알고리즘
- 다양한 영역에서 활용되는 애플리케이션
- 의료 진단
- 단백질 서열 분석
- 인구총조사 데이터
- 고객 관계 관리
- IT 운영 분석
- 정리
- 마켓 바스켓 분석
- 6장. 아파치 마홋을 이용한 추천 엔진 구현
- 추천 엔진의 기본 개념
- 추천 엔진의 주요 개념
- 사용자 기반 분석과 아이템 기반 분석
- 유사성 계산을 위한 방법
- 협업적 필터링
- 콘텐트 기반 필터링
- 하이브리드 기법
- 데이터 채굴과 데이터 탐험
- 아파치 마홋 다운로드와 설정
- 이클립스에서 메이븐 플러그인을 통한 마홋 환경 설정
- 추천 엔진 만들기
- 책 평가를 위한 데이터세트
- 데이터 로딩
- 파일에서 데이터 로딩하기
- 데이터베이스에서 데이터 로딩하기
- 인메모리 데이터베이스
- 협업적 필터링
- 사용자 기반 필터링
- 아이템 기반 필터링
- 추천 알고리즘에 커스텀 규칙 추가하기
- 추천 모델의 평가
- 온라인 러닝 엔진
- 콘텐트 기반 필터링
- 정리
- 추천 엔진의 기본 개념
- 7장. 사기와 이상 행동 감지
- 이상하고 의심스러운 행동의 감지
- 무엇을 모르는지 모른다는 것, 언노운-언노운
- 의심스러운 패턴 감지
- 이상 행동 패턴의 감지
- 분석의 유형
- 패턴 분석
- 거래 분석
- 계획 인지
- 분석의 유형
- 보험 청구 사기 사건의 감지
- 데이터세트
- 의심스러운 행동 패턴의 모델링
- 바닐라 기법
- 데이터세트 밸런스 재조절
- 웹사이트 트래픽의 이상 행동 감지
- 데이터세트
- 시계열 데이터에서의 이상 행동 감지
- 히스토그램 기반 이상 행동 감지
- 데이터 로딩
- 히스토그램 만들기
- 밀집도 기반 k-최인접 이웃 알고리즘
- 정리
- 이상하고 의심스러운 행동의 감지
- 8장. Deeplearning4j를 활용한 이미지 인식
- 이미지 인식 기법의 개요
- 신경망 알고리즘
- 퍼셉트론
- 피드포워드 신경망
- 오토인코더
- 제한 볼츠만 머신
- 심층 나선형 신경망
- 신경망 알고리즘
- 이미지 분류
- Deeplearning4j
- DL4J 가져오기
- MNIST 데이터세트
- 데이터 로딩
- 모델 만들기
- 단일층 회귀분석 모델 만들기
- 심층 신뢰 신경망 만들기
- 다층 나선형 신경망 만들기
- Deeplearning4j
- 정리
- 이미지 인식 기법의 개요
- 9장. 스마트폰 센서를 활용한 동작 인식
- 동작 인식의 개요
- 스마트폰 센서
- 동작 인식 파이프라인
- 앱 개발 기획
- 스마트폰에서 데이터 수집하기
- 안드로이드 스튜디오 설치
- 데이터 콜렉터 프로젝트 로딩하기
- 특성 데이터의 추출
- 훈련 데이터의 수집
- 분류기 알고리즘의 개발
- 이상 동작 데이터 감소시키기
- 모바일 앱에 분류기 적용하기
- 정리
- 동작 인식의 개요
- 10장. 멜릿을 이용한 텍스트 마이닝: 토픽 모델링과 스팸 감지
- 텍스트 마이닝의 개요
- 토픽 모델링
- 텍스트 분류
- Mallet 설치
- 텍스트 데이터의 활용
- 데이터 임포트하기
- 디렉토리에서 임포트하기
- 파일에서 임포트하기
- 텍스트 데이터의 전처리
- 데이터 임포트하기
- BBC 뉴스에서 토픽 모델링 구현하기
- BBC 데이터세트
- 모델링
- 모델의 평가
- 모델의 재사용
- 모델 저장하기
- 모델 복구하기
- 이메일 스팸 감지
- 이메일 스팸 데이터세트
- 특성값 생성
- 훈련 및 테스트
- 모델의 성능 평가
- 정리
- 텍스트 마이닝의 개요
- 11장. 머신 러닝을 향한 다음 여정
- 실무적인 문제 해결 방법으로서의 머신 러닝
- 노이즈 데이터
- 클래스의 불균형
- 특성 선택의 까다로움
- 모델 연쇄
- 평가의 중요성
- 서비스 또는 제품에 러닝 모델 적용하기
- 모델의 유지 보수
- 표준 언어와 마크업 언어
- CRISP-DM
- SEMMA 방법론
- 예측 모델 마크업 언어
- 클라우드 기반의 머신 러닝
- 서비스로서의 머신 러닝
- 웹 자료원과 경진대회
- 데이터세트
- 온라인 학습 과정
- 머신 러닝 경진 대회
- 머신 러닝 관련 웹사이트와 블로그
- 머신 러닝 컨퍼런스
- 실무적인 문제 해결 방법으로서의 머신 러닝