비즈니스 데이터 과학 - 비즈니스 의사결정을 위한 통계학, 경제학, 인공지능의 만남
맷 태디 지음, 이준용 옮김 / 한빛미디어 / 2022년 6월
평점 :
장바구니담기


이달에 접하게 된 책은 <비즈니스 데이터 과학>이다. 한빛 덕분에 다양한 책들을 보게 된다.


우선 시작 부분(14쪽)에서 표기에 대한 안내를 표로 깔끔하게 정리해줘서 책을 읽는데 도움이 되었다.



회귀, 분류, 군집화, PCA, 텍스트 데이터 처리, 트리기반 알고리즘 그리고 마지막으로 인공지능에 대한 기본적인 설명까지 코드와 수식, 이미지를 적절히 넣어서 잘 보여주고 있다. 물론 R을 사용해서 파이썬 기반인 나에게 당혹감을 선물한 것은 덤....이지만, "이 책은 R 사용법을 배우기 위한 책이 아니다....이 책은 데이터 과학을 수행하는 방법에 관한 책이다" 라는 말에 힘을 얻고 읽어 보았다.


1장의 불확실성, 5장의 실험, 6장의 제어라는 제목이 좀 특이하게 느껴져서 그 부분을 먼저 살펴보았다. (나머지 제목들은 너무나 익숙한 제목들이다)


아, 통계에 대한 기본 지식이 없으면 1장부터 읽기가 버겁다^^(그래서 2.4부터 읽고 다시 돌아오기를 권하기도 한다) 먼저 빈도주의 관점에서 불확실성에 중점을 두고 부트스트랩을 이용한 리샘플링, 가설 검정, 거짓 발견 비율(FDR, false discovery rate) 의 조절에 대해 설명해주고, 다음으로는 빈도주의에 비해서는 비즈니스 데이터 과학에서 더 큰 역할을 하고 있으며, 반복적인 시행 보다는 주관적인 믿음을 바탕으로 한 베이지안 추론에 대해서 설명한다.


앞장에서 설명한 회귀, 분류의 경우 과거 데이터에서 패턴을 발견해 내고 있고, 이런 패턴은 미래가 대부분 과거와 비슷하다는 가정 하에서 미래를 예측하는 데 유용하게 사용된다. 그런데 비즈니스나 경제 시스템에서는 현재의 행동이 미래를 바꾸기 때문에 과거와는 다른 미래를 예측할 수 있어야 한다며 [5장 실험]을 시작한다. 반사실적인 예측, 즉 '만일 ~라면'이라는 질문에 대해 대답하길 원한다. 가격을 P0 대신 P1로 변경하면 매출이 어떻게 달라질까에 대해 답하는 문제이다. 이 방법으로 무작위 대조 시험에 대해 설명한다. 다음으로는 두 가지 유사한 상황에 대한 시나리오를 만들어 실험을 한다. "비록 다른 장소지만 두 장소의 처리 전 차이를 모델링 할 수 있드면 처리 후 변화에 대한 인과적 해석을 할 수 있지 않을까?" 하는 가정에서 만든 시나리오(이중차분 분석), 사회보장제도 혜택을 아쉽게 놓치는 사람(처리군)과 간신히 자격이 되어서 혜택을 보는 사람(대조군)의 두 그룹을 만들어 비교하는 시나리오(회귀불연속성 추정)이다. 그리고 마지막으로 '도구 변수'의 개념으로 설명한다.


[6장 제어] 안타깝게도 현실에서는 '실험' 없이 과거 데이터를 기반으로 향후 활동에 대해 결정을 내려야만 한다. 그래서 처리를 설정하는 실험을 하는 대신 과거에 무슨 일이 있었는지를 '관찰'한다. 이 장에서는 어느 정도 믿을 수 있다고 알려진 방법과 원칙, 머신러닝 도구 등을 사용해서 분석하는 방법을 다루고 있다. 조건부 무시가능성과 선형처리 효과, 고차원 교란 조정, 표본 분할과 직교 머신러닝, 이종 처리 효과, 합성 제어 등에 꽤 많은 분량을 할애한다. 이 부분은 사실 좀 더 시간을 두고 다시 읽어봐야 할 것 같다.


마지막으로 한 가지 웃음 포인트는 '인수분해'라고 하는 아련한 단어였다. 얼마만에 들어보는 단어인지^^ 중고등학교 수학 시간에 거의 기계적으로 인수분해를 했었는데, 7장을 시작하며 써있었던 "이 장에서는 각 x에 대한 기댓값을 적은 수의 인수의 합으로 나누는 다양한 인수분해 방법을 살펴본다"는 문구를 읽는 순간 머릿속에 어떤 그림이 그려지면서 머리가 단순해지는 신기한 기분을 느꼈다.

통계에 대한 지식이 없거나 통계용어에 익숙하지 않은 사람들은 [10장 인공지능]을 먼저 읽고 앞부분을 봐도 좋을 것 같다.




댓글(0) 먼댓글(0) 좋아요(1)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
구글 BERT의 정석 - 인공지능, 자연어 처리를 위한 BERT의 모든 것
수다르산 라비찬디란 지음, 전희원.정승환.김형준 옮김 / 한빛미디어 / 2021년 11월
평점 :
장바구니담기


이달에 받은 책은 <구글 BERT의 정석>

마침 자연어처리, 고급자연어처리, 정보검색 등 자연어처리에 관한 과목들을 공부하고 있어서 꼭 읽어보고 싶었다. 


트랜스포머에 관한 이야기가 빠질 수는 없지. 트랜스포머에서 인코더 부분만 가져온 것이 BERT(Bidirectional Encoder Representations from Transformers)이기 때문이다. 트랜스포머의 인코더 부분, 디코더 부분 설명에 이어 BERT 이해하기, 활용하기 부분이 나오고 BERT에서 파생된 모델인 ALBERT, RoBERTs, ELECTRA, SpanBERT가 소개된다. 여기까지가 책의 절반을 차지한다.

'지식 증류'라는 표현은 좀 낯선데 Knowledge Distillation은 낯익다. (많이 쓰는 표현이기는 한데 꼭 이렇게 번역해서 써야만 하는 걸까?) 여기에서 Teacher와 Student 개념이 나온다.


마지막 Part 3은 BERT를 적용하는 단계로서 텍스트 요약, 다국어, 언어별 BERT, sentence-BERT, domain-BERT가 소개된다. 한국어 언어 모델인 KoBERT, KoGPT2, KoBART에 대한 이야기도 나오는데 내가 참고하고 싶었던 부분이 바로 이 부분이라 반가웠다. 비록 소스코드가 제공되기는 하지만 각 내용들에 대한 설명은 반 페이지~한 페이지 정도라는 것은 아쉬움이 든다. 

결과적으로 다루고 있는 영역은 굉장히 다양한데 실제 깊이 알고 싶었던 내용에 대한 설명은 살짝 부족한 느낌이....목차를 보고 기대를 많이 했었는데.^^

자연어처리, 트랜스포머, BERT에 대해 넓게 훑고 싶어하는 사람에게 권한다.  흐름을 이해하고 개념을 잡는 데에는 도움이 될 것이다.



​한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
혼자 공부하는 파이썬 - 1:1 과외하듯 배우는 프로그래밍 자습서, 개정판 혼자 공부하는 시리즈
윤인성 지음 / 한빛미디어 / 2022년 6월
평점 :
장바구니담기


<혼자 공부하는 파이썬> 개정판이 2022년 6월 1일자로 나왔다.



한빛미디어의 "혼자 공부하는" 시리즈는 다른 말이 필요 없다고 생각한다. 말 그대로 '혼자 공부할 수 있게' 만든 책이기 때문이다. 혼자 공부하기 어려워하는 사람들을 위해 '혼공단'이라는 스터디 모임을 하기도 하고(온라인으로 미션을 수행하고 인증하는 형식), 강의 영상도 제공해 준다. 개정 전의 영상도 있지만, 개정 후의 영상도 다시 업로드 중이다. 나처럼 강의로 먹고 사는 사람들은 어쩌라고...ㅋㅋㅋㅋㅋㅋ

개정판의 베타리더에 참여했는데, "정말 입문자의 수준에 맞게, 갑자기 건너 뛰는 것 없이 난이도 조절을 잘 하며 자연스럽게 흘러가는가?"에 초첨을 맞춰달라는 요청이 있었다. 그만큼 입문자, 초보자들을 위해 신경써서 만든 책이라는 얘기다. 도전 문제를 통해 응용실력을 쌓고, 용어노트에 기억해야 하는것들을 메모하며 공부하게 되어 있어서 (혼공단, 강의영상과는 별개로) 입문자들에게 좋은 책이라고 생각한다. 코딩을 배우긴 배워야겠는데, 어떤 언어로 시작해야 할지 망설이는 분에게 첫 언어로 '파이썬'을 권하고, 어떻게 시작해야 할지 모르겠는 분에게 입문서로 '혼자 공부하는 파이썬'을 권한다.


공부하다가 슬럼프가 오면 '혼공단 모집 안 하나?' 기웃거리시고, 기존 버전이라도 틀은 크게 바뀐 것이 없으니 영상을 보면서 다시 마음을 다잡아 끝까지 완공하시기를 바란다. 혼공해냄, 이거 은근히 매력있다.



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
XGBoost와 사이킷런을 활용한 그레이디언트 부스팅 - 캐글 고수에게 배우는 실전 파이썬 머신러닝, 코랩에서 실습 가능
코리 웨이드 저자, 박해선 역자 / 한빛미디어 / 2022년 4월
평점 :
장바구니담기


이번 달에 리뷰하게 된 책은 <XGBoost와 사이킷런을 활용한 그레이디언트 부스팅>이다. 다른 사람 책상 위에 이 책이 있는 걸 보고 "무슨 내용이지?" 하고 궁금했던 차라 반가웠다. 그리고 생계형 번역가꾼이라고 자칭하는 박해선 님이 번역한 책. 초판 1쇄. ^^


서문에 "데이터 과학 전문가, 데이터 분석가, 빅 데이터를 빠르고 정확하게 처리하는 머신러닝 모델을 구축하려는 개발자를 대상으로 합니다. 파이썬에 익숙하고 선형 대수학의 기초를 알고 있으면 이 책을 읽는 데 도움이 될 것입니다." 라고 써있다. 즉, 왕초보를 위한 책은 아니라는 얘기다.


먼저 밑바닥부터 그래이디언트 부스팅 모델을 만들어 보고 나서 빠르고 효율적이라고 하는 XGBoost 라이브러리의 속도감을 실감할 수 있게 해준다. 

Part 1은 선형회귀, 로지스틱회귀, 결정트리(Decision Tree), 배깅, 랜덤 포레스트, 그레이디언트 부스팅을 다루고 있고, 

Part 2에서  XGBoost를 소개한다. 모델을 만들고 튜닝하는 과정이 있다. 

Part 3에서는 XGBoost에 있는 다양한 기본 학습기의 차이점에 대해서 알아보고 적용도 해본다. 선형 기본학습기인 gblinear, 결정트리의 변종으로 드롭아웃 기법을 사용하는 DART(Dropouts meet Multiple Additive Regression Trees), XGBoost 랜덤 포레스트를 소개하고 있다. 성능을 높이는 것은 어떤 경우든 지난한 튜닝의 과정이 필요하네. 기계가 학습을 하는 건지 내가 학습을 하는 건지 모를....(둘 다 학습을 하겠지) 

마지막으로는 XGBoost를 사용해 캐글 대회에서 우승한 캐글 마스터들로 부터 배울 수 있는 노하우를 소개하고 있다. 역시나 새로운 특성을 만들어서 최적의 모델에 적용하는, (시간도 엄청 많이 걸리는데) 그냥 단순히 시간만으로는 해결되지 않는 과정이 있구나. 머신러닝 파이프라인을 구성하는 것까지 해서 책이 마무리된다.


​이전에 보았던 다른 책들 보다 한 단계 더 깊이 들어간 내용을 다루고 있나보다 생각했었지만, 읽다보니 Pandas로 데이터프레임을 처리하는 것이나 원핫인코딩과 같은 기초적인 개념들도 같이 다루고 있었다. 파이썬을 아는 정도라면 머신러닝 입문자도 읽을 수 있을 것 같다.


​이런 부분은 다른 책에서는 보지 못한 부분이라 재미있다.


보면서 살짝 아쉬웠던 건 종이가 너무 얇다는 거... 형광펜이라도 그으면 뒷면에 비칠 것 같아서 그냥 연필만 쓰게 된다.  그래서 전체적으로 책이 얇고 가벼워졌다는 장점도 있겠지만... 


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
fastai와 파이토치가 만나 꽃피운 딥러닝 - 박사 학위 없이 AI를 폼나게 구현하는 법
제러미 하워드.실뱅 거거 지음, 박찬성.김지은 옮김 / 한빛미디어 / 2021년 8월
평점 :
장바구니담기


720쪽이나 되는 굉장히 두꺼운 책이라서 끝까지 다 보지는 못했지만..

"높은 수준의 수학 교육이나 수년 간의 교육이 필요하진 않다, 약간의 상식과 끈기만 있으면 끝까지 읽을 수 있는 책이다." 라는 글에 힘입어 끝까지 나가보기로. 즉, 고등학교 수학 정도 마쳤다면 누구나 공부할 수 있다고 한다.

고등학교 수준의 수학 실력으로 고가의 장비 없이(Colab활용!) 50개 미만의 데이터로도 의미있는 결과를 도출해 내는 것. 딥러닝을 막 시작한 사람들에게 필요한 것 아닐까.


내용 면에서는 이미지, 자연어 처리, 범주형/연속형 데이터 처리부터 밑바닥 부터 딥러닝을 구현하고 성능을 향상시키는 방법, 실무에서 중요한 최신 딥러닝 기술 소개, 딥러닝 연구 논문을 읽는 방법, 윤리적인 측면에 대한 고민까지 광범위하게 다루고 있다. 처음에는 넓은 관점에서 큰 그림을 보고, 서서히 세부적인 것으로 들어갈 수 있도록 구성했다. 사전 학습된 모델을 사용해 가능하면 빨리 자신의 문제에 활용할 수 있도록 유도하는 방향으로 끌고 가므로 질리지 않고 재미있게 공부할 수 있을 것 같다. 앞부분에서 너무 이론이 길어진다든가, 너무 깊이 들어가면 뒷부분까지 끌고 나가기가 어려운데...


실습은 Colab을 이용하면 되니 큰 부담이 없고,

https://course.fast.ai/start_colab#Opening-a-chapter-of-the-book

이 사이트에 접속하면 Colab 사용법 부터 각 챕터마다 담겨 있는 소스코드들을 Colab에서 활용할 수 있는 링크를 볼 수 있다.


이 책을 보고 싶었던 제일 큰 이유는 파이토치로 되어 있기 때문이라는 것인데, 그동안 텐서플로에만 익숙해져 있었는데, 이번에 자연어처리를 공부하면서 파이토치에도 익숙해져야 할 필요가 생겨서이다. 기본 개념을 알고 있으면 몇 가지 문법적인 차이만 배우면 되지 않을까 하는 가벼운 마음으로 접근해 보려고 한다.(그러다 큰 코 다치려나?)



각각의 명령어 라인에 대해서는 책에서 상세하기 설명을 하고 있기 때문에 그대로 따라가다 보면 감을 잡을 수 있겠다. 실제로 학생들을 가르치면서 느끼는 것은 코드를 작성하고 실행하는 것 보다는 "무엇을 위한 코드를 작성할 것인가"를 생각하고 결정하는 것이 훨씬 더 중요하다는 것이다. 내가 해결하고 싶은 문제가 무엇인가가 먼저이고, 그것을 어떻게 해결할까는 그 다음. 해결책에 대한 안내는 여기저기 참 많다. 이 책도 좋은 안내서가 될 것 같다. 또한 이 책에서는 '원동력 접근법'이라는 것을 소개하고 있는데, 실제로 모델을 유용하게 사용하기 위해 먼저 모델의 사용 방식을 고려해 보자는 것이다. 먼저 목표를 고려하고, 목표에 변화를 주는 '레버'를 생각한 다음, 각 레버를 목표로 연결하는 유용한 데이터가 무엇인지 고민하고, 모델을 구축하는 것이다. '원동력 접근법'이라는 것은 2012년에 나왔다는데(10년!) 용어 자체는 처음 들어보고, 내용 면에서는 내가 생각했던 것과 통하는 점이 있어서 흥미로웠다.


책의 구성이나 배치도 읽기 편하게 되어 있고, 각 장마다 있는 결론, 질문지, 추가연구 부분이 생각할 거리를 줘서 나에게는 참 유익했다.




본 글은 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.


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