알고리즘 구현으로 배우는 선형대수 with 파이썬 - 행렬의 기초부터 텐서를 활용한 머신러닝과 딥러닝 적용까지
장철원 지음 / 비제이퍼블릭 / 2021년 12월
평점 :
장바구니담기


이 글은 출판사에게 책을 제공받아 작성하였습니다.




장철원님의 전작 [선형대수와 통계학으로 배우는 머신러닝 with 파이썬]을 보신분이라면 아시겠지만, 뭐 말이 필요합니까?

그냥 사세요. 너무 광고 같나? 전 출판사에게 책을 받더라도 별로면 그냥 별로다 라고 얘기하는 편(물론 받은만큼 엄청 세게까지는 아니지만... 그래도 나름 얘기하는 편)입니다.


장철원님의 책은 그냥 묻지도 따지지도 않고 사서 보시면 됩니다.


물론 대학원을 준비할정도의 선형대수에 대해 깊이 알고 싶다는 분은 이 책이 아니라 구글에 선형대수 대학원을 검색해서 이론적 지식을 쌓아야죠. 계산연습도 엄청해야하고.


그런데 그게 아니라면, 어느정도 머신러닝을 이해하고 싶긴 한데, 선형대수가 너무 어렵다면 이 정도 수준으로 시작해보시면 어떨까 싶어요. 물론 여기에도 전제가 있습니다. 고등학교 행렬, 정사영 등 고등학교 수준의 수학에 대해서 익숙하다는 가정입니다. 책에서는 행렬의 정의, 연산, 성질 등 매우 기초적인 부분부터 다루지만, 고등학교 수학을 설명하기 위한 책이 아니기 때문에 만약 고등학교 수학 수준이 낯설다면 이 책은 적합하지 않을거 같습니다. 고등학교 강의는 좋은 무료 강의들이 많으니까 공부하면 될거 같습니다.


사실 선형대수를 엄청 많이 공부해야 하나? 라는 의문에 대해서 그렇게 필요 없을 수 없다는 대답이 대다수일겁니다. ML/DL알고리즘의 대부분은 이미 구현되어있고, 라이브러리도 이미 너무 잘 되어있습니다.


사실 가져다 잘 쓰기만 해도 됩니다. 

근데, 가끔 뭔가 왜 그러지? 원리가 뭐지? 하고 그냥 궁금해지는 시기가 있을 수 있으니까. 혹은 논문 좀 볼까? 해보니까 선형대수로 된 수식이 쭉 나와있으면 '아 이 길은 내가 갈길이 아니군'하고 논문 파일을 닫을 때. 그런 때를 대비하면 좋을거라고 생각합니다.


그리고 무엇보다 직관을 키워주기에 우리가 공부해야하지 않을까 싶습니다.

위에서 말했듯이 세부 알고리즘은 이미 훌륭한 개발자분들이 다 구현해주셨습니다. 하지만 상황에 따라 어떤 걸 써야 하고 왜 그런지 설득하는 과정에서 수학적으로 생각을 미리 해놓으면 바로 직관에 따라 접근할 수 있다는 것이죠.


그런 점에서 이 책은 이런 직관을 키우는데 도움이 될거라고 생각합니다.




댓글(0) 먼댓글(0) 좋아요(1)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
Do it! 딥러닝 교과서 - 퍼셉트론부터 GAN까지 핵심 이론 총망라! Do it! 시리즈
윤성진 지음 / 이지스퍼블리싱 / 2021년 10월
평점 :
장바구니담기


보통 딥러닝 교과서/입문서라고 하면 Tensorflow가지고 MNIST돌려보고, Boston House Price 예측하면서 이게 이렇습니다 라고 전개하는 경우가 많습니다.


그런데 이 책은 어떻게 출판사의 반대를 뚫었는지(?!) 세게 나갑니다.

코드를 빼버리고 수식으로 이론으로 정공법을 택한것이죠.


후덜덜합니다. 아는 분은 아시겠지만, 출판사 입장에서는 책을 많이 팔아야 하기 때문에 왠만하면 수식은 빼달라고 요청한다는게 정설입니다. 사실 이해가 안되는것도 아니구요. 그렇지 않겠습니까? 재미로 책 보는 분들에게 많이 팔려면 수식이 최대한 적어야죠. 


그렇지만 이 책은 책 속에는 코드한줄 없습니다. 물론 챕터 마지막에 어떤 사이트를 참고해서 실습해볼 수 있는지 친절히 설명하고 있습니다. (이 책을 이해할 정도라면 이런 안내정도로도 충분하겠죠) 


그렇기에 이 책은 가치 있다고 생각합니다. 머신러닝을 좀 공부하신분들, 혹은 실무 많이 하시는 분들이 가지는 불만 중 하나가 입문서밖에 없고 실제로 볼만한 책이 별로 없다고 많이 하시거든요. (저는 이런 실력자 축에 못끼지만요...)


그리고 그냥 코드 가져다 쓰는거에 지루함을 느낄 때, MNIST돌리는 것에 재미가 없을 때, 수식으로 뭔가 있어보이고 아는척 해보고 싶을 때(<- 제 얘기입니다) 이 책은 빛을 발합니다.


원래 아는척 하고 싶다는 '욕망'이 책을 사도록 하고, 수식을 적어보면서 논리적 흐름을 파악하도록 하는거 아니겠습니까.


사실 이 책에 나온 내용중에 처음 들어보는 용어들도 많이 있어서 낯섭니다. 그리고 사실 거기까지 완벽히 이해한다는 건 대학원 가서 제대로 공부하지 않는 이상 불가능할거 같다는 생각도 듭니다. 하지만 딥러닝에서 자주 나오는 개념을 수학적으로 유도해보는 거 자체는 가끔은(가끔이라는 게 중요) 재밌긴 합니다.


책은 어려운 대신 꼼꼼합니다. 그리고 칼라풀한 그림으로 충분히 친절하게 설명해줍니다(친절하다고 했지 난이도 자체가 쉽다곤 안했습니다). 


코드는 많이 돌려봤고, 혹은 대학원 가볼까 말까 생각중인데 미리 체험 해보고 싶다 하시는 분 중에 이론공부 좀 제대로 해보고 싶은 분이라면 이 책을 한번 체험해보시면 좋을거 같다는 생각이 들었습니다.


물론 꼭 이론을 위해서가 아니라 실무에서 왜 이런 코드를 사용하지? 라는 의문을 갖고 계셨던 분들에게도 추천합니다!


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
파이썬으로 배우는 자료 구조 핵심 원리 - 핵심 개념과 동작 원리로 이해하는 자료 구조
양태환 지음 / 길벗 / 2021년 8월
평점 :
장바구니담기


이 글은 출판사에게 책을 제공받아 작성하였습니다.




개발자가 없어서 못 뽑는 상황이라는 뉴스를 많이 본다. 주변에서도 그런 얘기를 많이 한다.

 

하지만 여기서 말하는 개발자는 웹개발 조금 할 줄 아는 개발자가 아니라 코딩테스트도 통과해야하고, 자료구조나 컴퓨터 과학에 대한 지식이 갖춰지고 실무에 바로 투입되더라도 바로 적응가능한 사람. 이런 사람을 이야기하는게 아닐까 싶다. 그래서 '개발자'가 된다는 건 어려운 일인거 같다.

 

데이터분석일을 하는 내게도 알고리즘과 자료구조는 중요하다. 알고리즘과 자료구조는 효율성과 구현능력을 높여주기 때문이다.

 

그런데 알고리즘과 자료구조 책은 대부분 어렵다. 강의도 어렵다. 쉽게 설명한다고 해도 어렵다. 원래 어렵다.

 

물론 개발 감각을 타고나신 분들은 이런 게 너무 재밌다고 하시는 분들도 계신다. 하지만 뭐 그거는 나같은 사람과 동떨어진 얘기니까.

 

알고리즘과 자료구조 책을 보면 원래 내용이 어려운데 어렵게 서술되거나 혹은 두께가 두껍다. 당연히 중도포기한다.

하지만 취직을 해야하거나 이직을 할 경우 코딩테스트와 면접을 봐야하기 때문에 포기할수도 없다. 

 

이 책은 그런점에서 저자 말대로 징검다리 역할을 해줄 수 있을거 같다.

LeetCode같은 코딩테스트 문제를 풀거나 하지 않는다. 다만 개념에 대해서 최대한 친절히 서술하되 책 두께는 얇게 가져가는 약간의 알포자(알고리즘+자료구조 포기자)를 위한 책이다.






저자는 코드에 대한 자세한 설명과 그림을 통해서 멱살잡고 끌고가듯 설명해준다.

 

하지만 기억해야할 건 원래 내용이 어렵긴 하다. 아니 낯설다고 할까?

원래 어려운 내용도 자주 보고 많이 사용하면 조금은 친숙해지고 쉽다는 느낌을 받는다.

 

하지만 이런 자료구조나 알고리즘을 실무에서 쓸 일은 그렇게 많지 않은거 같다. 그래서 낯설고 그래서 어려워보인다. 

 

괜찮다. 

 

책이 얇으니까. 조금 시도한 뒤에 쉬고 조금 시도한 뒤에 쉬고 

반복해서 보면 언젠가는 친숙해지지 않을까.

 

그리고 친숙해지면 언젠가 그 두꺼운 CLRS도 도전해볼 수 있지 않을까 생각한다.



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
친절한 트렌드 뒷담화 2022 - 마케팅 전문가들이 주목한 라이프스타일 인사이트 친절한 트렌드 뒷담화
김나연 외 지음 / 싱긋 / 2021년 10월
평점 :
장바구니담기


이 글은 출판사로부터 도서를 제공받아 작성하였습니다.




이 책은 예측서라기 보다는 백과사전처럼 그동안의 트렌드를 정리한다고 생각하면 좋겠습니다.

솔직히 인사이트는 별로 보이지 않습니다. 

아니 이렇게 다양한 주제를 '정리'만 한 책에서 인사이트를 발견한다는 자체가 매우 힘든일입니다.


정리만 잘해도 이 책의 목적은 달성했다고 보는데 그런 점에서 이 책은 정리를 잘 해놓은 편입니다.


하루가 다르게 세상은 변화하는데, 직장에 다니고 자기 일을 하다보면 사실 자기 업무분야만 파기에도 시간이 모자라지 않습니까? 물론 소위 성공하셨다는 분들은 시간을 내서 신문도 읽고 세미나도 다니며 자기 업무분야에다 트렌드도 파악했다고 하지만, 보통 사람들은 힘들죠.


그렇기 때문에 이 책이 가치가 있지 않을까 싶습니다. 깊이보다는 넓이가 큰 책이기 때문입니다.


그 말인 즉슨 굳이 처음부터 끝까지 읽지 않아도 괜찮다는 말입니다.

자기가 관심있는 분야만 읽으면 됩니다. 


책을 읽다가 알게된 내용 중 슬픈 내용은 이런 내용이 있었습니다.

취미더머니 파트입니다.

통계청의 발표에 따르면, 2011년 기준으로 직장을 그만둔 이유 중 정년퇴직의 비율은 10.9% 정도였으며 그만둔 나이도 평균 53세였다. 그러나 10년이 지난 2021년 직장을 그만둔 이유 중 정년퇴직의 비율은 7.5%로 불과했다. 게다가 그만둔 나이도 평균 49세로 이전 대비 매우 낮아졌다. 이는 고용이 완전하게 보장되지 않는 사회를 단편적으로 보여준다. 재택근무로 인해 사람들의 몸과 마음은 편해졌지만, 재택근무가 지속되면서 일에 대한 성과는 조직 구성원들에게 더 투명하게 보이기 시작했다. 이러한 근로 분위기는 장점과 함께 자신의 직업 존속에 대한 불안감도 한층 가중시켰다. 
책 p.56

가면갈수록 굉장히 치열한 사회가 올거라는 건 굳이 책을 보지 않아도 체감하고 있었지만 데이터로 보니 더 낙담했습니다. 그렇지만 이런 현실을 받아들이고 이 속에서 어떻게 살아남을지 고민하는게 어른으로서 해야할 일이 아닐까 싶습니다.




댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
다크 데이터 - 보이지 않는 데이터가 세상을 지배한다
데이비드 핸드 지음, 노태복 옮김 / 더퀘스트 / 2021년 10월
평점 :
장바구니담기


이 글은 출판사로부터 책을 지원받아 작성하였습니다. 


출판사에게 책을 지원받았지만 늘 그렇듯, 제가 쓰고싶은대로 쓰려고 합니다.



그러니 데이비드 핸드 교수님의 이야기를 전부 이해한 건 아닙니다. 참고해주시길.


우선 개선했으면 좋겠다는 점부터 말씀드려보자면 43페이지에 이렇게 적혀있다.

한 모집단의 알려지지 않은 특성은 그것이 무엇이든 다크 데이터라고 볼 수 있다(통계학자들은 그런 특성을 매개변수parameter라고 부른다).

통계학에서는 parameter를 보통 매개변수라고 하지 않고 모수라고 이해한다.


영국 통계학회 회장까지 지낸 교수님의 책이고, 책 내용과 번역이 나쁜 편은 아니다. 하지만 이런 부분은 통계학을 전공한 선생님들의 감수를 받으면 더 완성도 있는 책이 나올 수 있다는 점에서 아쉽다.


다음에 개정판을 내거나 혹은 개역판을 내면 통계학 전공하신 선생님께 감수한번 받아주었으면 좋겠다. 번역이 잘 되어있는 편이니 감수하시기도 좋을거라고 생각한다.


그리고 책 본문 내용은 흥미롭다. 보통 데이터 관련 내용을 얘기하면 바로 생각이 드는건 분석 혹은 마케팅과 같은 기법에 대한 내용들이다. 하지만 이 책은 그 이전을 바라본다. 역시 짬에서 나오는 바이브가 후덜덜하다.


아직 쪼렙이지만, 회사를 조금씩 겪다보니 분석기법 때문에 말이 많은 경우가 그리 많지 않았던거 같다. 그보다는 데이터를 어떻게 추출할건지, 어떤 기준을 세울건지, 뽑은게 정확한지와 같은 부분이 핵심 이슈가 되었던거 같다. 


이제 이쪽 업계분들은 다들 하는 소리지만, 알고리즘은 많이 공개가 된 편이다. (당연히 회사에서 쓰는 코드는 공개가 안된다. 그럼에도 불구하고 많이 오픈소스화되었다는 소리다) 중요한 건 데이터다. 결국 알고리즘은 데이터의 분포를 가지고 모델을 만드는 것일텐데 데이터가 엉망이면, 알고리즘이 아무리 최신 논문 기반으로 구현된 알고리즘이라 하더라도 믿을 수가 없다. 


그래서 교수님은 이런말을 하신다.

많은 데이터, 그러니까 '빅데이터'가 있으면 좋긴 하지만 크기가 모든 것을 말해주지는 않는다. 그리고 우리가 모르는 것, 가지고 있지 않은 데이터가 가지고 있는 데이터보다 상황을 이해하는 데 훨씬 더 중요할 수도 있다. 앞으로 보겠지만 다크 데이터의 문제는 단지 빅데이터에서만이 아니라 작은 데이터 세트에서도 생긴다. 그야말로 어디에서나 생기는 문제다.

다크데이터 p.22

쿼리를 돌리고 파이썬을 돌리고 태스크를 마무리했다고 뿌듯해하며 좋아했는데 알고보니 전혀 효과가 없을수도 있다는 얘기.


사실 위에 얘기는 들어봤을만한 얘기지만 아래의 얘기는 그렇게 많이 들어보지 못했을 수도 있다.

일반적으로 시간이 지나면서 정의가 달라지면 수집되는 데이터의 속성도 달라진다. 이는 지난 데이터와의 비교를 어렵게 만들 뿐만 아니라 부정직하다는 비난을 초래할 수도 있다. 이를 명백히 보여주는 예가 실업의 정의다. 정의를 바꾸면 정부의 실적은 훨씬 더 좋아보일 수 있다.

다크데이터 p.104~105

데이터가 한번 수집되면 그게 계속 정확할거라고 보통 가정을 하고 업무를 진행한다. 만약 이런 가정이 작동하지 않는다면 업무를 할 수 없을테니까. 그렇지만 시간이 될 때 한번쯤은 점검해봐야하지 않을까. 계속해서 들어오고 있는 데이터가 혹시 변동될 가능성은 없을까? 기획팀에서 기준을 바꾸자고 하는데 그러면 위험할 수 있지 않을까?


결국 여러 사례를 얘기하시지만, 기준문제다. 기준을 어디로 세우느냐에 따라 보이는 부분과 안보이는 부분이 나뉠 수 있으니까.


그리고 이 책에서 흥미로웠던 부분은 그 유명한 미국 대선 예측 실패 사례에 대한 새로운 이야기였다.

통계학 수업을 듣다보면 거의 무조건 듣게되는 미국 대선 예측 실패 사례. selection bias에 대한 얘기인데 이 책에선 전혀 다른 이야기를 들려준다.


랜던/루스벨트 선거 여론조사의 경우, 전화기가 원인이라는 설명은 널리 알려져 옳다고 알고들 있지만 사실은 틀렸다.

그렇다면 여론조사가 실패한 진짜 원인은 무엇일까?

답은 여전히 다크 데이터에 있지만, 훨씬 더 낯익고 단순한 형태의 다크 데이터다. 그리고 웹 기반 여론조사가 등장하면서 매우 중요해진 문제이기도 하다. 여론조사 요원들이 천만 건의 여론조사 설문지를 우편으로 보냈지만, 수령자의 약 4분의 1인 약 230만 명만이 답변을 했다. 설문지를 받고도 무시해버린 4분의 3 이상의 의견은 다크 데이터가 되고 말았다. 그 의미는 명백하다. 만약 공화당을 지지하는 유권자들이 (예로부터 그랬던 것처럼) 친루스벨트 유권자들보다 선거에 더 관심이 많았다면, 그들은 여론조사에 더 잘 응답했을 것이다. 따라서 여론조사에서는 다수가 랜던을 지지하는 분위기였을텐데, <리터러리 다이제스트>가 파악한 것이 바로 이 왜곡된 견해였다. 이러한 자기 선택 왜곡은 실제 선거가 치러지면서 사라졌다.

다크데이터 p.71

응답률이 중요하다는 이야기는 이 책에서 처음들어봤다. 보통 설문조사를 보면 95%신뢰도, 99%신뢰도를 보지, 응답률이 얼마였는지는 표시도 별로 안해줬던거 같고(했는데 안봤을지도 모르겠지만), 크게 강조되지 않는 부분이었다. 


그런데 응답률에 따라 생각지도 못한 미스가 발생할 수 있다니. 신선했다.


그 이외에도 끊임없이 사례를 들려주시는데 주제는 다크데이터 하나지만, 변주곡을 듣는거 같아 흥미롭고 재미있었다. 깊이 있는 내용이면서도 대중들이 알아들을 수 있는 높이까지 맞추시는 교수님의 솜씨가 돋보였다.


고로 이 책은 추천.




밑줄



p.30~31

과학적으로 중요한 교훈이 하나 있다. 어떤 이론이 데이터에 대해서는 완벽하게 타당할지 몰라도, 데이터는 한계를 지니게 마련이다. 매우 높은 온도나 오랜 시간, 광대한 거리는 담아내지 못할 수 있다. 또한 그 데이터가 수집되었던 한계 너머로까지 적용하려 한다면, 곧 외삽(extrapolation)하려 한다면 이론은 깨지고 만다. 일반적인 경기 조건에서 수집된 데이터로 구축한 경제이론은 심각한 불경기에 들어맞지 않을 수 있으며, 뉴턴의 법칙도 물체가 지극히 작거나 속도가 대단히 빠르거나 다른 극단적인 상황에서는 제대로 작동하지 못한다.


p.58

2017년 12월 29일자 <더타임스>의 다음 기사를 보자. "경찰에 따르면 택시 기사가 승객에게 가한 성폭력 사건 발생 횟수는 3년 동안 20퍼센트 증가했다" 곧바로 그런 범죄가 실제로 더 많이 벌어지고 있으니 이런 수치가 나온다는 생각이 떠오를 것이다. 하지만 다크 데이터에서 비롯하는 다른 이유도 있다. 바로 택시 기사 성폭력 범죄 발생 비율은 그대로인데 범죄 신고 비율이 증가하기 때문인 경우다. 사회적 풍습과 규범의 변화에 따라 이제껏 숨어 있던 다크 데이터가 드러나는 것일지도 모른다. 여기에서 일반적인 교훈을 하나 얻을 수 있다. 만약 어느 시기 동안 수치의 급격한 변화가 일어났다면, 바탕이 되는 현실이 바뀌었을 수도 있지만 데이터 수집 절차가 바뀌었기 때문일 수도 있다.






p.105

공식을 달리하면 그에 따른 효과는 물론이고 인플레이션 지수에 근본적으로 다크 데이터가 생긴다. 계산을 하려면 바스켓에 무슨 품목을 넣을지, 그리고 가격 정보를 어떻게 얻을지 결정해야 한다. 앞서 얘기한 사례들에서 일반적으로 드러났듯이, 우리는 데이터 수집 과정에서 선택을 할 때마다 다크 데이터가 생겨날 위험성을 반드시 알아차려야 한다. 


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