본문 바로가기
CS/MachineLearning

좋은 교과서 - 데이터과학자를 위한 실전 머신러닝

by Diligejy 2023. 8. 23.

 

이 서평은 출판사의 지원을 받아 작성하였습니다.

 

결론부터 말하겠다. 좋은 책이다. 이유는 뭐냐? 어려워서다. 어려워서 좋은 책이라니 무슨 말인가. 

비유하자면 이런거다. 맵지만 맛없는 음식이 있고 매운데 맛있는 음식이 있다. 이 책은 매운데 맛있는 그런 음식과 같다.

 

맵지만 맛없는 음식의 대표적인 예는 번역을 이상하게 하는 경우다. 쉬운 책이든 어려운 책이든 번역을 이상하게 하면 가독성이 안좋아지고 어려워진다. 

 

이 책은 그와 반대로 국내 저자가 썼기 때문에 그런 번역 문제에서 자유롭다. 그리고 다루는 주제를 보면 일반적으로 머신러닝 서적에서 자주 다루는 내용을 다루고 있다. (당연한 이야기이긴 하다. 모든 분야가 그렇겠지만 일반적으로 머신러닝 서적에서 자주 다루는 내용을 실무에서 사용하지, 그렇지 않은 내용을 실무에서 사용하진 않을 거기 때문이다.)

 

하지만 깊이 들어간다. 보통 수식을 하나 넣을 때마다 독자 이탈율이 몇 퍼센트씩 높아지기 때문에 수식은 되도록 넣지 않고 코드만 넣는 것이 출판사 입장에선 판매량을 늘릴 수 있는 방법인데, 이 책은 그렇게 하지 않고 정면으로 승부했다. 그렇기 때문에 이 책은 그리 만만한 대중서적은 아니고 대학교에서 교과서로 활용해도 괜찮을만한 책이다. 

 

지금 이 글을 쓰고 있는 나 또한 사실 이 책을 완독하지 못한 상태다. 저자의 설명을 따라가면서 모르는 내용들을 찾아보고 하다보니 한 쪽 한 쪽 읽는데 오래걸린다. 

 

그렇기 때문에 입문자에게 이 책을 추천하기는 조금 힘들것 같다. 다만, 입문서는 너무 많고(게다가 거의 다 비슷한 내용만 다룬다) 입문서 다음 단계의 책이 부실한 현재에 추천할만한 책이다. 

 

ML 분야에서 필독서로 여겨지는 책 중 하나가 MML(Mathmatics for Machine Learning - https://mml-book.github.io/book/mml-book.pdf)인데, MML과 함께 이 책은 좋은 교과서가 될거라고 확신한다.

 

 

밑줄긋기

p.32

패키지에 따라 표준편차를 정의하는 방식이 다름에 유의해야 한다. numpy는 표준편차 함수 numpy.std()의 기본값이 모표준편차로 지정되어 있다. sklearn 또한 표준편차를 모표준편차로 정의하고, 이에 따라 표준 스케일링 또한 모표준편차를 1이 되도록 피처를 스케일링한다. 반면에 pandas의 표준편차 함수 pandas.DataFrame.std()는 표준편차를 표본표준편차로 정의한다. 이러한 패키지별 차이는 머신러닝 프로그래밍 과정에서 다양한 차이가 생길 수 있다. 예를 들어 학습된 StandardScaler 객체는 피처별 표준편차에 해당하는 scale_ 어트리뷰트를 가지는데, 이 값은 pandas.DataFrame.std() 함수값과 다르다.

 

이와 같은 이유로 표준편차를 사용할 때 패키지별 표준편차 함수 혼용은 지양하는 것이 좋다. 샘플 개수가 늘어남에 따라 모표준편차와 표본표준편차의 차이는 점점 줄어들지만 그럼에도 이러한 혼용은 분석을 왜곡할 위험이 있다.

 

p.44

n x p 차원 행렬 X는 열벡터 x_i (1 <= i <= p)를 이용하여 X = [x_1, ..., x_p]로 나타낼 수 있다. 이때 풀 칼럼 랭크 행렬이란 X의 열벡터가 선형적으로 독립인 것을 의미한다. 즉, 모든 w_1, ..., w_p => R에 대하여 다음 방정식을 만족하는 해는 w_1 = w_2 = ... = w_p = 0 뿐이다.

 

w_1 x_1 + ... + w_p x_p = 0

 

풀 칼럼 랭크 행렬이 아닌 경우 y = Xw의 해는 무수히 많이 존재하고 이 중에서 안정적인 최적해를 탐색할 수 없다. 풀 칼럼 랭크 행렬 조건은 OLS를 적용하기 위한 최소한의 필요 조건이다. 

 

다중공선성은 열벡터 사이의 종속성이 커서 한 열벡터를 다른 열벡터의 선형 결합으로 근사하기 쉬워지는 것을 의미한다. 다중공선성이 커질수록 OLS로 얻은 해는 불안정해져 OLS는 사용하기 부적절한 모델이 된다. 

댓글