개발자를 위한 필수 수학 - 기초 수학으로 시작하는 데이터 과학 첫걸음
토마스 닐드 지음, 박해선 옮김 / 한빛미디어 / 2024년 6월
평점 :
장바구니담기



빅데이터, 인공지능을 공부하다 보면, 항상 걸리는 부분이 수학이다. 전에는 프로그램 개발하는 데, 수학 몰라도 크게 힘든 부분이 거의 없었다. 개발에 걸림돌은 업무나 기술에 대한 이해였지, 수학적인 능력은 아니었다. 내 경우 여러 개발을 해왔지만, 총합이나 평균 정도가 가장 많이 사용된 수학이었고, 좀 복잡한 경우 벡터와 미적분 정도였다.


그런데 인공지능을 공부하면서 이 정도의 수학 지식으로는 터무니 없이 부족하다는 생각을 하게 되었다. 물론 인공지능이나 빅데이터를 하는데 있어, 수학 때문에 프로그램 개발을 못하는 것은 아니다. 하지만 수학을 모르면, 왜 이렇게 해야 하는지 제대로 알지 못한다. 남이 하는 거 따라 할 수는 있어도 구체적인 방향을 제시하기 어렵고, 문제가 생겼을 때, 해결하기도 어렵다.


그런 만큼 인공지능 관련 서적을 볼 때마다, 잘 모르는 수학들이 나오면, 어떻게든 알기 위해 신경을 쓰고 있다. 그렇지만, 좀처럼 수학 실력이 늘지 않는다. 매번 단편적으로 수학을 공부하다 보니, 연결성이 떨어져, 볼 때마다 항상 새롭다는 기분이다. 자주 봐왔던 베이즈 확률도 그렇고 통계 공식, 회귀 분석 등이 다 그렇다.



그래서 느낀 게 인공지능이나 데이터 과학에 관련된 수학을 집중적으로 공부할 필요가 있다는 것이다. 그래서 보기 시작한 책이 토머스 닐드의 '개발자를 위한 필수 수학'이다. 제목만 보면, 대학에서 배우는 전산 수학을 말하는 건가 할 수 있는데, 이 책을 좀 자세히 이해하기 위해 원제를 보면, 'Essential Math for Data Science'으로 데이터 과학에 관련된 수학을 보다 중점적으로 다룬다는 것을 알 수 있다. 당연히 머신러닝과 같은 인공지능 쪽에도 필요한 수학을 익힌다.


기초수학과 미적분, 확률, 기술 통계와 추론 통계, 선형대수학, 선형 회귀, 로지스틱 회귀와 분류, 신경망 이렇게 7개의 장으로 필수 수학을 배우고, 마지막 8장에 데이터 과학 실무 관련 조언을 담고 있다.



'개발자를 위한 필수 수학'에 나온 수학을 살펴보면, 중고등학교 시절, 대학 때 배웠던 것들도 나오고, 전혀 배우지 못한 수학들도 나온다. 복잡한 공식과 각종 수식이 나오다 보니, 부담이 되는 사람들도 많겠지만, 어디까지나 필수 수학을 다루고 있는 만큼 난이도가 높지는 않다. 쉬운 것들부터 다루고, 설명 또한 자세하다. 아울러 그래도 이해가 안 되는 사람 또는 보다 깊은 이해를 원하는 이를 위해, 저자가 참고 서적과 사이트 링크 같은 것들을 참 다양하게 알려 주고 있다. 부록의 보충 학습도 그냥 지나치면 안 되는 도움 되는 내용들을 많이 담고 있다.



더군다나 이 책을 옮긴 박해선 역자 또한 읽는 이를 위해 큰 도움을 주고 있다. 곳곳에 옮긴이의 주석을 달아서, 최근의 정보도 담고, 우리나라에 맞는 용어 설명, 추가 추천 서적, 추가 설명 등을 하고 있다. 이러한 역자의 노력은 책의 가치를 더욱 높여준다고 생각한다. 이러다 보니, 개인적으로 박해선 역자가 옮긴 책을 더 선호하고 있다.


'개발자를 위한 필수 수학'을 통해 데이터과학이나 AI에 필요한 수학을 배운다는 점도 중요하지만, 이 책에서는 단순히 수학만 알려주고 있는 것은 아니다. 수학 이론을 어떻게 파이썬으로 코딩하는지 수학 문제마다 익히게 된다. 파이썬과 함께 넘파이, 사이파이, 심파이, 사이킷런을 사용해서 코딩하고 있다. 이를 활용한 코딩 관련된 노하우도 이야기하고 있고, 사용 이유나 차이점 같은 것도 알려 주고 있어, 바로 코딩 능력을 향상하는 데도 도움 된다.


중요한 또 한 가지는 저자의 실무 경험을 통한 각종 조언들이 곳곳에 담겨 있다는 점이다. 3장부터 이러한 조언들이나 견해가 내용 중간중간에 나오기 시작해서, 끝 파트인 8장에는 구체적인 사례와 함께 이야기되고 있다. 책 중간에 나오는 내용들은 텍사스 명사수 오류와 같이 데이터 분석의 오류나 편향을 예방하기 위한 것들이다. 일반 수학 책에서는 수학 설명만 다루다 보니, 이런 실무적인 것은 알기 어렵다. 통계나 분석을 적용하기 위해서는 이런 지식은 꼭 필요하다.



8장에서는 데이터 과학자, 빅데이터 관련 일을 하고자 하는 사람들에 대한 조언들이 나온다. 내용들이 매우 구체적이다. 경영진 설득이 필요한 상황, 어떤 때 일을 맡지 않고 도망쳐야 하는지, 데이터 사이언스 업계의 상황과 전망, 구인 상황, 필요한 능력 등이 자세히 나온다.



공부를 했으면, 문제를 풀어 보는 것은 당연한 과정일 것이다. 특히 수학이라면 더욱 필요하다. 그래서 그런지, '개발자를 위한 필수 수학' 뒷부분에 워크북이 별책 형태로 붙어 있다. 연습문제를 풀어보며, 배운 것을 체크해 볼 수 있게 되어 있다.


데이터 과학 또는 인공지능을 공부하는 사람에 있어, '개발자를 위한 필수 수학'은 어떤 수학을 공부해야 하는지 명확히 알려주고, 자신의 실력 수준이 어떤지 종합적으로 점검할 수 있게 해준다. 나 역시도 술술 익히는 파트도 있었지만, 한 페이지를 제대로 나가지 못하는 곳도 많이 있었다.

수학 능력치를 올려주는 것 뿐만 아니라, 코딩과 데이터 사이언스에 대한 시야도 넓혀주는 책이다. 수학 때문에 고민인 프로그래머가 있다면, '개발자를 위한 필수 수학'을 적극 추천해 본다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo