소개의 글

이 책의 특징

입문자와 비전공자를 위해 기초부터 시작

이 책은 대학에서 수학을 전공하지 않은 인공지능 개발 입문자와 현업 전문가에게 핵심 수학을 알려줍니다. 수식에 많이 사용되는 그리스 알파벳과 고등학교 과정의 수학 기호부터 설명해 누구나 차근차근 수학을 익힐 수 있습니다. 기초부터 출발하지만 데이터 분석과 머신러닝에 필요한 모든 필수 수학을 다루며, 모든 수식은 파이썬 패키지를 활용해 코드로 제시합니다.

머신러닝의 이해에 필요한 핵심 내용만 선별

이 책에서는 선형대수, 함수론, 미적분, 최적화 등 다양한 수학 분야를 다루지만 데이터 분석과 머신러닝에 꼭 필요한 내용만을 최소한으로 선별했습니다. 핵심 내용만 있으므로 이 책에 실린 내용을 충실히 익히면 데이터 분석과 머신러닝 이론을 효과적이고 깊이 있게 공부하는 데 도움이 됩니다. 이해가 되지 않는 부분은 반복해서 공부하시기 바랍니다.

파이썬 구현을 통한 이해와 응용

데이터 분석과 머신러닝은 코드로 알고리즘을 구현하므로 수학 수식만으로 이해해서는 부족합니다. 따라서 이 책의 모든 수식과 알고리즘은 파이썬 코드로 구현합니다. 수학을 코드로 이용하려는 개발자 입장을 고려해 알고리즘 자체를 구현하기보다는 알고리즘이 구현된 넘파이(NumPy), 심파이(SymPy), 사이파이(SciP), 피쥐엠파이(pgmpy) 등의 패키지 기능을 잘 이해하고 자유롭게 사용할 수 있도록 하는 것을 목표로 합니다.

연습 문제

책에서 설명하는 내용을 제대로 이해하고 있는지 확인하기 위해 곳곳에 연습 문제가 있습니다. 모든 연습 문제는 머신러닝의 이론을 설명할 때 나오는 수식의 일부를 미리 풀어보는 문제입니다. 연습 문제를 풀 수 있다면 나중에 나올 복잡한 수식을 쉽게 이해할 수 있습니다

이 책의 구성

1장 수학 기호

  • 수식에 많이 쓰이는 그리스 알파벳을 읽고 쓰는 법을 배웁니다.

  • 머신러닝 교과서나 논문에 자주 사용되는 수학 기호들의 의미를 알아봅니다.

2장 NumPy로 공부하는 선형대수

  • 스칼라, 벡터, 행렬, 텐서의 의미와 기호, NumPy 패키지를 사용하는 방법을 배웁니다.

  • 행렬의 연산과 성질, 그리고 연립방정식을 다룹니다.

3장 고급 선형대수

  • 기하학에서 선형대수가 어떻게 쓰이는지 알아봅니다.

  • 고윳값 분해, 특잇값 분해에 대해 공부하고 어떤 문제에 응용할 수 있는지 공부합니다.

4장 SymPy로 공부하는 미적분

  • 머신러닝에서 자주 사용되는 함수와 그 특징을 알아봅니다.

  • 미분과 적분 공식을 배우고 심볼연산이 가능한 SymPy 패키지를 사용하여 미적분을 하는 법을 익힙니다.

  • 머신러닝에서 자주 사용되는 행렬의 미적분 공식을 공부합니다.

  • 변분법의 개념에 대해 소개합니다.

5장 SciPy로 공부하는 최적화

  • 최적화 문제와 최급강하법을 사용하여 최적화 문제를 푸는 방법에 대해 다룹니다.

  • SciPy 패키지를 사용하여 실제로 최적화 문제를 푸는 법을 익힙니다.

  • 등식 제한조건이나 부등식 제한조건이 있는 최적화 문제를 풀기위한 라그랑주 승수법을 공부합니다.

  • 머신러닝 이외에도 여러 분야에 널리 쓰이는 LP 문제와 QP 문제를 소개합니다.

6장 pgmpy로 공부하는 확률론

  • 확률의 수학적 정의와 빈도주의 및 베이지안 관점에서 확률이 가지는 의미를 공부합니다.

  • 확률분포함수가 어떤 과정을 통해 정의되었는지를 소개합니다.

  • 머신러닝에서 가장 중요한 개념인 조건부 확률과 베이즈 정리에 대해 배웁니다.

  • pgmpy 패키지를 사용하여 확률분포를 구현하고 베이즈 추론을 실행하는 법을 익힙니다.

7장 SciPy로 공부하는 확률분포

  • 확률변수를 사용한 데이터 모형의 개념을 배웁니다.

  • 표본 데이터의 기댓값, 분산의 의미와 분산의 기댓값이 가지는 특성에 대해 공부합니다.

  • 베르누이 분포, 이항 분포, 카테고리 분포, 다항 분포 등의 이산 분포와 가우시안 정규분포, 스튜던트-t 분포 카이제곱 분포, F 분포 등의 연속 분포의 정의와 특성, 그리고 이 분포들이 어떻게 데이터 분석에 쓰이는지에 대해 알아봅니다.

  • 확률모수 모형에 사용되는 베타 분포, 디리클레 분포, 감마 분포를 소개합니다.

8장 상관관계

  • 여러 개의 확률변수가 가지는 상관관계를 어떻게 정의하는지 소개합니다.

  • 가장 널리 쓰이는 상관관계 모형인 다변수 가우시안 정규분포 모형에 대해 알아봅니다.

  • 조건부 기댓값의 개념을 소개하고 머신러닝의 가장 큰 응용분야인 예측에 어떻게 사용되는지 공부합니다.

9장 검정과 추정

  • 데이터가 주어졌을 때 데이터에 기반해 판단하는 방법을 공부합니다.

  • 가장 기본적인 데이터 기반 의사결정인 검정의 개념과 SciPy를 사용한 검정 방법을 익힙니다.

  • 가능도의 개념과 최대 가능도 추정법을 사용하여 확률분포의 모수를 추정하는 방법을 알아봅니다.

  • 모수 추정의 불확실성에 대해 공부하고 베이즈 정리에 기반한 베이지안 모수 추정법을 소개합니다.

10장 엔트로피와 정보이론

  • 엔트로피의 개념을 소개하고 엔트로피가 확률변수가 가진 정보량과 어떤 관계가 있는지 알아봅니다.

  • 크로스 엔트로피와 쿨백 라이블러 발산을 사용하여 확률분포의 유사성을 비교하는 방법에 대해 공부합니다.