본문 바로가기

book

다시 고등수학 (프로그래머, 수학의 뇌를 깨워라!)

요즘 수학관련된 책이 많이 출간되고 있습니다.

그 이유는 무엇일가요? 이 책의 대상은 누구를 대상으로 할까요?

 

1. 들어가며

책의 제목부터 "다시 고등수학" 라는

다시한번 수학의 기초를 배울수 있는 책으로 생각이 됩니다.

어떠한 내용이 담겨있는지 살펴 보려고 합니다.

P. 564으로 조금 두껍게 느껴집니다.

다만 책의 가로.세로 사이즈는 일반 책보다는 조금 작습니다.

 

책은 칼러 재질로 수식 및 증명부분에 색깔표시가 되어 있습니다.

저자분이 책을 보니 이 책 말고 다양한 수학적인 책이 번역되어서 출간되어 있습니다.

다양하게 수학적인 책을 집필하시고 계십니다.

 

다시 미분 적분 : 선형대수, 확률과 통계, 알고리즘의 바탕이 되는 기초 수학

다시 확률 통계 : 확률편 데이터 분석, 마케팅, 비즈니스를 위한 확률 통계 입문서

 

 

 

대부분 이 책을 보게 되거나, 관심이 있는 독자이시면 머신러닝/딥러닝에 관심이 많은 분들이실것 같습니다.

선형회귀를 위해서 일차방정식을 통해서 liner를 그리고, 해당 liner의 최솟값을 찾기 위해서 이차방정식을 사용합니다.
기울기을 구하기 위해서 미분을 사용계산하고, f(x,y)의 값을 찾기 위해서 편미분이라는 개념을 이용합니다.
일반적인 일차방정식 y=xa+b라는 것도 머신러닝에서는 y=wa+b로 달리 표기를 합니다.
(가중치, 절편이라는 다른 표현을 사용합니다.)

로지스틱 회귀를 위해서 지수/로그 함수도 알아야 하고, 
수많은 데이터를 행렬로 구성해서, 효율적인 모델을 만들기 위해서 선형대수도 알아야 행렬연산, 벡터연산을 잘 사용해보고 싶습니다. 확률/통계에 대한 기본 지식도 필요할것 같은 생각이 듭니다.

 

너무 많은 개념들이 무겁게 마음으로 다가옵니다.

이것을 한번에 해결해주는 방법은 없을 것 같습니다.

"저런것을 다 배우고, 알아야지 머신러닝/딥러닝을 할 수 있는것은 아니라고 생각합니다.

회원가입시 비밀번호 저장에 사용되는 암호화 알고리즘을 공부해서 단방향/양방향, 단향향에서도 sha256, hash함수등에 대해서 모두 다 원리를 알지 못합니다."

 

"프로그램에서 binary코드가 컴퓨터에서 동작하는 원리를 몰라도 우리는 멋진 프로그램을 할 수 있습니다.

다만, 어떠한 흐름이고, 무엇이 중요하고, 내가 어떠한 부분이 부족한지 큰 숲에서 멀리 바라볼수 있어야

당장은 아니지만, 차근차근 부족한 부분을 채워 나갈수 있습니다."

 

머신러닝/딥러닝에서 high-level API 오픈소스를(fast.ai, Keras, Scikit-learn등) 이용해서 제공해주는 메소드를 이용해서

멋있는 제품을 만들수 있고, 학습된 모델을 통해서도 좋은 의미있는 결과를 얻을 수 있습니다.

 

하지만, 계속 무언가 조금 더 원리에 대한 이해가 필요할 시점이 오게 되며,  그 시점에 필요한 수학공부를 진행하면 될 것 같고,

기본적인 수학적인 기초를 다시한번 공부하고 책을 보는 것도 좋은 방법 같습니다.

 

 

2. 목차 및 책 내용 살펴보기

머신러닝/딥러닝을 조금더 자유롭게 사용하고 원리를 알기 위해서 다시 수학열풍이 불고 있습니다.

Zero-Base에서 시작한다면, 어떠한 부분을 학습하고, 접근해야 하는지 막막하기만 합니다.

 

수학적인 원리를 다 알아아 할 필요는 없다고 생각합니다.

머신러닝/딥러닝에서 사용되는 수학적인 요소들이 관련 서적에 언급이 되어 있는데, 

전반적으로 실제 필요한 수학적인 요소 및 왜 필요한지 정리되어 있는 책이 필요하실 때는 

아래 책을 추천드립니다. 

국내 저서로 조태호박사님이 일목요연하게 미분이 왜 필요하고, 편미분이 왜 필요하고 등등

딥러닝을 설명하기 전에 아래 수학적인 원리가 잘 정리되어 있는 책입니다. 

 

최근에 개정3판이 나오면서 유트브[조박사의 편안한 딥러닝]

(https://www.youtube.com/channel/UC_LvgzB44dGRvOcQqMzdT4g) 에서도

동영상 강의를 올려주시니, 괌심이 있으시면 영상을 한번 참고로 보시는것도 좋을 것 같습니다.

 

 

머신러닝/딥러닝 학습시, 수학적인 부분이 나오는 부분은 원리를 이해하기 위함입니다.

나오는 수학적인 부분이 어려운 부분은 제 생각에 2가지 장벽이 있지 않을까 생각합니다.

1. 기본적인 원리 (ex : 미분, 행렬등)

2. 수학적인 표시법 (ex : 약속된 수학적 기호)

 

목차를 살펴보면, 기본적인 수학의 명제/증명을 통해서 수학적인 특성을 설명해주며

증명이라는 명제를 달성하기 위한 흐름입니다.

추가로 제가 생각하는 ☞ 머신러닝/딥러닝 연관 있음 을 추가해봤습니다.

틀릴수도 있지만, 참고해보시면 좋을 것 같습니다.

 

 

1장 기하학
1.1 명제와 증명
1.2 도형의 성질

2장 대수학  ☞ 머신러닝/딥러닝 연관 있음
2.1 이차방정식
2.2 복소수
2.3 고차방정식

3장 해석기하학
3.1 도형의 방정식
3.2 부등식의 영역

4장 정수론과 수열
4.1 소수의 성질
4.2 수열
4.3 수학적 귀납법

 

5장 해석학 ☞ 머신러닝/딥러닝 연관 있음
5.1 이차함수
5.2 삼각함수
5.3 지수함수
5.4 로그함수
5.5 미적분 개론

6장 확률과 통계 ☞ 머신러닝/딥러닝 연관 있음
6.1 경우의 수
6.2 확률
6.3 데이터 분석

7장 대학 수학으로 가는 길 ☞ 머신러닝/딥러닝 연관 있음
7.1 벡터
7.2 행렬
7.3 복소평면

책의 구성은 아래와 같이 진행됩니다.

개념 설명, 용어 정리 

   : 이론적인 설명을 충분히 설명합니다. 처음에는 잘 이해가 되지 않는 설명내용도, 시간을 가지고 다시 읽어보면 

     이해가 되어갑니다. (원래 수학이란, 그런 학문같습니다. 숫자로 된 현상을 증명하는 학문이여서 당연한 것 같습니다.)

 

               틈틈히 이렇게 컬럼 형식으로 "수학의 흥미로운 내용/예전 에피소드" 같은 내용이 제공되는데, 

               이해를 위해서 흥미를 제공해주는 내용도 읽어보시면 도움이 많이 되는것 같습니다.

② 수식으로 수학이론 수식 정의

    : 수학적인 형태로 정의를 합니다. 

      이때 수학적인 용어를 많이 접하게 되고, 익숙하게 됩니다.

②의 정의를 증명

      저는 이부분이 좋았습니다. 수학적인 공식을 어떻게 도출하게 되었는지 증명과정을 제공하여서

      조금더 원리를 파악할 수 있게 도와줍니다. (설명을 최대한 자세히, 쉽게 제공하려는 저자분의 의도를 알수 있습니다)

④ 연습문제 / ⑤ 연습문제 해설

   문제별로 해설을 제공하고 있습니다. 문제가 쉬운것 부터 어려운 문제까지 다양하게 제공됩니다.

   문제는 필요시, 풀어보시면 좋을거 같습니다.

 

 

3. 돌아보며

이 책을 읽을때 필요한 것은 시간 같습니다.

모든 책이나, 학습이 비슷하겠지만 급하게 무언가를 빨리 지식을 습득하려고 서두르면, 안될 거 같아서 입니다.

마음의 여유를 가지고 접근하면 충분히 쉽게 설명되어 있어서 원리를 이해할 수 있도록 쉽게 설명되어 있습니다.

 

 

눈으로 보는것도 좋은데, 설명이 쉽게 되어 있어서 종이를 꺼내서 풀고 싶어 집니다.

한번 Quick하게 OverView를 수행하고, 학습에 필요한 것을 진행하시면 좀더 효과가 좋을거 같습니다.

 

원서가 일본책이여서, 우리나라의 고등수학과 많이 순서가 다르거나 할 부분은 없습니다.

수학에서 기본적으로 배워야 할 부분은 비슷한거 같습니다.

 

추가로 해당 책의 원서 저자분이 여러 컨셥의 책을 출간하셔서, 추가 학습이 필요하신 분들은 참고 하시면 좋을거 같습니다.

이책이 딥러닝에 필요한 모든 수학적인 이론을 커버하는 책은 아닙니다. 

하지만, 좋은 밑바닥 기초 공사를 잘해줄 책이라고 생각합니다.

 

PS : 고등학생들에게도 이책을 보여주는 어떤 느낌을지 궁금해졌습니다.

 


추가로 아래 책도 괜찮습니다. 살펴보시고 조금더 편하게 학습하실수 있는 책을 고르시면 될 것 같습니다.

저저님이 다양한 인공지능 책을 출간하시면서

- 딥러닝 파이토치 교과서

- 딥러닝 텐서플로 교과서 

경험하신 머신러닝/인공지능에 필요한 수학적인 내용을 정리해주셔서

보기에 좋습니다.

아래 책의 주요 포맷 및 각 장마다 전달하는 내용정리를 

보시면 도움이 되실 것 같습니다.