jinforea***
2024-06-26

개발자를 구원하는 실용 수학 안내서. 기초 수학부터 회귀 모델, 신경망 그리고 진로 조언까지
과거에는 행렬을 포함한 선형대수학을 꼭 공부하지 않아도 될 거란 착각을 했었는데
요즘 선형대수에 대해 드는 생각은 딱 두 가지입니다.
첫째,
선형대수학 강의를 들으시면서 다 같이 입을 모아 말하셨던 건
"여태까지 코드로 꽤 많이 작성해오면서 한 번도 원리를 모르고 사용하고 있었다"
라는 의견이 많았고, 억지로 외우거나 기계식으로 습득한 분들이 꽤 많았습니다.
물론 저 포함..
이번 1학기를 통해 행렬을 배우고 나니 원리를 외울 필요가 없을 정도로
이해가 잘 되고 자연스럽게 응용하고 발전시킬 수 있었습니다.
둘째,
수학적 원리와 코드가 연결되지 않아
오히려 대수학을 배워도 코드상에서 어떻게 연결해야 되는지 모르겠다는 것입니다
(이건 나만 그랬나..)
어짜피 컴퓨터가 계산할껀데 내가 수학을 굳이 알아야되나??????????
라는 생각이 컸는데,
어떻게 수학도 모른 채 데이터 분석가가 되고 싶다고 말하고 다녔는지 민망한 요즘입니다. ㅎㅎ
이제 딴소리는 넣어두고, 책을 훑어보겠습니닷
기초수학과 미적분을 다루는 1장에서는 고등학교 수준의 기초 수학을 복습해주고 있습니다.
정수론부터 연산 순서, 거듭제곱, 오일러 수, 극한, 미분과 적분의 기초 개념을 복습함으로써
이후에 배울 분야에 대한 기초 지식을 깨우고 있습니다.
범위와 수준은 모두 미적분 2의 교과서 정도로 생각하시면 될 것 같아요!
2장은 기초 확률을 다루고 있습니다.
이 역시 고등학교의 확률과 통계 과목에서 배울 수 있는 내용입니다.
확률의 이해, 확률 계산 방법, 그리고
가장 기초적인 이항분포와 베타분포를 설명하되
간단한 수를 통한 예시로
이항분포와 베타분포를 코드로 표현하는 방법도 자연스럽게 습득하게 됩니다.
3장은 기술 통계와 추론 통계입니다.
개발과 데이터분석에 기초 지식이 있으신 분들이라면 한 번쯤 배웠을 두 가지의 통계 방식이죠
3장에서는 각 통계의 특징과 파이썬에서 그 통계량을 구하는 방법을 배울 수 있습니다
특히 데이터분석에서는 필수적인 t-분포의 개념과,
t분포값이 어떤 것을 의미하는 지 알아야 실제 분석에서 사용할 수 있기에
정말정말~~ 필수적인 내용입니다.
드디어! 4장에서 수학의 꽃 선형대수학이 나왔습니다.
저는 교육과정 상 행렬을 배우지 않았고
학부때도 무슨생각으로 그랬는지 모르겠지만(?)
행렬 계산부터 선형변환, 특수행렬 자체를 한 번에 학습하려니 정말 버거웠습니다...
본 책에서는 계산 자체에 대해 자세하게 다루기 보다는
행렬의 계산 원리와, 실무에서 자주 사용되는
SVM(서포트 벡터 머신), PCA(주성분분석) 등의 분석 방법을
행렬의 개념과 연결지어 이해하고
코드로 풀어나가는 법을 가르쳐주고 있습니다.
개인적으로 강의를 들으며 코드랑 연결짓는 분이 정말 난감하고 어려웠는데
그 부분을 이 "개발자를 위한 필수 수학" 도서 한 권으로 이해하고 보니
생각보다 너무 어렵지 않은 개념이더군요. ㅎ
역시 한 번도 안 해본 것과 한 번 해본 건 학습에서도 차이가 큰 것 같습니다..
5장은 선형 회귀 분석입니다.
회귀 분석에는 선형 회귀 분석과, 로지스틱 회귀 분석이 있는데
기본적으로 가장 큰 차이는
수치형 데이터의 경우 의미 있는 데이터에 대해
선형 회귀 분석을 수행하고,
object형 데이터의 경우 로지스틱 회귀 분석을 진행합니다.
문자열을 가지고 회귀분석을 진행하려면 분석 자체가 불가능하기 때문에
문자열을 수치로 라벨링한 후 분석하는 개념이라고 보시면 될 것 같습니다!
선형회귀의 기본형과 최적의 직선을 찾는 방법,
과적합을 막는 방법, 통계적으로 유의한 계수들에 대한 개념을 알아보고
제일 마지막에는 다중회귀분석까지 훑어보게 됩니다!
선형 회귀 분석을 다뤘다면 로지스틱 회귀 분석도 다뤄야겠죠.
6장에서도 마찬가지로 다변수로 진행하는 로지스틱 회귀,
그리고 로지스틱 회귀 분석 결과값으로 도출되는
R-2(R-sqaured)값, P-값의 의미에 대해 이해하고
관련한 정리인 베이즈 정리에 대해 알아봅니다.
또 로지스틱 회귀 분석에서 빠질 수 없는 ROC, AUC 곡선과
클래스가 불균형한 데이터를 갖고 있을 때 해결 방법에 대해 의논하고 있습니다.
약간의 감동을 받은 8장이었습니다.
저자분께서 개발자와 데이터사이언티스트를
꿈꾸는 독자들을 위한 가이드를 남겨주셨는데,
나만의 강점을 찾는 법,
앞으로 데이터사이언스 직무에서 주의해야 할 사항,
앞으로의 비전에 대한 도움말을 담고 있습니다.
저도 학부때 막연하게 앞으로 데이터 사이언티스트로써
어떻게 나아가야 할 지에 대해 고민이 정말 많았는데
지금은 현업자분들을 많이 만나뵙게 되어 크고 작은 정보들을 많이 얻게 되었어요
비전공자에서 데이터 사이언스, 개발 쪽으로 이직을 생각하시는 분들도 많으실거고
아직 상황이 안되어 주변에서 정보를 얻기 쉽지 않으신 분들이 정말 많으실거라 생각합니다.
그런 분들을 위해 저자분께서 이렇게나마 팁을 남겨주심으로써 도움이 되고자 하셨으니
8장도 꼭 넘어가지 마시고 읽어보셨으면 좋겠습니다!!