Essential Math for Data Science 번역 완료!

작년 말부터 작업해 오던 <Essential Math for Dat a Science> 번역을 드디어 마쳤습니다! 이 책은 데이터 과학과 머신러닝에 꼭 필요한 수학을 소개하고 익힐 수 있는 책입니다. 벡터, 선형대수학, 미적분, 확률, 통계, 그리고 선형 회귀, 로지스틱 회귀, 신경망 훈련을 위한 경사 하강법까지 한 권에 알차게 담았습니다. 각 장의 내용은 다음을 참고해 주세요.

  • 1장은 오랫동안 잊고(!) 있었던 기본 수학을 다시 곱씹어 봅니다. 정수론, 변수, 함수, 거듭제곱, 로그, 자연 상수, 극한, 미분, 편미분, 연쇄법칙, 적분 등입니다. 다루는 개념이 많지만 꼭 필요한 것만 담고 있기 때문에 지루하지 않게 읽을 수 있습니다. 간간히 수학 공식이 나오지만 오래전(!) 다 배웠던 것들이라.. 콜록.. 파이썬으로 식을 계산하여 결과를 확인할 수 있습니다. 특별히 이 책은 기호 계산을 위해 심파이(sympy)를 사용합니다. 덕분에 결괏값이 깔끔하게 딱 떨어지죠.
  • 2장은 무시무시한 확률을 다룹니다. 먼저 확률과 가능도의 차이를 소개하고 오즈 비를 설명합니다. 그다음 결합 확률과 합 확률을 설명합니다. 그리고 조건부 확률과 베이즈 정리가 나옵니다. 커피를 마시는 사람이 암이 걸릴 확률이란 질문으로 언뜻 복잡하게 보이는 조건부 확률을 (모든 사람이 동의하지는 않을 수 있지만) 아주 쉽게 설명해 줍니다. 마지막으로 여러 가지 상황에서 유용하게 사용할 수 있는 이항 분포와 베타 분포를 설명하고 장을 마칩니다.
  • 3장은 기술 통계와 추론 통계를 다룹니다. 둘 사이의 차이점을 간단히 소개하고 모집단과 편향을 설명합니다. 특히 자기 선택 편향과 생존 편향을 예로 들어 설명합니다(네 생존 편향에는 영국 전투기 이야기가 빠질 수 없죠). 이어서 대표적인 기술 통계인 평균, 중앙값, 모드, 분산, 표준 편차를 소개합니다. 특히 분산과 표준 편차는 모집단과 표본의 경우를 나누어 설명합니다. 그다음 정규 분포를 소개하고 확률 밀도 함수와 누적 분포 함수(CDF), 역 CDF를 파이썬으로 계산하는 방법을 소개합니다. 책을 읽다보면 이런 개념이 어디에 사용되는지도 잘 이해할 수 있습니다. z 점수를 소개하면서 기술 통계를 마치고 추론 통계로 넘어갑니다. 추론 통계의 핵심인 중심 극한 정리, 신뢰 구간, p 값을 차례로 설명합니다. 표본이 늘어날 수록 중심 극한 정리가 어떻게 맞아 떨어지는지 확인할 수 있습니다. 단측 검정과 양측 검정을 활용한 가설 검정을 배우고 마지막으로 t 분포를 소개하는 것으로 장을 마칩니다.
  • 4장은 선형대수학을 다룹니다. 추상적이라 늘 헷갈리는 벡터와 선형 변환에 대해 넘파이를 사용해 차근차근 이해도를 높이는 식으로 글을 전개합니다. 이 과정에서 기저 벡터와 선형 종속에 대해 배울 수 있고, 행렬 곱셈을 익히게 됩니다. 넘파이 dot()과 matmul()의 차이도 엿볼 수 있습니다. 넘파이로 행렬식을 계산하는 방법과 행렬식이 기하학적으로 어떤 의미를 가지는지 알 수 있습니다. 이어서 몇가지 특수 행렬에 대한 소개가 이어집니다. 정방 행렬, 항등 행렬, 역행렬, 대각 행렬, 삼각 행렬, 희소 행렬입니다. 역행렬을 이용하여 연립 방정식의 해를 구하는 방법을 배웁니다. 이때 넘파이와 심파이 둘 다 사용해 이를 구현합니다. 마지막으로 고윳값과 고유 벡터를 설명하고 마칩니다.
  • 5장은 선형 회귀를 다룹니다. 먼저 간단하게 선형 회귀를 소개하고 사이킷런을 사용해 토이 데이터셋에서 회귀 모델을 훈련해 봅니다. 그다음 잔차와 제곱 오차에 대해 설명하고 최적의 직선을 찾기 위한 세가지 방법을 차례대로 나열합니다. 닫힌 형식 방정식, 역행렬, 경사 하강법입니다. 이 장에서는 손실 함수의 도함수를 구해 경사 하강법을 파이썬으로 직접 구현합니다. 그리고 과대적합과 분산에 대해서도 배웁니다. 만드는 것에 그치지 않고 상관계수, 통계적 유의성, 예측 구간 등을 사용해 모델을 평가하는 방법을 배웁니다. 마지막으로 훈련/테스트 세트 분할 방법과 다중 회귀를 소개합니다.
  • 6장은 선형 회귀의 짝궁인 분류 문제를 위한 로지스틱 회귀를 다룹니다. 오즈 비, 로그 오즈, 로지스틱 함수를 설명하고 5장과 마찬가지로 경사 하강법을 사용해 로지스틱 회귀 모델을 최적화하는 방법을 설명하고 구현합니다. 분류 모델을 분석하기 위해 널리 사용하는 오차 행렬, 정밀도, 재현율을 소개하고 ROC 곡선과 AUC 값을 사용해 모델을 평가하는 방법을 설명합니다. 마지막으로 클래스 불균형에 대해서 언급하네요.
  • 7장은 신경망을 다룹니다. 은닉층이 하나인 간단한 피드포워드 신경망을 소개하고 각 노드에서 어떻게 계산이 수행되는지 그림과 함께 설명합니다. 그리고 여러 종류의 활성화 함수를 소개하고 장단점과 일반적으로 사용되는 층을 안내합니다. 랜덤하게 초기화된 신경망으로 일단 정방향 계산을 수행하여 출력 결과를 얻는 방법을 보여줍니다. 그다음 랜덤하게 초기화된 가중치를 최적화하기 위해 역전파를 소개합니다. 이를 위해 연쇄 법칙으로 각 가중치에 대한 손실 함수이 도함수를 구하는 방법을 그림과 함께 자세히 안내합니다. 마지막으로 사이킷런이 다층 퍼셉트론 클래스를 사용하는 예제를 소개합니다. 또한 신경망과 딥러닝의 한계에 대해 이야기하면서 끝을 맺습니다.
  • 8장은 이 책의 나머지 장과 사뭇 다릅니다. 이 장은 데이터 과학자로서 어떻게 커리어를 성장시켜야 하는지 조언이 담겨 있습니다. 또한 기존 시장에 대한 비판적 시각도 읽을 수 있습니다. 먼저 정의할 수 없는(?) 데이터 과학을 다시 정의해 봅니다. 어디까지 데이터 과학의 범주일까요? 그리고 데이터 과학의 간략한 역사를 되짚어 봅니다. 이어서 데이터 과학자로서 자신만의 강점을 기르기 위해 SQL, 프로그래밍, 데이터 시각화에 대해 자세히 안내합니다. 백미는 데이터 과학자의 역할에서 주의해야 할 점을 나열한 부분입니다. 직함은 데이터 과학자인데 불량 IT 팀이 되어 버렸나요? 그렇다면 8장을 꼭 읽으세요!

Essential Math for Data Science 번역 완료!”에 대한 4개의 생각

댓글 남기기

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.