Top

머신 러닝 인 자바 [자바 기반 머신 러닝]

  • 원서명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장, ‘머신 러닝을 향한 다음 여정’에서는 모델의 배포에 대한 실용적인 조언과 머신 러닝 학습을 위한 자료원, 온라인 강의 사이트, 컨퍼런스, 관련 기술에 대해 소개한다.

저자/역자 소개

지은이의 말

머신 러닝은 인공 지능의 하위 영역으로, 컴퓨터가 알고리즘과 데이터를 이용해 인간처럼 배우고, 행동할 수 있도록 가르치기 위한 것이다. 특정 데이터를 제공하면, 머신 러닝 알고리즘은 이를 통해 데이터의 또 다른 속성을 파악하고, 미래에 나타날 수 있는 데이터 속성을 추측할 수 있다.
이 책은 자바 언어를 기반으로 주요 학습 개념과 실용적인 예제를 이용해서 머신 러닝 알고리즘을 작성하고 구현할 수 있는 방법을 설명한다. 학습의 과정에서 머신 러닝의 주요 라이브러리인 Weka, Apache Mahout, Mallet 등에 대해서도 상세히 알아본다. 이 책은 특정 문제 해결을 위해 어떤 라이브러리가 좋은지 살펴보며, 서로 다른 기술의 결과를 비교하고 평가하는 시간도 갖는다. 이 책은 러닝 모델의 성능 향상 기술에 대해서도 다루며, 입력 데이터의 전처리, 서로 다른 기법으로 만들어진 모델의 결합 방법에 대해서도 설명한다.
이 책은 머신 러닝을 위해 만들어진 자바 라이브러리를 명확하고도 실용적인 예제를 가지고 설명한다. 또, 데이터 분석을 위한 준비 방법에 대해 알아보고, 머신 러닝 기법의 선택, 과정의 성공 정도에 대한 평가 방법 역시 살펴본다.

지은이 소개

보스티얀 칼루자(Boštjan Kaluža)

인공 지능과 머신 러닝을 연구한다. IT 운영 분석 전문 회사인 Evolven의 책임 데이터 과학자로서 연구 프로젝트의 운영 환경 분석과 운영 정책 변경 분석을 담당했다. 머신 러닝, 예측적 분석, 패턴 마이닝, 이상 행동 감지 관련 데이터를 비즈니스 연관 정보 또는 그에 대한 행동을 취할 수 있는 인사이트로 바꾸는 일을 한다.
Evolven 이전엔, 슬로베니아의 대표 과학 연구 기관인 Jozef Stefan Institute의 인텔리전트 시스템 부서에서 선임 연구원으로 일했고, 연관 패턴, 이상 행동 감지, 유비쿼터스 컴퓨팅, 멀티 에이전트 시스템의 연구를 이끌었다. 보스티얀은 남캘리포니아 대학교에 방문 연구자로 있는 동안, 보안 애플리케이션 맥락에서의 의심 행동, 이상 행동에 대해 연구했다. 그는 연구를 통해 자바와 파이썬을 오랜 기간 사용해왔으며, 교단에서는 Weka 라이브러리에 대해 강의한다.
머신 러닝과 데이터 과학 관련 전문지에 다수의 기고문을 게재했으며, 컨퍼런스 발표 논문 작성에 참여하고 이 분야의 특허도 다수 확보하고 있다. 2013년, 팩트출판사에서 데이터 과학 분야의 첫 번째 책이자, Weka를 이용한 머신 러닝 실무 활용서인 『Instant Weka How-to』를 출간했다. 그에 관한 좀 더 자세한 정보는 그의 웹사이트 http://bostjankaluza.net에서 확인하자.

옮긴이의 말

몇 년 전, 60년 전통의 글로벌 IT 조사기관인 IDC는 IT 기술을 이끌어나갈 4대 중심축으로 모바일, 소셜, 클라우드, 빅데이터를 지목했다. IDC의 예견은 이제 상식이 됐으며, 모바일 기기 산업은 어느새 성숙기에 접어들었고, 모바일 콘텐츠와 소셜 서비스는 치열한 경쟁만을 남겨두고 있다. 이러한 상황에서 다양한 스마트 기기와 클라우드 환경에서 막대하게 쏟아지는 빅데이터를 시각화하고 유용한 도구 혹은 자원으로 활용하기 위한 시도가 거듭되고 있다. 이런 시도 가운데 국내외에서 가장 두드러진 것이 바로 머신 러닝이라 할 수 있다.
보통의 개발 트렌드는 IT 엔지니어의 관심사지만, 머신 러닝만큼은 기업 경영자, 스타트업 창업자, 보건 행정 공무원, 정책 입안자, 대통령 선거 후보에 이르기까지 높은 관심을 받고 있다. 고객의 명단이 아닌, 고객의 행동을 분석하거나, 고객이 왜 그런 행동을 했는지 맥락을 분석하는 데 있어서 머신 러닝은 주요한 역할을 할 수 있는 단계에 접어들었다. 또한 이미 수년 전부터 산업계, 학계가 앞다퉈서 머신 러닝 라이브러리를 배포하고 이를 문서화하고 있어서 매우 낮은 비용으로 데이터를 분석하고 차별화된 통찰력을 얻을 수 있는 환경도 만들어졌다.
하지만, 머신 러닝의 개념을 구성하는, 기본적인 이론의 개요를 파악하는 일조차 결코 쉽지 않다. 더욱이 개발과 회의, 업무 조율 등으로 매일같이 바쁜 일상을 보내고 있는 현업 개발자라면 머신 러닝의 개념 정리와 응용프로그램의 개발 준비를 별도로 할 여유는 없을 것이다.
이 책은 머신 러닝의 개념 정립, 유용한 라이브러리 소개, 해당 라이브러리의 활용 예제로 구성돼 있다. 지난 십 수년간 머신 러닝의 상용화, 사업화를 위해 노력해온 기업과 대학, 각종 연구 기관의 성과는 무료로 사용할 수 있는 오픈소스 라이브러리로 배포됐으며, 이제 우리는 이들 라이브러리 중 우리가 실제로 필요한 것이 무엇인지 확인하고, 해당 라이브러리에서 관련 리소스를 임포트하기만 하면 머신 러닝 알고리즘을 사용할 수 있게 됐다.
우리 주위의 당면 과제를 소개하고, 이를 해결하기 위해 머신 러닝 알고리즘이 무엇인지 개략적으로 소개한 뒤, 그에 적합한 알고리즘이 무엇인지 매우 알기 쉽게 설명한다. 머신 러닝 기반의 아이템 추천 알고리즘, 또는 이상 행동 감지 알고리즘이 반영된 응용 프로그램을 만들고자 하는 개발자의 시간과 노력을 아끼는 데 도움이 될 것으로 생각한다.

옮긴이 소개

동준상

넥스트플랫폼 대표, ICT 제품과 서비스 상용화 컨설턴트. iOS와 안드로이드, 웹 애플리케이션 분야에서 UI 개발과 UX 표준화 업무를 하며, 한국생산성본부, KT, 국민 데이타시스템, 신세계IINC 등에서 모바일 프로젝트를 위한 UX 디자인과 UI 개발 강의를 하고, 관련 교재를 집필했다.
2015~2016년 KMEPA의 ICT 상용화 멘토며, 한국콘텐츠진흥원, 한국생산성본부, 대구디지털산업진흥원, 부산정보진흥원 기술 심사위원 및 멘토로 활동했다.
번역서로는 에이콘출판사에서 펴낸 『jQuery UI 1.8 한국어판』(2012), 『The iOS 5 Developer’s Cookbook (Third Edition) 한국어판』(2012), 『The Core iOS 6 Developer’s Cookbook (Fourth Edition) 한국어판』(2013), 『The Advanced iOS 6 Developer’s Cookbook (Fourth Edition) 한국어판』(2013), 『The Book of CSS3』(2014), 『Swift로 하는 iOS 프로그래밍』(2015) 등이 있다.

목차

목차
  • 1장. 응용 머신 러닝의 개요
    • 머신 러닝과 데이터 과학
      • 머신 러닝으로 해결할 수 있는 문제의 종류는?
      • 응용 머신 러닝 개발 절차
    • 데이터와 문제의 정의
      • 측정 단위
    • 데이터 수집
      • 데이터의 발견과 관찰
      • 데이터 생성
      • 데이터 샘플링의 오류
    • 데이터 전처리
      • 데이터 클리닝
      • 누락된 값 채우기
      • 이상점 (아웃라이어) 제거
      • 데이터 변환
      • 데이터 축소
    • 비지도 학습
      • 유사한 아이템 찾기
        • 유클리드 거리 측정법
        • 비유클리드 거리 측정법
        • 차원수의 저수
      • 클러스터링
    • 지도 학습
      • 분류
        • 의사결정 트리 학습
        • 확률적 분류기
        • 커널 기법
        • 인공신경망
        • 앙상블 학습
        • 분류 체계의 평가
      • 회귀분석
        • 선형 회귀분석
        • 회귀분석식 모델의 평가
    • 일반화와 평가
      • 언더핏과 오버핏
        • 학습 데이터와 검증 데이터의 구분
        • 교차 평가
        • 리브 원 아웃 교차 평가
        • 계층화
    • 정리

  • 2장. 머신 러닝을 위한 자바 라이브러리와 플랫폼
    • 자바의 필요성
    • 머신 러닝 라이브러리
      • Weka
      • 자바 머신 러닝
      • Apache Mahout
      • Apache Spark
      • Deeplearning4j
      • MALLET
      • 라이브러리 비교
    • 머신 러닝 애플리케이션 만들기
      • 전통적인 머신 러닝 아키텍처
      • 빅데이터 처리하기
        • 빅데이터 애플리케이션 아키텍처
    • 정리

  • 3장. 기본 알고리즘: 분류, 회귀분석, 클러스터링
    • 시작에 앞서
    • 분류
      • 데이터
      • 데이터 로딩
      • 속성 선택
      • 알고리즘 학습
      • 새로운 데이터의 분류
      • 모델 평가 및 예측 오류 메트릭스
      • 혼합 매트릭스
      • 분류 알고리즘의 선택
    • 회귀분석
      • 데이터 로딩
      • 속성 분석
      • 회귀분석 모델 개발 및 평가
        • 선형 회귀분석
        • 회귀분석 트리
      • 회귀분석과 관련된 보편적인 문제의 해결책
    • 클러스터링
      • 클러스터링 알고리즘
      • 모델의 평가
    • 정리

  • 4장. 앙상블을 이용한 고객 관계 예측
    • 고객 관계 데이터베이스
      • 챌린지 개요
      • 도전 과제를 위한 데이터세트
      • 평가
    • 나이브 베이즈 분류법에 따른 기본 점수
      • 데이터 가져오기
      • 데이터 로딩
    • 기본적인 모델링
      • 평가 모델
      • 기본적인 나이브 베이즈 알고리즘 구현
    • 앙상블을 이용한 고급 모델 구현
      • 시작하기에 앞서
      • 데이터 전처리하기
      • 속성 선택
      • 모델 선택
      • 성능 평가
    • 정리

  • 5장. 친밀도 분석
    • 마켓 바스켓 분석
      • 친밀도 분석
    • 연관 규칙 학습
      • 기본 개념
        • 거래 데이터베이스
        • 아이템세트와 규칙
        • 지지도
        • 신뢰도
      • 아프리오리 알고리즘
      • FP-성장 알고리즘
    • 슈퍼마켓 데이터세트
    • 패턴 발견하기
      • 아프리오리 알고리즘
      • FP-성장 알고리즘
    • 다양한 영역에서 활용되는 애플리케이션
      • 의료 진단
      • 단백질 서열 분석
      • 인구총조사 데이터
      • 고객 관계 관리
      • IT 운영 분석
    • 정리

  • 6장. 아파치 마홋을 이용한 추천 엔진 구현
    • 추천 엔진의 기본 개념
      • 추천 엔진의 주요 개념
      • 사용자 기반 분석과 아이템 기반 분석
      • 유사성 계산을 위한 방법
        • 협업적 필터링
        • 콘텐트 기반 필터링
        • 하이브리드 기법
      • 데이터 채굴과 데이터 탐험
    • 아파치 마홋 다운로드와 설정
      • 이클립스에서 메이븐 플러그인을 통한 마홋 환경 설정
    • 추천 엔진 만들기
      • 책 평가를 위한 데이터세트
      • 데이터 로딩
        • 파일에서 데이터 로딩하기
        • 데이터베이스에서 데이터 로딩하기
        • 인메모리 데이터베이스
      • 협업적 필터링
        • 사용자 기반 필터링
        • 아이템 기반 필터링
        • 추천 알고리즘에 커스텀 규칙 추가하기
        • 추천 모델의 평가
        • 온라인 러닝 엔진
    • 콘텐트 기반 필터링
    • 정리

  • 7장. 사기와 이상 행동 감지
    • 이상하고 의심스러운 행동의 감지
      • 무엇을 모르는지 모른다는 것, 언노운-언노운
    • 의심스러운 패턴 감지
    • 이상 행동 패턴의 감지
      • 분석의 유형
        • 패턴 분석
        • 거래 분석
      • 계획 인지
    • 보험 청구 사기 사건의 감지
      • 데이터세트
      • 의심스러운 행동 패턴의 모델링
        • 바닐라 기법
        • 데이터세트 밸런스 재조절
    • 웹사이트 트래픽의 이상 행동 감지
      • 데이터세트
      • 시계열 데이터에서의 이상 행동 감지
        • 히스토그램 기반 이상 행동 감지
        • 데이터 로딩
        • 히스토그램 만들기
        • 밀집도 기반 k-최인접 이웃 알고리즘
    • 정리

  • 8장. Deeplearning4j를 활용한 이미지 인식
    • 이미지 인식 기법의 개요
      • 신경망 알고리즘
        • 퍼셉트론
        • 피드포워드 신경망
        • 오토인코더
        • 제한 볼츠만 머신
        • 심층 나선형 신경망
    • 이미지 분류
      • Deeplearning4j
        • DL4J 가져오기
      • MNIST 데이터세트
      • 데이터 로딩
      • 모델 만들기
        • 단일층 회귀분석 모델 만들기
        • 심층 신뢰 신경망 만들기
        • 다층 나선형 신경망 만들기
    • 정리

  • 9장. 스마트폰 센서를 활용한 동작 인식
    • 동작 인식의 개요
      • 스마트폰 센서
      • 동작 인식 파이프라인
      • 앱 개발 기획
    • 스마트폰에서 데이터 수집하기
      • 안드로이드 스튜디오 설치
      • 데이터 콜렉터 프로젝트 로딩하기
        • 특성 데이터의 추출
      • 훈련 데이터의 수집
    • 분류기 알고리즘의 개발
      • 이상 동작 데이터 감소시키기
      • 모바일 앱에 분류기 적용하기
    • 정리

  • 10장. 멜릿을 이용한 텍스트 마이닝: 토픽 모델링과 스팸 감지
    • 텍스트 마이닝의 개요
      • 토픽 모델링
      • 텍스트 분류
    • Mallet 설치
    • 텍스트 데이터의 활용
      • 데이터 임포트하기
        • 디렉토리에서 임포트하기
        • 파일에서 임포트하기
      • 텍스트 데이터의 전처리
    • BBC 뉴스에서 토픽 모델링 구현하기
      • BBC 데이터세트
      • 모델링
      • 모델의 평가
      • 모델의 재사용
        • 모델 저장하기
        • 모델 복구하기
    • 이메일 스팸 감지
      • 이메일 스팸 데이터세트
      • 특성값 생성
      • 훈련 및 테스트
        • 모델의 성능 평가
    • 정리

  • 11장. 머신 러닝을 향한 다음 여정
    • 실무적인 문제 해결 방법으로서의 머신 러닝
      • 노이즈 데이터
      • 클래스의 불균형
      • 특성 선택의 까다로움
      • 모델 연쇄
      • 평가의 중요성
      • 서비스 또는 제품에 러닝 모델 적용하기
      • 모델의 유지 보수
    • 표준 언어와 마크업 언어
      • CRISP-DM
      • SEMMA 방법론
      • 예측 모델 마크업 언어
    • 클라우드 기반의 머신 러닝
      • 서비스로서의 머신 러닝
    • 웹 자료원과 경진대회
      • 데이터세트
      • 온라인 학습 과정
      • 머신 러닝 경진 대회
      • 머신 러닝 관련 웹사이트와 블로그
      • 머신 러닝 컨퍼런스

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안