상세 컨텐츠

본문 제목

인공지능 100점을 위한 파이썬 수학

전체 출간 도서

by 비제이퍼블릭 2020. 4. 23. 15:17

본문

 

인공지능 100점을 위한 파이썬 수학

부제 고등학교 수학으로 이해하는 인공지능

저자 임성국

 

출간/배본가능일 2020 4 29 

정가 24,000 

페이지 352

판형 크라운판 (173 * 230)

 

ISBN 979-11-90014-86-1 (93000)

 

책 소개 

인공지능 입문자에게 필요한 기초 핵심 학습서

 

인공지능을 만들고, 그것을 활용한다는 것은 그렇게 쉬운 문제가 아니다. 특히 수학적 이해가 제대로 선행되지 않고서는 누군가가 만들어 둔 것을 그대로 사용하는 것에서 더 나아가기 어렵다. 이 책은 고등학교 수준의 수학적 지식을 파이썬과 함께 다루며 인공지능을 향한 첫 걸음을 내딜수 있게 돕는다. 인공지능 학습은 지도학습으로 시작된다. MNIST 손글씨 데이터를 이용해 컴퓨터가 학습한 후 제대로 된 대답을 할 수 있게 천천히 진행한다.

인공지능에 꼭 필요한 수학, 프로그래밍 지식을 익히고 왜 그렇게 되는 지 논리적으로 이해하는 것이 이 책의 목표이다. 파이썬 언어와 numpy의 기초적인 사용법, 인공지능 중 지도학습에 사용되는 수학적 개념을 주피터 노트북의 온라인 버전인 Google Colaboratory를 통해 익힌다.

 

이 책의 특징 

- 어렵고 무슨 말인지 이해되지 않는 인공지능을 쉽게 이해할 수 있다. 
- 고등학교 기초 수학으로 인공지능 프로그래밍을 직접 만들 수 있다. 
- Google Colaboratory를 이용해서 인공지능 프로그래밍을 시작할 수 있다.

 

 

이 책이 필요한 독자 

- 인공지능에 관심이 있는 비전공자
- 인공지능을 공부하고 싶지만 수학적 기초가 부족한 전공자, 현업 종사자
- 프로그래밍을 배워서 직접 가르치고 싶은 교육자

 

독자대상 

초중급 

 

소스코드 다운로드

https://github.com/bjpublic/pythonmath100

 

 

저자 소개 

임성국

가르치는 것과 공부하는 것을 좋아하는 두 아이를 둔 아빠입니다. 아이가 다녔던 대안학교에서 자원봉사로 학생들에게 스크래치와 아두이노를 가르치고, 대학에서 PLC, 전자회로, C언어 등을 가르치고 있습니다. 인공지능전문기업인 ㈜라씨엔블루의 대표이며 누구나 코딩을 배울 수 있어야 한다는 생각에 유튜브에 영상 강의를 올리고 있는 “처음코딩” 채널의 유튜버이기도 합니다. 
인공지능은 종종 모든 것을 열수 있는 만능열쇠처럼 여겨지기도 합니다. 하지만 정작 내부를 들여다보고 조금만 공부해보면 그렇지 않다는 것을 알게 됩니다. 인공지능의 현재의 상태와 미래의 가능성을 계속해서 공부하고 있습니다.


현 산업기술대학교 겸임교수
현 라씨엔블루 대표
유튜브 “처음코딩” 운영자

 

 

목차

베타리더 추천사

 

1 들어가는 말
1-1 입문자를 위한 인공지능
1-2 인공지능의 시대

 

2 미리 알아야 할 것들
2-1 고교수학 기초
2-2 파이썬
2-3 컴파일러와 인터프리터
2-4 파이썬 기초
2-5 코딩교육과 파이썬 기초
2-6 파이썬 설치
2-7 파이썬의 수학 친구 numpy, scipy
2-8
파이썬 matplotlib 설치
2-9 주피터 노트북과 Google Colaboratory (CoLab)

 

3 파이썬 기초 문법
3-1 주석
3-2 변수
3-3 산술연산
3-4 자료구조: 리스트, 튜플, 딕셔너리
3-5 조건문
3-6 반복문
3-7 함수
3-8 클래스와 객체
3-9 numpy 패키지의 사용
3-10 matplotlib를 이용한 그래프

 

4 MNIST 기초이해
4-1 MNIST DataSet 구성
4-2 MNIST 화면 출력

 

5 퍼셉트론과 XOR
5-1 인공지능 연구의 역사
5-2 머신러닝의 분야
5-3 퍼셉트론과 뉴런
5-4 퍼셉트론으로 논리연산자 만들기
5-5 다층퍼셉트론

 

6 신경망
6-1 인간의 신경세포, 뉴런
6-2 인공신경망(ANN, Artificial Neural Network)
6-3
퍼셉트론과 논리게이트
6-4 신경망의 수학적 이해
6-5 활성함수

 

7 영상과 MNIST
7-1 영상의 이해
7-2 디지털과 아날로그 신호
7-3 샘플링과 양자화7-4 MNIST 특징
7-5 MNIST에서 사진 가져오기

 

8 MNIST와 신경망의 입력과 출력
8-1 행렬식의 이해
8-2 행렬의 계산과 선형대수
8-3 행렬계산식의 수학적 이해
8-4 행렬계산을 위한 파이썬 코드
8-5 신경망 데이터의 행렬 특징

8-6 무작위 데이터로 신경망함수 만들기

 

9 항등 함수와 소프트맥스 함수
9-1 항등함수(identity function)
9-2
비례확률함수
9-3 소프트맥스 함수

 

10 손실함수
10-1 손실함수의 개념
10-2 평균, 중간값, 표준편차, 분산의 이해
10-3 평균제곱오차
10-4 크로스엔트로피오차(CEE)

 

11 경사와 미분
11-1 미분의 수학적 정의
11-2 수치미분
11-3 편미분
11-4 게임 캐릭터는 N 차원
11-5 2차원 함수의 그래프와 편미분
11-6 편미분 프로그래밍 코드
11-7 np.nditer
11-8
신경망 계산 과정에서의 미분 이해
11-9 네트워크변수의 편미분값인 기울기
11-10 nditer
편미분 코드
11-11
경사하강법

 

12 순전파
12-1 MNIST 데이터 입력
12-2 함수 정의
12-3 프로세스별 클래스 생성
12-4 네트워크클래스 생성
12-5 미분을 이용한 학습과 검증
12-6 학습 후 정확도 테스트

 

13 오차역전파
13-1 계산그래프
13-2 시그모이드 함수의 기울기
13-3 Softmax Cross Entropy Error
13-4
활성함수 Relu 클래스
13-5 Affine 클래스
13-6 오차역전파를 사용한 MNIST 학습

 

맺는 말
부록
찾아보기

 

 

출판사 리뷰 

프로그래밍을 위해선 수학적인 사고가 필요하다. 논리적인 구조를 이해하고 틀을 만들기 위해서는 지금까지 큰 어려움 없이 프로그래밍을 해왔을지 몰라도, 결국 수학적인 지식과 논리 이해가 필요해 공부를 다시 시작하거나 정보를 찾아본 사람들도 많을 것이다.
이 책은 그런 사람들을 위해 파이썬과 Google Colaboratory를 이용한 인공지능 프로그래밍을 고등학교 교육 과정 수학에 맞춰 다룬다. 해당 개념이 선행되지 않은 사람들에게는 기초를 다질 수 있는 책이 될 것이며, 프로그래밍을 좀 더 깊이 이해하고 싶은 사람들에게도 튼튼한 기반이 될 것이다.

 

관련글 더보기

댓글 영역

  • 프로필 사진
    안녕하십니까? 책을 잘 읽고 있습니다.
    오탈자나 책 내용에 대한 문의를 어디에 해야 할 지 몰라서 댓글로 문의 드립니다.
    1. page 109, 표 5-12에서 입력값이 왜 5줄(row)인가요? 그 전까지는 전부 4줄이었는데...
    2. page 202, MSE는 Mean Squared Error가 맞는 것 같습니다.
    위키(https://en.wikipedia.org/wiki/Mean_squared_error)를 찾아본 결과입니다.
    • 프로필 사진
      2020.10.28 10:14 신고
      안녕하세요, 비제이퍼블릭입니다.
      도서 이용에 불편을 드려 죄송합니다.

      1번의 표는 총 4행이 맞으며, 편집 오류로 5번째 행이 들어간 걸로 확인 됐습니다.
      2번의 MSE의 용어도 재쇄 출간 시 수정하도록 하겠습니다.

      오탈자 제보 감사드립니다.
      건강하고 즐거운 하루 되세요.
  • 프로필 사진
    안녕하십니까?
    책 page 254, 밑에서 세번째 줄, for Loop내부에 다음과 같은 부분이 있습니다.
    x -= lr*grad

    위 문장은 "x = x - lr*grad"와 같은 것으로 이해되며, "x = x - lr*grad"로 바꿔 실행해도 결과는 같습니다.

    그런데, 책 Page 247의 밑에서 6번째 줄에 있는 식을 보면 다음과 같습니다.
    변숫값 = 변숫값 - 기울기 * 학습률 * 변숫값

    Page 254의 문장 "x -= lr*grad"는 위 Page 247의 식을 놓고 본다면 잘 못된 것이 아닌가요?
    "x -= lr*grad"를 Page 247의 식대로 고쳐("x = x - grad*lr*x") 실행하면
    x[0]와 x[1]이 수렴하지 않고 이상한 그래프가 나옵니다.

    Page 247의 식(변숫값 = 변숫값 - 기울기 * 학습률 * 변숫값)과 달리
    Page 254에 "x -= lr*grad"가 쓰인 이유는 무엇인가요?
    Page 247의 내용과 Page 254의 내용이 서로 다른 것 같은데,
    제가 잘 못 이해했다면 (결국, 수렴하는 것이 맞을 것 같으므로...) 설명을 해 주시면 감사하겠습니다.
    내용이 잘 못 된 것이 있다면 (Page 255, 수렴 부분을 포함하여) "설명과 Script의 정정" 부탁드립니다.
    • 프로필 사진
      2020.10.30 11:07 신고
      안녕하세요 독자님. 문의하신 내용을 저자님께 전달드렸습니다.
      답변이 오는 대로 댓글로 안내드리겠습니다. 감사합니다.
  • 프로필 사진
    2020.11.18 16:38
    비밀댓글입니다
    • 프로필 사진
      2020.11.18 17:55 신고
      안녕하세요. 독자님.
      문의에 대한 답변이 늦어진 점 사과드립니다. 현재 저자님께 답변이 오지 않은 상태입니다.
      내일 다시 연락드려서 확인하도록 하겠습니다. 금요일 전까지는 답변드릴 수 있도록 노력하겠습니다. 감사합니다.
    • 프로필 사진
      2020.11.20 17:40
      비밀댓글입니다