“소문난 명강사 ‘김도형’이 데이터 사이언스 입문자에게 보내는 선물 같은 수학 책
선형대수, 미적분, 최적화, 확률론, 검정과 베이즈 추정까지 머신러닝과 딥러닝에 필요한 모든 수학을 한권에!”
이 책은 대학에서 수학을 전공하지 않은 인공지능 개발 입문자와 현업 전문가에게 핵심 수학을 알려줍니다. 수식에 많이 사용되는 그리스 알파벳과 고등학교 과정의 수학 기호부터 설명해 누구나 차근차근 수학을 익힐 수 있습니다. 기초부터 출발하지만 데이터 분석과 머신러닝에 필요한 모든 필수 수학을 다루며, 모든 수식은 파이썬 패키지를 활용해 코드로 보여줍니다. 스타트업 파일을 적용한 파이썬 주피터 노트북 실습 환경도 제공합니다.
(알림 : 독자 여러분이 파이썬 언어에 대한 기초적인 지식이 있다고 가정합니다)
★ 이 책의 특징
[입문자와 비전공자를 위해 기초부터 시작]
대학에서 수학을 전공하지 않은 인공지능 개발 입문자와 현업 전문가에게 핵심 수학을 알려줍니다. 수식에 많이 사용되는 그리스 알파벳과 고등학교 과정의 수학 기호부터 설명해 누구나 차근차근 수학을 익힐 수 있습니다. 기초부터 출발하지만 데이터 분석과 머신러닝에 필요한 모든 필수 수학을 다루며, 모든 수식은 파이썬 패키지를 활용해 코드로 제시합니다.
[머신러닝 이해에 필요한 핵심 내용만 선별]
선형대수, 함수론, 미적분, 최적화 등 다양한 수학 분야를 다루지만 데이터 분석과 머신러닝에 꼭 필요한 내용만을 최소한으로 선별했습니다. 핵심 내용만 있으므로 이 책에 실린 내용을 충실히 익히면 데이터 분석과 머신러닝 이론을 효과적이고 깊이 있게 공부하는 데 도움이 됩니다. 이해가 되지 않는 부분은 반복해서 공부하시기 바랍니다.
[파이썬 구현을 통한 이해와 응용]
데이터 분석과 머신러닝은 코드로 알고리즘을 구현하므로 수학 수식만으로 이해해서는 부족합니다. 따라서 이 책의 모든 수식과 알고리즘은 파이썬 코드로 구현합니다. 수학을 코드로 이용하려는 개발자 입장을 고려해 알고리즘 자체를 구현하기보다는 알고리즘이 구현된 넘파이(NumPy), 심파이(SymPy), 사이파이(SciPy), 피지엠파이(pgmpy) 등의 패키지 기능을 잘 이해하고 자유롭게 사용할 수 있도록 하는 것을 목표로 합니다.
[연습 문제 300여 문항]
책에서 설명하는 내용을 제대로 이해하고 있는지 확인하는 연습 문제 300여 개가 있습니다. 모든 연습 문제는 머신러닝의 이론을 설명할 때 나오는 수식의 일부를 미리 풀어보는 문제입니다. 연습 문제를 풀 수 있다면 나중에 나올 복잡한 수식을 쉽게 이해할 수 있습니다.
★ 이 책에서 다루는 파이썬 패키지
이 책의 코드를 구현하는 데 파이썬 3.7과 다음 패키지를 사용했습니다.
- 아이파이썬(IPython)
- 사이킷런(Scikit-Learn)
- 맷플롯립(matplotlib)
- 넘파이(NumPy)
- 시본(seaborn)
- 사이파이(SciPy)
- 피지엠파이(pgmpy)
★ 이 책의 구성
[0장 파이썬 설치와 사용법]
_ 파이썬과 파이썬 패키지를 설치하고 사용하는 방법을 배웁니다.
_ 데이터 분석에 필요한 파이썬 패키지를 소개합니다.
_ 아이파이썬과 주피터를 사용자에 맞게 설정하는 방법을 알려줍니다.
[1장 수학 기호]
_ 수식에 많이 쓰이는 그리스 알파벳을 읽고 쓰는 법을 배웁니다.
_ 머신러닝 교과서나 논문에 자주 사용되는 수학 기호의 의미를 알아봅니다.
[2장 넘파이(Numpy)로 공부하는 선형대수]
_ 스칼라, 벡터, 행렬, 텐서의 의미와 기호, 넘파이 패키지를 사용하는 방법을 배웁니다.
_ 행렬의 연산과 성질, 그리고 연립방정식을 다룹니다.
[3장 고급 선형대수]
_ 기하학에서 선형대수가 어떻게 쓰이는지 알아봅니다.
_ 고윳값분해, 특잇값분해를 공부하고 어떤 문제에 응용할 수 있는지 알아봅니다.
[4장 심파이(SymPy)로 공부하는 미적분]
_ 머신러닝에서 자주 사용되는 함수와 그 특징을 알아봅니다.
_ 미분과 적분 공식을 배우고 심볼연산이 가능한 심파이 패키지를 사용하여 미적분을 하는 법을 익힙니다.
_ 머신러닝에서 자주 사용되는 행렬의 미적분 공식을 공부합니다.
_ 변분법 개념을 소개합니다.
[5장 사이파이(SciPy)로 공부하는 최적화]
_ 최적화 문제와 최대경사법을 사용하여 최적화 문제를 푸는 방법을 알아봅니다.
_ 사이파이 패키지를 사용하여 실제로 최적화 문제를 푸는 법을 익힙니다.
_ 등식 제한조건이나 부등식 제한조건이 있는 최적화 문제를 푸는 라그랑주 승수법을 공부합니다.
_ 머신러닝 이외에도 여러 분야에 널리 쓰이는 LP 문제와 QP 문제를 소개합니다.
[6장 피지엠파이(pgmpy)로 공부하는 확률론]
_ 확률의 수학적 정의와 빈도주의 및 베이지안 관점에서 확률이 가지는 의미를 공부합니다.
_ 확률분포함수가 어떤 과정을 통해 정의되었는지를 소개합니다.
_ 머신러닝에서 사용하는 중요 개념인 조건부 확률과 베이즈 정리를 배웁니다.
_ 피지엠파이 패키지를 사용하여 확률분포를 구현하고 베이즈 추정을 실행하는 법을 익힙니다.
[7장 확률변수와 상관관계]
_ 확률변수를 사용한 데이터 모형의 개념을 배웁니다.
_ 표본 데이터의 기댓값, 분산의 의미와 분산의 기댓값이 가지는 특성을 공부합니다.
_ 베르누이분포, 이항분포, 카테고리분포, 다항분포 등의 이산 분포와 가우시안 정규분포, 스튜던트 t분포, 카이제곱분포, F분포 등의 연속 분포의 정의와 특성, 그리고 이 분포들이 어떻게 데이터 분석에 쓰이는지 알아봅니다.
_ 확률모수 모형에 사용되는 베타분포, 디리클레분포, 감마분포를 소개합니다.
[8장 사이파이로 공부하는 확률분포]
_ 여러 확률변수가 가지는 상관관계를 어떻게 정의하는지 소개합니다.
_ 가장 널리 쓰이는 상관관계 모형인 다변수 정규분포 모형에 대해 알아봅니다.
_ 조건부 기댓값의 개념을 소개하고 머신러닝의 가장 큰 응용 분야인 예측에 어떻게 사용되는지 공부합니다.
[9장 추정과 검정]
_ 데이터가 주어졌을 때 데이터에 기반해 판단하는 방법을 공부합니다.
_ 가장 기본적인 데이터 기반 의사결정인 검정의 개념과 사이파이를 사용한 검정 방법을 익힙니다.
_ 가능도의 개념과 최대 가능도 추정법을 사용하여 확률분포의 모수를 추정하는 방법을 알아봅니다.
_ 모수 추정의 불확실성에 대해 공부하고 베이즈 정리에 기반한 베이지안 모수 추정법을 소개합니다.
[10장 엔트로피]
_ 엔트로피의 개념을 소개하고 엔트로피가 확률변수가 가진 정보량과 어떤 관계가 있는지 알아봅니다.
_ 크로스 엔트로피와 쿨백 라이블러 발산을 사용하여 확률분포의 유사성을 비교하는 방법을 공부합니다