분야별도서 > 컴퓨터공학 > 인공지능

분야별도서

인공지능

파이썬으로 배우는 머신러닝과 딥러닝
  • 저자천인국
  • 관련분야인공지능, 머신러닝, 딥러닝
  • 발행일2020-02-12
  • 정가30,000원
  • 페이지556 페이지
  • ISBN979-11-85578-60-6
  • 일반자료 소스파일 (Source File)
    정오표
  • 책소개
  • 저자소개
  • 목차
  • 출판사 서평
그림으로 쉽게, 실습으로 확실하게!
파이썬을 이용한 실습환경!

이 책은 인공지능을 처음 배우는 독자라도 쉽게 따라올 수 있을 만큼 수많은 그림과 실습으로 가득하다. 특히 딥러닝 분야에서는 구글이 제공하는 텐서플로우 플레이그라운드 사이트를 이용하여 개념을 쉽게 이해할 수 있도록 하였다. 각 장의 본문 중간중간에는 적절한 실습들이 이어지는데 이것들을 따라 하다 보면 실전에 적용되는 인공지능의 다양한 이론들을 체험하게 될 것이다. 각 Lab의 끝에는 도전 문제를 두어 독자들이 추가로 학습할 수 있도록 하였다.

인공지능은 예전부터 인간의 상상력을 사로잡았던 주제로서 아주 많은 방법이 시도되었다. 이 책에서는 딥러닝을 중심으로 중요한 기술들을 추려서 수록하였다. 인공지능은 무척 매력 있는 주제임에는 틀림없으나 학교에서 가르치기에는 만만치 않다. 그 까닭은 무엇보다 실습하기가 어렵다는 것이다. 학습자들은 실습을 통하여 그 개념을 쉽게 알아갈 수 있는데 인공지능은 그동안 실습환경을 만들기가 아주 어려웠다. 그러나 최근에 파이썬(python)이 인공지능 분야에 많이 사용되면서, 이 책에서는 이 파이썬을 사용하여 실습이 가능한 분야라면 초보적인 코드를 추가하려고 노력하였다. 학습자들은 이 코드를 응용하여 더 확장된 분야에 적용할 수 있을 것이다.

천인국


서울대학교 전자공학과에 입학하여 1983년에 공학사 학위를 취득하였고, 한국과학기술원 대학원에 입학하여 1985년에 전기 및 전자공학과 석사 학위를, 1993년에 박사 학위를 취득하였다. 1985년부터 1988년까지 삼성전자 종합연구소에서 주임 연구원으로 재직하였고, 1993년부터 현재까지 순천향대학교 컴퓨터 공학과 교수로 재직 중이다. 2005년에는 캐나다 UBC에서 방문교수를 지냈다.
저서로는 「스크래치로 배우는 컴퓨팅 사고와 문제해결」(2019, 인피니티북스), 「OpenCV를 이용한 디지털 영상처리」(2019, 인피니티북스), 「Power Java Compact」(2018, 인피니티북스), 「어서와 C++는 처음이지!」(2018, 인피니티북스), 「문제해결과 컴퓨팅 사고」(2017, 인피니티북스), 「문제해결과 컴퓨팅 사고를 위한 스크래치」(2017, 인피니티북스), 「문제해결과 컴퓨팅 사고를 위한 파이썬」(2017, 인피니티북스), 「어서와 파이썬은 처음이지!」(2016, 인피니티북스), 「어서와 Java는 처음이지!」(2015, 인피니티북스), 「어서와 C언어는 처음이지!」(2015, 인피니티북스), 「HTML5+CSS3+JavaScript로 배우는 웹프로그래밍 기초」 (2014, 인피니티북스), 「Power JAVA 2판」(2012, 인피니티북스), 「C++ Espresso」(2010, 인피니티북스), 「Power C++」 (2010, 인피니티북스), 「쉽게 풀어쓴 C언어 Express」(2007, 생능출판사), 「C언어로 쉽게 풀어쓴 자료구조」(2005, 생능출판사) 등이 있다.

CHAPTER 01 인공지능 소개
01 인공지능의 시대
02 인공지능의 정의
   인공지능 vs 기계학습 vs 딥러닝
03 튜링 테스트
   ELIZA
   중국인 방(The Chinese room)
   유진 구스트만
   튜링 테스트의 문제점
04 인공지능의 역사
   인공지능의 태동(1943-1956)
   황금기(1956-1974)
   첫 번째 AI 겨울(1974-1980)
   전성 시대(1980-1987)

   두 번째 AI 겨울(1987-1993)
   AI의 부활(1993-2011)
   딥러닝, 빅데이터 및 인공지능(2011-현재)
05 인공지능은 어디에 필요할까?
   자율주행 자동차
   광고
   챗봇(chatbot)
   의료 분야
   경영 분야
06 파이썬 설치
   아나콘다 다운로드하기
   아나콘다 설치하기
   스파이더
   스파이더의 실행
   스파이더의 대화형 모드와 스크립트 모드
   스크립트 모드 실습


CHAPTER 02 탐색
01 탐색
02 상태 공간의 예
03 탐색 트리
04 기본적인 탐색 기법
05 맹목적 탐색 #1: 깊이 우선 탐색(DFS)
06 맹목적 탐색 #2: 너비 우선 탐색(BFS)
07 DFS와 BFS 프로그램
   보드를 어떻게 표현할 것인가?
   Open과 closed 리스트는 무엇으로 구현할 것인가?
   자식 노드들은 어떻게 생성할 것인가?
   전체 소스
08 경험적 탐색 방법
09 언덕 등반 기법(Hill-Climbing)
   알고리즘
   지역 최소 문제
10 최고 우선 탐색
11 A* 알고리즘
12 A* 알고리즘의 파이썬 구현


CHAPTER 03 게임트리
01 게임 프로그램
   게임 정의
   Tic-Tac-Toe에 대한 게임 트리
02 미니맥스 알고리즘
   틱택토 게임에 미니맥스 알고리즘 적용
   미니맥스 알고리즘의 의사코드
03 틱택토 게임 프로그래밍
04 알파베타 가지치기
   알파베타 알고리즘
   알파베타 알고리즘 실습
05 불완전한 결정


CHAPTER 04 전문가 시스템
01 전문가 시스템
   전문가 시스템의 역사
02 전문가 시스템의 구성 요소
   지식 베이스
   추론 엔진
   사용자 인터페이스
03 지식과 인공지능
   데이터, 정보, 지식
04 규칙
   규칙에 AND나 OR를 사용할 수 있다.
05 전문가 시스템에서의 추론
   순방향 추론
   역방향 추론
06 충돌 해법
07 전문가 시스템의 장점과 약점


CHAPTER 05 지식 표현
01 지식 표현(Knowledge Representation)
02 규칙
03 의미망
04 프레임
   프레임의 장점
   프레임과 객체 지향 프로그래밍
   프레임과 상속
05 논리(Logic)
06 명제 논리
   명제 논리에서의 추론
   모더스 포넌스(Modus Ponens)
   부정 논법(Modus Tollens)
   삼단논법(syllogism)
07 술어 논리
08 술어 논리에서 추론
   정형식
   도출(resolution)
   도출에 의한 증명
09 프롤로그(Prolog)


CHAPTER 06 퍼지 논리
01 퍼지 논리란?
   퍼지 논리를 사용할 수 있는 분야
02 크리스프 집합과 퍼지 집합
   크리스프 집합
   퍼지 집합
   퍼지 집합의 표기 방법
03 퍼지 집합에서의 연산자
   집중화 연산자 CON과 DIL
04 퍼지 추론
   퍼지 규칙
   퍼지 추론의 기본
   퍼지 추론의 과정
   규칙이 여러 개 있는 경우


CHAPTER 07 불확실성
01 불확실성
   불확실성의 예
   불확실성은 왜 발생하는 것인가
   인공지능 시스템에서의 불확실성 처리
02 확률을 이용한 불확실성 처리
   사전 확률과 사후 확률
   베이즈 정리
03 베이즈 정리와 추론
   증거와 가설이 여러 개일 때
   베이즈 정리의 단점
04 확신도
   확신도의 정의
   불확실한 증거를 가진 규칙에서의 확신도
   규칙이 여러 개의 전제를 가지는 경우


CHAPTER 08 유전자 알고리즘
01 자연계에서의 진화
02 유전자 알고리즘
   염색체, 인코딩, 평가 함수
   유전자 알고리즘의 순서도
   선택 연산자
   교차 연산자
   돌연변이 연산자
   유전자 알고리즘
03 유전자 알고리즘의 예제
04 유전자 알고리즘 프로그램
05 유전자 알고리즘의 장단점
06 유전자 프로그래밍
   어떻게 프로그램을 표현할 것인가?
   기본 연산들
   GP 알고리즘


CHAPTER 09 기계학습의 소개
01 기계학습이란?
   기계학습은 어디에 이용되는가?
   기계학습의 역사
02 기계학습의 종류
03 기계학습의 용어들
   특징(feature)
   레이블(label)
   샘플
   학습과 예측
   학습 데이터와 테스트 데이터
04 지도 학습
   회귀(regression)
   분류(classification)
05 비지도 학습
06 강화 학습
07 기계학습의 실용적인 가치
08 넘파이(Numpy)
   리스트 vs 넘파이 배열
   인덱싱과 슬라이싱
   논리적인 인덱싱
   2차원 배열
   arange() 함수
   linspace() 함수
   reshape() 함수
   난수를 생성해보자.
   난수 생성하기
   정규분포 난수 생성


CHAPTER 10 선형 회귀
01 선형 회귀
   선형 회귀 소개
   선형 회귀의 원리
   학습과 손실
02 선형 회귀에서 손실 함수 최소화 방법
   경사 하강법(gradient descent method)
   선형 회귀에서 경사 하강법
   경사 하강법 구현
03 선형 회귀 예제
   선형 회귀를 그래프로 그려보자.
04 과잉 적합 vs 과소 적합


CHAPTER 11 kNN 알고리즘과 K-means 알고리즘
01 kNN 알고리즘
02 kNN 알고리즘
   kNN 알고리즘
   수정된 kNN 알고리즘
03 sklearn을 이용한 kNN 알고리즘 실습
   특징과 레이블
   kNN 학습하기
   새로운 데이터로 예측해보기
04 비지도 학습(K-means 클러스터링)
   K-means 클러스터링의 예
   K-means 알고리즘
05 sklearn을 이용한 K-means 클러스터링
   라이브러리를 포함시킨다.
   데이터를 준비한다.
   데이터 시각화
   클러스터 만들기
06 k를 결정하는 방법
   팔꿈치 방법의 구현


CHAPTER 12 신경망 I(퍼셉트론)
01 신경망
   신경망의 장점
   뉴런의 수학적인 모델
02 퍼셉트론
   퍼셉트론은 논리 연산을 학습할 수 있을까?
03 퍼셉트론 학습 알고리즘
   퍼셉트론 학습 알고리즘
   예제
04 sklearn으로 퍼셉트론 실습하기
05 퍼셉트론 프로그래밍
06 선형 분류 가능 문제
   XOR 연산 학습
   선형 분류 가능 문제
   다층 퍼셉트론으로 XOR 문제를 해결


CHAPTER 13 신경망 II(MLP)
01 다층 퍼셉트론
   활성화 함수
02 역전파 학습 알고리즘
   출력 노드 값 계산
   손실 함수란 무엇인가?
   경사 하강법
03 역전파 알고리즘의 유도
   역전파 알고리즘
   역전파 알고리즘 상세 설명
   체인룰을 사용하자.
   출력 노드의 경우
   결론을 내려보자.
04 구글의 플레이그라운드를 이용한 실습
   에포크
   학습률
   활성화 함수 선택
   문제 유형
   학습 데이터와 테스트 데이터의 비율
   입력 특징 선택
   은닉층 추가하기
   학습 시작
   은닉층 없이 분류 실습
   은닉층을 추가한 실습
05 넘파이를 이용하여 MLP 구현
06 구글의 텐서플로우
   아나콘다에서 텐서플로우 설치하기
   Keras
   Keras 예제 #1
   Keras 예제 #2


CHAPTER 14 신경망 III(딥러닝)
01 딥러닝
   은닉층의 역할
02 그래디언트 소멸 문제
   새로운 활성화 함수
03 손실 함수 문제
   소프트맥스(softmax) 활성화 함수
   교차 엔트로피 손실 함수
04 가중치 초기화 문제
   가중치 초기화 방법
05 미니 배치
06 데이터 정규화
07 데이터 인코딩 기법
08 학습률과 모멘텀
09 과잉 적합의 처리
   드롭 아웃
10 앙상블
11 Keras를 이용한 MNIST 숫자 인식
   숫자 데이터 가져오기
   모델 구축하기
   학습시키기


CHAPTER 15 신경망 IV(컨볼루션 신경망)
01 영상 인식이란?
02 전통적인 영상 인식 시스템의 구조
03 영상 인식과 DNN
04 컨볼루션 신경망(CNN)
   컨볼루션이란?
05 풀링 또는 서브 샘플링
   컨볼루션 계층

06 DNN을 이용한 영상 분류
   완전 연결 신경망 이용
07 CNN을 이용한 영상 분류


2012년 알파고가 내한하여 이세돌을 이기는 바둑 이벤트는 전 세계 사람들에게 큰 충격을 주었으며, 인공지능은 컴퓨터공학에서 가장 떠오르는 분야가 되었다. 딥러닝 알고리즘이 개발되고 2012년에 열린 영상 인식 대회에서 객관적인 방법으로 딥러닝의 우수성이 증명된 이후로 거의 모든 나라에서 인공지능 기술을 미래의 핵심 기술로 개발하고 있다. 인공지능의 역사에서 두 번이나 접했던 AI 겨울을 극복하고 광범위한 빅데이터 수집과 분석을 위한 과학, 고도로 발전한 반도체 집적 그리고 초고속의 처리 기술을 바탕으로 새로운 인공지능의 시대가 열리고 있는 것이다.

이 책은 새로운 인공지능의 시대를 준비하는 필독서로서 컴퓨터, 전자, 정보통신, 기계 등 융합 기술을 전공하는 공학도와 인공지능을 처음 접하는 컴퓨터 비전공자들도 다양한 예제와 실습을 통해 인공지능의 기초적인 개념과 이론을 익힐 수 있다. 인공지능의 기본적인 이론을 빠짐없이 수록하였으며 딥러닝을 포함하여 기계학습을 6개의 장에 걸쳐서 자세히 설명하였다. 딥러닝 분야는 구글의 텐서플로우를 기본으로 고수준 라이브러리인 Keras를 사용하여 실습할 수 있으며, 구글의 텐서플로우 플레이그라운드를 이용하여 체험할 수 있다.