데이터 과학을 위한 통계 - 데이터 분석에서 머신러닝까지 50가지 핵심 개념
피터 브루스.앤드루 브루스 지음, 이준용 옮김 / 한빛미디어 / 2018년 10월
평점 :
절판


후기에 앞서 기술서 리뷰이기 때문에 어떤 사람이 리뷰하는지 명시하는 것이 좋을 것 같아 적어보겠습니다.
  • 리뷰어의 스펙
    • R은 들어보기만 하고 해본 적 없음
    • 통계는 고등학교 때 `확률과 통계`과목 이후로 공부한 적 없음
    • 확률은 `확률변수론`만 2020-1학기 에 공부
이 책의 대상 독자는 어느 정도 R을 다뤄 본 사람이며 사실 나는 알맞은 대상 독자라고 할 수는 없었다. R의 기본적인 문법을 알려주기보다는 통계 이론과 개념들을 알려주며 R에서 어떤 식으로 데이터 분석을 할 수 있는 지에 초점이 맞춰져 있다. 앞서 밝혔듯이 본인은 R 왕초보였기 때문에 처음 R을 설치하고 library를 불러오는 등의 기본 사용 방법에 대해서는 구글링하며 배웠다. 다행히 Jupyter notebook(or lab)에서 R언어도 지원해서 어렵지 않게 코딩 환경(conda virenv)을 만들 수 있었던 것 같다. (R Studio로 하지 않았다.) 따라서 본인처럼 Python으로 Jupyter notebook이 익숙하시고 (R이 아니더라도)조금만 코딩에 익숙한 사람이라면 R의 다양한 기능들을 처음 접해보고 흥미를 가지는데 괜찮을 것 같다.
이 책의 장점은 용어 정리 부분이었다. 통계 분야와 데이터 과학의 용어들을 여기저기서 들어보기만 하고 정리가 안되었었기에 가장 도움이 된 부분이다. 특히 용어들이 한자일 경우 유독 어렵게 느껴지고 친숙해지기 어려운데 통계/확률 쪽 용어들이 대부분 그런 것 같다. 또한 같은 말인데 전통 통계 분야에서 말하는 의미와 데이터 과학 분야에서 말하는 용어가 다르거나, 혹은 그 반대로 말은 똑같은데 각 분야의 맥락에서는 다른 의미인 부분들도 짚어볼 수 있었다.
또한 이론을 따라 가다 보면, 가끔 논점이 흐려지고 이 책의 제목을 까먹을 만큼 목적을 읽어버리기 쉬운데 “NOTE”에서 한번씩 “데이터 과학자”의 입장에서 다시 한 번 짚어야 할 부분을 잡아주기도 해서 좋았었다. “더 읽을 거리” section도 있었는데 각 자료들이 좋아 보였지만 1회독 차에서는 일일이 볼 순 없었다. 자연스럽게 n회독 방향을 잡아주었다.
단점이라면 기술서라면 제공하는 github code가 친절하지 않았다. (사실 이건 R 초보자인 본인에게만 해당하는 말일 수 있다.) 책에는 중요코드 5~10줄 내외로 나와있지만 github에는 대단원의 모든 코드가 한 파일에 다 들어가 있었다. Jupyter lab에서 하나씩 찍어 가보며 공부하는 스타일의 독자에게는 불편한 보기였다. 또한 data load 부분도 좀 더 설명이 있었으면 코드를 좀 더 쉽게 따라 칠 수 있지 않았을까라는 아쉬움도 있었다. 하지만 역설적이게도 원본 repository의 불편한 편집을 하나씩 관찰해가며(R을 이해했다고 할 수는 없기에 ‘관찰’이라 하겠다.) 개인 repository 에 정리하니 R에 대해 이해가 더 잘되기도 했었다.(이에 더해 github정리하는 뿌듯함은 덤..:))
전체적인 책 리뷰 만족도는 4/5인 것 같다. ML/DL에 수없이 많은 분야들 중에 <데이터 분석/과학> 쪽은 매번 넘겨짚거나 들어보기’만’하는 수준이었는데 조금은 흔들리는 초석을 다잡은 느낌(?)이었다.
--이 리뷰는 한빛미디어 “나는 리뷰어다” 프로그램을 통해 작성되었습니다--



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
머신러닝 도감 - 그림으로 공부하는 머신러닝 알고리즘 17 제이펍의 인공지능 시리즈 (I♥A.I.) 21
아키바 신야 외 지음, 이중민 옮김 / 제이펍 / 2019년 12월
평점 :
절판


AI에 대한 호기심은 아마 대한민국 국민이라면 모두 기억하는 알파고 대전 소식부터 시작했다. 그 이후로 당시 수험생이었던 나는 모의고사 문제에서 처음으로 Weight 라던가 layer 라는 개념에 대해 읽었었고 대학을 가면 바로 AI에 대해 공부해보겠다고 마음먹었었다. 당시에 Deep learning=Machine learning인 줄 알았고 Coursera 앤드류 응 교수님의 Deep learning 코스를 공부했었다.
그런데 AI관련 컨퍼런스나 강연들을 들으러 다니면서 Machine learning이라는 더 큰 범위의 방법론들이 존재한다는 것을 알 수 있었다. Random Forest, PCA등 낯선 단어들과 방법론들로 멋진 프로젝트를 하시는 분들의 이야기들을 듣고 공부해야지 생각은 했었지만 딥러닝에서도 폭발적인 연구와 흥미로운 알고리즘들이 쏟아져 나오고 있었기에 딥러닝이 아닌 머신러닝 공부는 점점 미뤄지고 있었다. 그리고 사실 딥러닝보다 좀 더 수학적인 지식이 더 요구되는 머신러닝 기법은 공부하기에 조금 버겁다는 생각이 있었던 것도 사실이다.
그러던 중 책쓰는 프로그래머 협회, 일명 책프협 관계자분들께서 감사하게도 IT 서적 증정이벤트를 열어주셨고 수많은 좋은 책들 목록에서 그동안 생각만 하고 있던 머신러닝 공부를 드디어 해보자는 마음으로 “머신러닝 도감(아키바 신야 외 2저, 이중민 역)”이라는 책을 선택하게 되었다. 그리고 운좋게 당첨도 되었다! 이렇게 머신러닝에도 한 발짝 내딛게 되었다.
생각보다 책이 두껍지 않았다. 그럼에도 처음 책을 받아 목차를 쭉 살펴봤을 때 내가 알고 싶던 내용들이 많이 있다는 걸 알 수 있었다. 책은 크게 지도학습/비지도학습/평가방법/데이터 전처리 과정으로 나누어져 있다. 강화학습에 관련된 내용만 빼고 머신러닝의 큰 구조와 프로젝트를 하는데 있어서 큰 그림을 그리는데에 정말 도움이 많이 된다. 사실 책이 생각보다 얇고 그에 비해 다양한 내용들이 들어가 있기 때문에 개별적인 설명이 조금 부족할 수도 있다. 개인적으로 그런 점이 아쉽긴 했으나, 더 자세하고 부차적인 내용은 충분히 다른 책이나 구글링을 통해 공부할 수 있기 때문에 이 책에서는 다양한 방법론들이 있고 간단한 샘플 코드로 빠르게 파악할 수 있다는 장점을 놓치지 말자. 정말 책 제목처럼 가끔씩 머신러닝 기법을 빠르게 찾고 싶을 때 펼칠 수 있는 ‘도감’으로서의 역할을 잘한다고 볼 수 있다. 한번 1독을 끝냈지만 다시 한번 보면서 책 중간에 자료로 들어갔지만 샘플 코드는 없는 부분들을 한번 작성해볼 계획이다.
다시 한번 좋은 기회로 머신러닝을 공부할 수 있는 기회를 주신 책프협 관계자분들과 이중민님께 정말 감사하다는 말씀을 드리고 싶다. 딥러닝을 공부하다가 머신러닝 세계로 가고 싶은 모든 분들께 입문서로 추천한다.



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
Head First Go - 명확한 예제로 효율적인 학습법을 제시하는 Go 입문서 Head First 시리즈
제이 맥가브렌 지음, 권민재 옮김 / 한빛미디어 / 2020년 3월
평점 :
장바구니담기


프로그래밍 언어가 참 많다.
대학에 들어와서 Python으로 처음 프로그래밍을 해보고 지금까지도 Python만 쓰고 있는 나로써는 다른 언어들에 대한 호기심과 필요성을 어느 정도 인식하고 있었음에도 “아직 Python 실력도 많이 모자른데..”라는 생각과 두려움에 다른 언어를 감히 시작 못했었다. 그렇게 생각’만’하고 있던 프로그래밍 언어들 중에는 Golang도 있었다. Google에서 개발한 언어이고 캐릭터가 귀여워서 눈에 띄었고 컴퓨터 공학도가 아니라서 잘은 모르지만 Python처럼 쉽지만 빠르다고 들었기 때문이다. (또한 어디선가 Go 개발자들의 연봉이 제일 높다는 이야기도 들었던 것 같다.)
그러던 중 한빛미디어의 나는 리뷰어다 프로그램을 통해 4월달 책으로 Head First GO(제이 맥가브렌 저, 권민재 역)을 만나게 되었고 드디어 Python을 잠시 떠나 Go를 시작했다.
500 page라는 압도적인 분량에 기가 죽을 수도 있지만, 책을 열어보면 그림과 코드가 보기 쉽게 크게 나와있어서 생각보다 쉽게 넘어간다. 다른 프로그래밍 입문서와 다르게 ‘여러분의 두뇌를 정복하는 방법’도 알려주고 내용 서술도 대화체로 되어있는데 저자가 뇌의 감성적인 부분을 자극시키기 위해 이렇게 구성했다고 한다. 새로운 프로그래밍 언어를 배우는 독자들을 생각하는 세심한 배려가 느껴졌다. 그리고 책의 구성을 보면 외국책의 냄새가 나는데 이건...어떻게 표현할지 모르겠다. 덕분에 Go를 딱딱하지 않게 배울 수 있었다!
4월 달 리뷰 할 책이지만 사실 책 전부를 다 공부하지는 못했다. 그러나 지금까지 공부한 경험을 토대로 몇 가지 느낀 것들을 정리해보려고 한다.
처음에 어떤 프로그램이나 언어를 사용해보기 위해서 가장 많이 좌절하게 되는 부분이 환경 구축이다. 바로 시작하고 싶은데 시작을 못하게 만드는 걸림돌이 생기는 것은 의욕을 많이 떨어뜨리게 한다. 그런 면에서 책에서는 도입을 Golang을 웹 상에서 실행할 수 있는 playground를 사용해서 하기 때문에 출발이 좋았었다. 단순히 Hello만 찍어보는 것이 아니라 type까지 playground에서 공부하고 넘어가기 때문에 처음 프로그래밍을 해보는 분들에게 프로그래밍의 기본 중 기본인 type까지 머리 속에 잘 남아있을 수 있을 것 같다.
중간에 나오는 연습 문제나 코드 자석 문제들도 이해하는데 크게 도움이 됐다. 사실 어떤 프로그래밍 서적이든 연습 문제로 학습자의 이해와 실행력을 유도한다. 하지만 프로그래밍 초보자들은 문제를 처음 맞이할 때 막상 무엇부터 시작해야 할지 잠시 버퍼링이 생기고 이런 부분에서 학습 흐름을 끊어서 그냥 넘어가거나 책을 덮어 버릴 때도 있다. 그런 어려움을 잘 이해해서 그런지 이 책에서는 코드를 다 쓰게 하기보다는 부분 생략퍼즐처럼 조립식 문제를 내어서 생각의 흐름을 이어갈 수 있게 해준다.
나처럼 Go 언어를 배우고 싶다 생각만 했던 분들에게 망설임 없이 추천하고 싶은 책이다. 외국어처럼 프로그래밍 언어도 생각만 하지 말고 빨리 부딪혀보는 것이 좋은 것 같다. 4월 리뷰 책을 원하던 기술 입문서를 만나 정말 행복했었다. 아직 남은 부분이 많아서 적어도 여름까지는 끝까지 완주할 것을 목표로 Go!



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
창업의 과학 - 스타트업이 반드시 직면하는 모든 문제의 99% 해결법
다도코로 마사유키 지음, 이자영 옮김 / 한빛미디어 / 2019년 12월
평점 :
절판


‘그때 이 책을 만날 수 있었다면, 나와 내가 시작했던 스타트업의 운명이 완전히 달라졌을까?’

-p.306, 마지막으로-


<창업의 과학>을 3월 달의 책으로 함께했다. 이 책은 스타트업 성공 메뉴얼이라기보다는, 스타트 업들이 실패하지 않도록 안내해준다. 오랜시간 동안 수 많은 (소프트웨어 기반)스타트업들을 보고 깨달은 저자의 관찰력이 돋보이는 책을 읽고 나면, 스타트업이 바라봐야 할 대상은 결국 “고객”이라는 교훈이 깊게 남는다. 사실 책의 내용은 (잠시 전문용어들을 빼고 본다면) 이미 우리가 알고 있는 조언과 내용이라고 생각될 수도 있다. 하지만 저자가 말하고 있는 초점을 다시금 생각해보면 배울 수 있는 것들이 많다.


창업과 거리가 먼 나에게 책에서 나오는 PMF(product market fit), 로열티 루프, AARRR 지표 등 용어들이 매우 낯설었다. 그러나 우버나 에어비앤비와 같은 유명한 기업들의 이야기들, 적절한 예시들을 통해 이 용어들이 어떤 의미를 가지고 있는지 잘 이해할 수 있었다. 지금은 우리의 삶과 밀접한 스냅챗, 유튜브같은 기업들도 어떤 ‘올챙이’적(=스타트업) 시절이 있었는지 듣는 재미가 있다. 그들도 충분히 넘어졌었고 다시 일어났던 이야기들을 듣다보면, 자연스럽게 몰입되어 나만의 스타트업을 상상하며 읽기도 했다.


기억에 남는 부분

“스타트업은 당신이 세상을 바꿀 수 있다고 설득한 사람들의 모임이다.”

-P195, 피터 틸(페이팔 창업가)-

책에 중간 회색으로 되어있는 별도 섹션들에서는 스타트업을 같이 할 맴버들에 관한 이야기도 상세히 나와있었는데 이 부분들이 특히나 흥미로웠던 것 같다. 스타트업에게 아이디어도 중요하지만 이것이 다가 아니라는 것을 일깨워준다. 공동 창업자의 중요성과 필요한 맴버의 구성 등과 같이 사람을 바라볼 줄 아는 안목도 적은 인원으로 구성되는 스타트업에게는 중요했다.


책을 읽으면서, 학교에서 디자인 엔지니어링 전공 특강으로 들었던 UX 수업과 KPMG에서 개최했던 아이디어톤 등 프로젝트와 대회 경험들이 많이 생각났었다. 프로젝트나 대회 준비하는 과정들이 스타트업이 하는 일과 매우 유사했다. 대부분 엔지니어/공학도들로 팀이 구성되는 경우가 많아서 그런지 책에서 말하는 기술자들이 범할 수 있는 실수들이 내가 프로젝트를 하며 겪었던 일들과 많이 오버랩이 되는 느낌을 가질 수 있었다.

 

“MVP(minimum viable product)를 세상에 내놓았을 때 부끄럽지 않다면 론칭 타이밍이 너무 늦었다고 생각해야 한다.”

-P218, 리드 호프먼(링크드인 창업가)-

가장 인상깊었던 부분이었다. 엔지니어로서 ‘기능’과 ‘완벽성’, ‘정확도’와 같은 척도에 익숙했기에 부끄러운 아이디어는 항상 내가 스스로 먼저 필터링했었다. 하지만 세상을 바꾸는 아이디어는 ‘언뜻 보면 부끄럽고 어리석은’ 생각들이라는 걸, 책의 여러 이야기들을 통해 깨닫게 되었다. 이제는 필터를 조금은 느슨하게, 내 생각을 벗어난 상상도 해봐야겠다는 생각이 들었다.


권하고 싶은 부분

책에서 말하는 ‘사람(고객)에게 집중하고 문제에 집중하는 것’이 기술 개발을 하는 엔지니어에게도 중요하다.  ‘내가 무엇을 만들어야 겠다.’는 목적성이 큰 엔지니어가 기술에 초점을 더 맞추게 되는 것이 현실이긴 하지만, 이제는 내가 왜 이 기술을 발전시켜야하는지 목적성을 ‘사람에게서’ 찾을 수 있는 엔지니어도 필요하다고 생각한다. 이런 맥락에서 꼭 스타트업을 하지 않더라도, 내가 만드는 것이 어떻게 쓰일 수 있을지 생각해보는 시간이 엔지니어에게 꼭 필요하다고 생각한다. 이 책을 읽고 가상의 스타트업을 상상하며 이런 시간을 가진다면 매우 의미 있을 것 같다.


그리고 저자도 이 책의 페르소나를 정하고 작성했다고 말했듯이, 블로그 작성과도 같은 개인의 컨텐츠 생산하는 관점으로 도움이 되는 부분도 있었다. 당장 이 리뷰를 적으면서도 이 글을 읽는 이 책의 예비독자들은 나의 리뷰에서 어떤 내용을 원하고 어떤 부분에서 매력을 느껴서 이 책을 읽게 될 것인가 한 번 더 생각하게 된다. (물론 당장 이 후기에 내가 비법들을 완벽하게 녹여냈다는 말은 아니다.)


마무리

 

대기업, 스몰 비즈니스, 스타트업의 차이에 대해 하나도 몰랐던 나였지만, 이제는 어렴풋하게 알고 있던 ‘스타트업이란?’이라는 물음에 이제 어느정도 답을 할 수 있을 것 같다. 스타트업은 발명가처럼 자신의 물음과 고민에 열정을 가지고 세상을 바꿀 수 있는 기업이다. 창업을 준비하며 아이디어를 다듬고 있는 분들에게 직접적으로 도움이 되겠지만, 나와 같은 독자들도 오히려 고객의 입장에서 공감하며 읽어보면 재미있을 수 있을 것이다. 위에 소개한 내용들이 조금이라도 궁금하다면 편하게 읽어보는 것을 추천한다.




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