Top

케라스 딥러닝 응용 [실생활 시나리오로 28가지 실습하기]

  • 원서명Applied Deep Learning with Keras: Solve complex real-life problems with the simplicity of Keras (ISBN 9781838555078)
  • 지은이리테쉬 바그와트(Ritesh Bhagwat), 말라 압둘라네자드(Mahla Abdolahnejad), 매튜 무캄(Matthew Moocarme)
  • 옮긴이최영재
  • ISBN : 9791161754185
  • 35,000원
  • 2020년 06월 25일 펴냄
  • 페이퍼백 | 464쪽 | 188*235mm
  • 시리즈 : acorn+PACKT, 데이터 과학

책 소개

요약

예전에는 소수의 전문가만 이해하고 사용할 수 있었던 딥러닝 모델을 이제는 누구나 쉽게 만들고 활용할 수 있다. 초보자에게 쉽게 따라 할 수 있는 여러 예제를 통해 머신러닝의 개념과 실생활 문제를 해결하는 데 케라스를 활용하는 방법을 보여준다. 머신러닝을 이미 접해본 사람에게는 딥러닝의 기본 수학 개념과 필요에 따라 케라스를 응용할 수 있는 가이드라인을 제공한다.

이 책에서 다루는 내용

■ 파이썬에서 데이터 전처리와 데이터 정형
■ 신경망 이해
■ 머신러닝과 딥러닝의 차이 설명
■ 케라스를 활용한 논리 회귀 모델, 단일-레이어 신경망과 같은 간단한 모델 구축
■ 케라스를 활용한 다중-레이어 신경망, 딥 CNN, 딥 RNN과 같은 복잡한 모델 구축
■ 머신러닝으로 환자 질병 정보에 사용 가능한 모델 구성과 질병 예측
■ 모델을 평가해 모델이 가진 정확성을 이해하고, 정확성을 높이기 위한 튜닝 진행
■ 정확성이 항상 제일 좋은 지표는 아니라는 것을 이해하고 더 좋은 평가를 얻을 수 있는 대안 학습

이 책의 대상 독자

데이터 과학과 머신러닝에 관한 기초 지식을 배운 상태에서 인공신경망과 딥러닝을 배우고자 한다면 많은 도움이 될 것이다. 파이썬 프로그래밍이나 통계학, 논리적 회귀에 대한 경험이 있으면 이 책을 최대한 활용할 수 있다. 사이킷런 라이브러리에 대한 경험도 이 책을 보는 데 도움될 수 있다.

이 책의 구성

이 책을 통해 다음을 목표를 달성할 수 있다.
■ 단일-레이어 신경망과 다중-레이어 신경망의 차이 이해
■ 케라스를 사용한 간단한 논리 회귀 모델, 딥 신경망, 순환 신경망, 합성곱 신경망 구축
■ L1, L2, 드롭아웃 정규화 기법 적용을 통한 모델 정확성 향상
■ 케라스 래퍼와 사이킷런을 활용한 교차 검증 시행
■ 모델 정확성의 한계 이해

상세 이미지

저자/역자 소개

지은이의 말

초보자가 최단 시간 내에 가장 중요한 데이터 분석 방법을 습득할 수 있도록 실제적인 접근 방법을 취한다. 실생활 비즈니스 시나리오를 기반으로 실습할 수 있어서 자신의 상황과 유사한 사례에 새롭게 배운 지식을 연습하고 적용해볼 수 있다..

지은이 소개

리테쉬 바그와트(Ritesh Bhagwat)

응용 수학 석사로, 컴퓨터 과학 분야에 많은 경험이 있다. 데이터 주도 기술 분야에서 14년 이상 근무해왔으며, 데이터 수집 분석이나 비즈니스 지능 분야에서부터 머신러닝과 인공지능에 이르기까지 다양하고 복잡한 프로젝트를 수행하거나 프로젝트의 일원으로 참여했다. 세계 최고 수준의 컨설팅 기업과 대형 다국적 금융 회사와 일한 적이 있으며 현재는 데이터 과학자로 일하고 있다. 평소에는 크리켓을 하거나 관전하는 것을 좋아하며, 여행도 즐기고 있다. 베이지안 통계학에도 관심이 많다

말라 압둘라네자드(Mahla Abdolahnejad)

캐나다 칼턴대학교 시스템과 컴퓨터 엔지니어링 분야 박사 후보다. 생체 의학 엔지니어링 학사 및 석사 학위가 있으며, 그 과정에서 인공신경망 분야를 처음 접할 기회를 가졌다. 박사 학위 연구 분야는 응용 컴퓨터 비전 애플리케이션을 위한 딥 비지도학습(deep unsupervised learning)이다. 인간이 시각을 통해 세상을 배우는 방법과 기계가 시각을 통해 세상을 배우는 방법의 차이, 또 어떻게 하면 기계의 학습 알고리즘이 인간과 좀 더 유사하게 학습하고 생각할 수 있을지에 대해 관심이 깊다.

매튜 무캄(Matthew Moocarme)

비아콤(Viacom) 홍보 과학 팀의 시니어 데이터 과학자(senior data scientist)다. 비아콤에서 데이터 과학과 머신러닝을 통해 통찰력을 키우고 워크플로를 간소화해 복잡한 문제를 해결할 수 있도록 데이터 주도 솔루션을 설계하고 있다. 뉴욕에 살고 있으며 딥러닝과 음악 이론의 접목에도 관심이 있다. 물리학을 공부했으며 뉴욕 시립대학원에서 물리학 박사 학위를 받았다. 현재는 인공지능 분야에서 활동하고 있는 개발자, 연구자, 실행자, 교육자다.

옮긴이의 말

1950년대에 인공지능이라는 용어가 처음 소개됐을 때까지만 해도, 인공지능은 소수의 전문가가 복잡한 수식과 많은 연산 자원을 갖고 연구하던 영역이었습니다. 하지만 최근 관련 하드웨어의 발전과 여러 기업이나 단체에서 제공하는 오픈소스 도구를 활용해 누구라도 필요한 도구를 간단하게 설치하고 딥러닝을 직접 경험해볼 수 있습니다. 라테쉬 바그와트, 말라 압둘라네자드, 매튜 무캄이 쓴 이 책에서는 딥러닝의 기본 개념을 설명하고 많은 사람이 활용하는 케라스를 기반으로 누구나 쉽게 따라 할 수 있는 많은 예제를 살펴봄으로써, 딥러닝을 처음 접하는 독자뿐만 아니라 어느 정도 경험이 있으며 여러 적용 사례를 경험하고 싶은 사람들도 쉽게 이해할 수 있는 책입니다.
오늘날 딥러닝 관련 기술은 매우 빠르게 발전하고 있습니다. 하루만 지나도 새로운 기술이 개발되고, 현재의 기법이나 도구가 1년 뒤에도 여전히 쓰일지 알 수 없습니다. 하지만 딥러닝이 기본적으로 어떻게 구현되는지 이해하고, 실습을 통해 근간을 이루는 수학 개념에 익숙해지면 차후 새로워진 기법과 도구를 더욱 쉽게 활용할 수 있습니다.
책 속 예제들은 실생활 데이터를 기반으로 진행됩니다. 그래서 책 속 사례 외에도 데이터를 직접 바꿔 가면서 딥러닝 모델을 훈련할 때 각 특성이 어떤 영향을 주는지, 또 특성을 추가하거나 제외하는 것이 성능에 어떤 영향을 주는지 알아볼 수 있습니다.
머신러닝, 딥러닝 분야는 대부분의 용어가 영어입니다. 국내에서도 활발하게 사용되기 시작한 지 어느 정도 시간이 지났기 때문에 용어를 원문 그대로 사용하는 것이 편한 사람이 많습니다. 이 책을 옮기는 과정 중에도 원문의 의미를 해치지 않는 범위 내에서 업계에서 흔히 사용하는 용어를 선택하고자 노력했습니다.

옮긴이 소개

최영재

IT 회사에서 근무하면서 소프트웨어 제품 품질에 관심을 가져왔다. 현재 소프트웨어 공학 관련 강의를 하고 있으며, 어떻게 하면 사용자가 좀 더 신뢰할 수 있고 안심하며 사용할 수 있는 소프트웨어를 만들지 고민 중이다.
소프트웨어 관련 국제 표준과 여러 지식 체계에 참여하고 있으며, 최근에는 어떻게 하면 누구나 신뢰하면서 사용할 수 있는 머신러닝 모델을 만들 수 있는지에 관심을 갖고 있다. 자율주행 자동차 등 인공지능이 인간의 삶에 줄 수 있는 많은 가치를 실현하기 위해서는 모델이 가진 한계를 이해하고, 인공지능이 왜, 무언가를, 어떤 방식으로 예측했는지 이해할 필요가 있다고 생각한다.

목차

목차
  • 1장. 케라스를 활용한 머신러닝 입문
    • 서론
    • 데이터 묘사
      • 데이터 테이블
      • 데이터 로딩
      • 실습 1: UCI 머신러닝 저장소 데이터 세트 로딩
    • 데이터 전처리
      • 실습 2: 데이터 정리
      • 데이터의 적절한 표현
      • 실습 3: 데이터의 적절한 표현
      • 모델 생성 수명 주기
    • 머신러닝 라이브러리
    • 사이킷런
    • 케라스
      • 케라스의 장점
      • 케라스의 단점
      • 모델 구축을 넘어서
    • 모델 학습
      • 분류 및 회귀 모델
      • 분류 과업
      • 회귀 과업
      • 학습 및 테스트 데이터 세트
      • 모델 평가 측정 항목
      • 실습 4: 간단한 모델 구축
    • 모델 튜닝
      • 기준 모델
      • 실습 5: 기준 모델 선정
      • 정규화
      • 교차 - 검증
      • 활동 1: 모델에 정규화를 더하기
    • 요약

  • 2장. 머신러닝 대 딥러닝
    • 서론
      • ANN이 전통적인 머신러닝 알고리즘보다 좋은 점
      • 전통적인 머신러닝 알고리즘이 ANN보다 좋은 점
      • 계층형 데이터 묘사
    • 선형 변환
      • 스칼라, 벡터, 행렬, 텐서
      • 텐서 덧셈
      • 실습 6: 스칼라, 행렬, 텐서를 가지고 다양한 연산 해보기
      • 정형
      • 행렬 전치
      • 실습 7: 행렬 정형 및 전치
      • 행렬 곱셈
      • 실습 8: 행렬 곱셈
      • 실습 9: 텐서 곱셈
    • 케라스 소개
      • 레이어 유형
      • 활성화 함수
      • 모델 피팅
      • 활동 2: 케라스를 사용해 논리 회귀 모델 생성
    • 요약

  • 3장. 케라스를 활용한 딥러닝
    • 서론
    • 첫 번째 신경망 구축
      • 논리 회귀에서 딥 신경망으로
      • 활성화 함수
      • 예측을 위한 순전파
      • 손실 함수
      • 손실 함수의 미분계수 계산을 위한 역전파
      • 매개변수 학습을 위한 경사 하강법
      • 실습 10: 케라스를 활용한 신경망 구현
      • 활동 3: 이진 분류를 하는 단일-레이어 신경망 구축 분류 과업
    • 모델 평가
      • 케라스에서 훈련된 모델 평가
      • 데이터를 학습 세트와 테스트 세트로 분리
      • 과소적합과 과적합
      • 조기 중단
      • 활동 4: 신경망을 활용한 당뇨병 진단
    • 요약

  • 4장. 케라스 래퍼를 활용한 모델 교차 검증
    • 서론
    • 교차-검증
      • 데이터 세트를 한 번만 나눴을 때의 단점
      • 예제
      • K-폴드 교차 검증
      • 리브-원-아웃 교차 검증
      • K-폴드와 LOO 접근법 비교
    • 딥러닝 모델의 교차 검증
      • 케라스 래퍼와 사이킷런
      • 실습 11: 사이킷런을 활용해 회귀 문제를 위한 케라스 래퍼 구축
      • 사이킷런을 통한 교차 검증
      • 사이킷런의 교차 검증 반복자
      • 실습 12: 교차 검증을 통한 딥 신경망 평가
      • 활동 5: 교차 검증을 활용한 당뇨병 진단 분류 모델 평가
    • 교차 검증을 통한 모델 선택
      • 모델 평가를 위한 교차 검증과 모델 선택
      • 실습 13: 교차 검증을 통한 딥러닝 모델 구성을 위한 사용자 정의 함수 작성
      • 활동 6: 교차 검증을 통한 당뇨병 진단 분류 모델 선택
      • 활동 7: 교차 검증을 활용해 보스턴 주택 가격 데이터 세트에 적합한 모델 선택
    • 요약

  • 5장, 모델 정확성 개선
    • 서론
    • 정규화
      • 정규화의 필요성
      • 정규화를 통한 과적합 줄이기
    • L1과 L2 정규화
      • L1과 L2 정규화 공식
      • 케라스에서 L1과 L2 정규화 적용
      • 활동 8: 당뇨병 진단 분류 모델의 가중치 정규화
    • 드롭아웃 정규화
      • 드롭아웃 정규화 원리
      • 드롭아웃을 통한 과적합 줄이기
      • 실습 14: 케라스에서 드롭아웃 구현
      • 활동 9: 보스턴 주택 데이터 세트를 가지고 하는 드롭아웃 정규화
    • 기타 정규화 기법
      • 조기 중단
      • 실습 15: 케라스에서 조기 중단 구현
      • 데이터 부풀리기
      • 노이즈 추가
    • 사이킷런을 활용한 초매개변수 튜닝
      • 사이킷런 그리드 탐색
      • 사이킷런 랜덤 탐색
      • 활동 10: 당뇨병 진단 분류 모델의 초매개변수 튜닝
    • 요약

  • 6장. 모델 평가
    • 서론
    • 정확성
      • 실습 16: 가상 의료 데이터 세트의 널 정확성 계산
      • 정확성의 정점과 한계
    • 불균형 데이터 세트
      • 불균형 데이터 세트로 작업하기
    • 혼동행렬
      • 혼동행렬을 바탕으로 계산되는 측정 지표
      • 실습 17: 의료 데이터를 가지고 정확성과 널 정확성 계산하기
      • 데이터 전처리 및 탐색적 데이터 분석
      • 널 정확성 계산
      • 활동 11: 학습/테스트 분할을 바꿨을 때 정확성과 널 정확성 계산하기
      • 활동 12: 혼동행렬을 가지고 측정 지표 도출 및 계산하기
      • 실습 18: ROC와 AUC 곡선 계산
    • 요약

  • 7장. 합성곱 신경망을 활용한 컴퓨터 비전
    • 서론
    • 컴퓨터 비전
    • 합성곱 신경망
    • CNN 아키텍처
      • 입력 이미지
      • 합성곱 레이어
      • 풀링 레이어
      • 플래트닝
    • 이미지 어그멘테이션
      • 이미지 어그멘테이션의 장점
      • 실습 19: CNN을 구축해 고양이와 개 이미지 분류
      • 활동 13: 복수 레이어 모델로 변경 및 소프트맥스 활용
      • 실습 20: 시그모이드 활성화 함수로 환원해 모델 변경
      • 실습 21: 최적화를 아담에서 SGD로 변경
      • 실습 22: 신규 이미지 분류
      • 활동 14: 신규 이미지 분류
    • 요약

  • 8장. 학습 이관과 사전 훈련 모델
    • 서론
    • 사전 훈련 세트와 학습 이관
      • 특성 추출
    • 사전 훈련망 미세 튜닝
      • 이미지넷 데이터 세트
      • 케라스가 지원하는 사전 훈련망 몇 가지
      • 실습 23: VGG16 망을 활용한 이미지 식별
      • 활동 15: VGG16 망을 활용해 이미지 식별을 하는 딥러닝 신경망 훈련
      • 실습 24: 이미지넷 데이터베이스에 없는 이미지 분류
      • 실습 25: VGG16 모델 미세 튜닝
      • 실습 26: ResNet을 활용한 이미지 분류
      • 활동 16: ResNet을 사용한 이미지 분류
    • 요약

  • 9장. 순환 신경망을 활용한 순차 모델링
    • 서론
    • 순차 메모리와 순차 모델링
    • 순환 신경망
      • 소멸하는 기울기 문제
      • 폭발하는 기울기 문제 소개
    • 장단기 메모리
      • 실습 27: 유닛(뉴런) 50개 LSTM을 활용해 애플 주가 추세 예측
      • 활동 17: 유닛(뉴런) 50개 LSTM을 활용해 마이크로소프트 주가 추세 예측
      • 실습 28: 유닛 100개 LSTM을 활용해 애플 주가 추세 예측
      • 활동 18: 정규화를 추가해 마이크로소프트 주가 예측
      • 활동 19: 더 많은 뉴런(100개 유닛)을 가진
      • LSTM을 활용해 마이크로소프트 주가 추세 예측
    • 요약

  • 부록

도서 오류 신고

도서 오류 신고

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

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

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

정오표

정오표

[p.330 : 1행]
'3. 공개 주가 정보를 가지고'
->
'3. 시가 정보(Open Price) 정보를 가지고'

[p.332 : 9번 코드, p.339 : 9번 코드]
x 번째 LSTM 레이어와 드롭아웃 정규화 추가
->
x 번째 LSTM 레이어 추가

[p.336 : 6번, p.344 : 6번 ]

[p.336 : 노트 박스]
441쪽에서
->
443쪽에서