처음 배우는 머신러닝 - 기초부터 모델링.실전 예제.문제 해결까지
김승연.정용주 지음 / 한빛미디어 / 2017년 10월
평점 :
절판


그냥 지나갈 뻔 했는데, 사이트의 리뷰 시스템에서 별점을 굳이 주라고 하니까 다시 생각된다.

인공지능, 머신러닝 관련해서 몇 권을 훑어봤는데, 그 중에서 흡수력, 구성면에서 제일 낫다. 역사를 다루고, 자세하게 들어가는 건 몇 개 더 있는데, 2천 몇 페이지 그거 다 읽을 시간 없다. 그리고, 그거 다 읽고서 내 것으로 만들어서 논문 쓸 일 없다. 이게 제일 최적이다.


일단, 개인적으로 문서 관련 부분을 제대로 다뤄주니 좋았고, 실무에서 쓰던 사람들이 집필한 책이라는 느낌이 들어서 좋았다.

실무자들이 집필했기 때문에 내가 바로 써먹는 건 한계가 있겠지만, 그들이 어떻게 썼다는 흐름만 이해해도 내게는 이득이다.

특히 이론 다 설명해놓고서 Ch. 8의 문제점 해결하기 를 제시하는 것은 현업에서는 주로 디버깅이나 문제 해결에 노력이 쓰인다는 면에서 가려울 때 제대로 긁어주는 느낌이다.

 

항상 책에 나온 수식과 선이 연결된 복잡도가 있을 때에 특히 소프트웨어로만 된 경우에는 실제 복잡도는 그것의 100배에 해당하는 것이라고 머리 속에서 확장을 해서 봐야 한다.

3 * 3 정도로 표시가 되어 있다고 하면 기본으로 30 * 30 정도의 복잡도를 고려해야 할 것이다. 이것을 잊어버리고 하다보면 처음에는 손쉽게 여기면서 하찮게 여길수도, 나중에는 의외의 복잡도에 놀라서 스스로 실망하게 될 수도 있다. 항상 어느 정도의 각오는 필요하다.

 

손실함수 (Loss Function) 의 정의는 품질손실을 '제품이 다음 공정이나 소비자에게 출하된 뒤에 성능특성치의 산포로 인하여 사회에 미치는 재정적인 손실' 로 정의할 때 이러한 손실이 화폐단위로 측정되고 수량화할 수 있는 제품특성이나 관리방법을 평가할 수 있는 함수라고 대한상공회의소 홈페이지에 이렇게 나온다.

손실함수라는 개념은 새로운 것도 아닌데, 왜 나는 생전 처음보는 걸까? 그만큼 이 쪽하고는 인연이 없었다는 거다. 단어 설명은 최적화 쪽과 관련되는 것 같은데, 단어 자체는 이 책에서 처음 본 인연이다. 이미 봤었는데, 잊고 있었던 건가? 뭔가 비어있는 느낌판타지 속의 망각 저주, 존재 소멸 마법 같은 게 이런 느낌이려나?

 

이 책의 미덕은 아무리 생각해봐도 이론과 구현의 분리이다. 이론을 직접 구현하는 쪽과 연결해서 보여주면 당장에 좋을 것 같기는 한데, 이론에서 이론으로 양상을 전개해가는 면에 있어서는 흐름이 뚝뚝 끊기게 된다. 예전에는 이론 한 꼭지 보여주고, 그것을 어떻게 구현하는가에 대해서 코드 보여주고, 다음 것을 또 그런 식으로 진행하는 식으로 써오곤 했다. 그리고, 대학 교수님들 교재 같은 경우에는 순전히 이론과 수식만 들어가고 아예 구현부는 빠지든지 그리 정확하지도 않은 Pseudo Code 2~3 개 정도 들어가고 땡. 이기도 했다.

 

각 장별 연관성이 다음과 같이 층위를 가지는 형태라서 몇 번 읽고 나서는 결국에 이렇게 다시 읽게 된다.

1 - 2 - 3 - 9 - 8

           4 - 10

           5 - 11

           6 - 12

           7 - 13

     4 - 5 - 6 - 7

 

각 주제별로 따로 잡고서 주제 1, 이론, 실습주제 2, 이론, 실습, … 의 순서로 엮인 책과 비교한다면 각각의 장단점이 있을 것이다. 그런데, 머신 러닝과 관련된 부분들이 너무 넓은 영역을 감당해야 한다. 그렇기 때문에 작업자는 균형 잡힌 시각을 가지고 있다가, 나중에 써먹어야 할 때가 오면 해당 분야에 가장 적합한 방법을 취사선택해서 가져올 수 있어야 할 것이다.

 

만약 Part 2 - 이론, Part 3 - 실전을 분리해놓지 않고 각 주제에 대해서 하나로 놓았을 때에도 나는 이것을 미덕이라고 했을까?

편집과 내용이 거기에 맞춰서 납득이 간다면 좋아했을 수 있지만, 지금 이 책의 구성을 보고 난 다음이라 이론별-구현별 구분된 방식이 더 납득된다.

 

읽은 사람의 수준에 따라 편차가 있을 수도 있지만, 수식의 내용이나 형식 등도 너무 번잡하지 않고, 너무 간단하지 않은 적당한 상태이다.

 

머신러닝의 내용에 대해서 알면 알수록,

, 사람은 덜 수고하고, 기계를 고생시키는 노가다의 결정체이구나.” 라는 생각을 하게 된다.

겸사겸사, 일에 대한, 비즈니스에 대한 관점을 바꿔보게 된다는 덤도 있다.


댓글(0) 먼댓글(0) 좋아요(4)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
파이썬 라이브러리를 활용한 머신러닝 : 사이킷런 핵심 개발자가 쓴 머신러닝과 데이터 과학 실무서
안드레아스 뮐러.세라 가이도 지음, 박해선 옮김 / 한빛미디어 / 2017년 7월
평점 :
구판절판


[서평] 파이썬 라이브러리를 활용한 머신러닝


이 책은 기계 학습 전반에 대해 알려준다. 주된 주제는 '사이킷런' 이라는 파이썬 라이브러리를 이용하여 직접 실습을 통해 기계 학습의 결과를 체험할 수 있게 해준다.

유명하신 알파고 사촌 텐서플로우도 아니고 이렇게 이마에 달고 나와도 되나? 하고 알아봤더니 언어별로 갈려있는 플랫폼들 중에서 파이썬 쪽의 골목 대장이란다.

(텐플이나 카페는? = 중간보스... 최종 파멸 보스는 아직 안나왔는데, 인간들이 스스로 만들고 있단다. 그것도 아주 열심히... ㅠㅠ)


머신러닝의 분야가 여러 가지인데, 그 중에서 분류, 인식 알고리즘과 신경망에 대한 내용이 주로 나온다.


1장은 함께 쓰이는 라이브러리 등에 대해서 소개한다.

2, 3장은 지도 학습과 비지도 학습에 대해서 다루는데, 정치가 얼굴 data set 가지고서 질릴 정도로 집요하게 끝장을 본다.

그래서 결국에는 각 성분을 통해서 얼굴의 재구성을 하는 것까지 보여준다. 책 초반에 이런 게 나오면 앞으로는 뭐가 더 나온다는 거냐?

4장은 데이터의 표현 방법의 중요성에 대해서 말하는데, 이 책 중에서 가장 추상적이고, 이론적인 부분이다. 한 두번 봐서는 그 이전과 이후의 내용에 얼마나 중요성을 가지는지 알기가 힘들다. 책의 초점이 어디에 있는 건지, 내 집중력이 떨어진 건지 헷갈리는 경우.

5장은 단순히 알고리즘들을 소개만 하는 것이 아니라, 그것들을 평가해서 개선, 교체할 수 있게 제공하는구나.

6장은 파이프라인은 일반적인 것인가? 다른 라이브러리에서도 동일, 유사한가? 

7장은 텍스트 관련에 필요성이 있어서 유독 열심히 읽긴 했는데, 예상했던 내용은 아니었다.

8장 읽으면서 미진하다고 했던 부분은 절반 이상 8장에서 충족되었다.

PDF 버전이 올라와 있다고 그런다. 일이 점점 커지는구나.


요즘은 좋은 블로그 툴과 게시판 기능 들이 많아져서, 자신이 홈페이지를 직접 프로그램이해가면서 개설한 필요성을 굳이 느끼지 못한다.

그러한 거처럼 어떤 부분이 어때서 알고리즘이 적용되고 아니고를 피드백 해줘야 굳이 하지 않아도 되는 것은 안 해도 상관없어진다.


그런데, 책 뒷표지의 문장 하나가 완전 에러다.

"미적분, 선형대수, 확률을 공부하지 않았어도..." 라고 했는데...

정말 제대로 관심없어 그런 쪽에 대해서 건드린 적이 없으면 이런 책 거들떠 보지도 않을 거 같다.

책을 순수하게 잘 따라가면 잘 몰라도, 공부하지 않았어도 활용은 할 수가 있다.

그 말은 맞는데, 왜? 와 어떻게? 가 온전히 충족되지는 않는다.

"지금까지 배웠던 미적분, 선형대수, 확률이 꽃피게 해주는..." 정도의 문장이 더 낫지 않을까.


비지도 학습 - 이게 뭔진 모르지만, 여기에 뭔가 있긴 있다. 정도가 되겠다.

구글이 학습시킨 고양이라는 것도 어떤 특정 표지가 모여서 다른 동물들에 비해서 고양이 일 때에 그 특징을 잘 잡아내어서 고양이라는 것을 학습 인지 했구나 하는 거지. 자기가 알고 있는 것이 정확하게 고양이라는 것을 인간처럼 인식하고 있는 것은 아닐 거라는 얘기.


이게 순 텍스트북이나 픽처북에서 쉽게 설명해주니까 그럴 대에는 박수치면서 이해했다고는 하지만, 포뮬라북이 되면 내용이 정확하게 같은데도 전혀 이해를 못한다. 다시 코드북 정도가 되어서 단계별로 이해할 수 있게 가이드를 해줘야 알 수가 있다.


아주 기초적인 내용은 신경망 첫걸음(한빛미디어, 2016) 같은 책을 통해서 선수 지식을 좀 가지고 있어야 편하다.

여기에서 기본적인 내용들은 패턴인식, 통계학 책의 내용과 같다.

손쉽게 해당 라이브러리와 연결해서 활용할 수 있으니까 좋다.


책에서는 텍스트 분석(7장) 쪽에 대해서 중요하다고 말은 했지만, 분량상 얼굴 분석(2장) 에 비해서 밀린다.

70여 페이지에 비해서 45여 페이지가 할당됐는데,

주 관심사는 텍스트 쪽이었기 때문에 영화 이외에 한 가지의 주제를 더 다뤄서 480p. 짜리 책이 되었다면 더 단단했을 것 같다는 아쉬움이 있었다.


겸사겸사 다른 인공지능 책에서는 어떤 알고리즘들을 어떻게 소개하고 보여주나? 를 함께 살펴봤다.

텍스트/픽처북, 포뮬라북 까지는 있는데, 코드북은 이세돌이 알파고한테 깨지고 난 다음부터 출현하기 시작한다.

텐서플로우, 카페 등 부터 시작하기 때문에 이건 뭐 끝판왕부터 내려오는 느낌이다.


완전 전공자들 이외의 사람들에게는 코드북 말고는 의미가 없다. 실용적 가치가 없기 때문에 인공지능의 겨울이 왔었으므로, 독자에게 실용적으로 어떤 것으로 활용할 수 있다고 알려주는 건 이 쪽에서는 완전 기본 예의. 비연구자인 일반인이 알아서 활용 방법을 찾아서 알고 있다면 이미 일반인이 아닐 것이다.


첫 1회의 학습에는 이 책과 같은 구성이 괜찮다.

In 과 out 이 구분되어 보여지고, 결과 의 모양에 대해서 표현이 되어있으므로, 계속 확인해가면서 진행할 수 있다.

하지만, 그 다음부터는 지친다.


MS 에서 내놓은 cheat sheet 처럼 특정 case 에 대해서는 이런 solution 같은 식으로 연결해놓는 스타일의 cheat-sheet 가 사이킷런 버전으로 있을 것도 같은데, 저자가 그에 대해서 소개해 줬으면... 하는 아쉬움이 남는다.


얼마 전까지 대학 교재 등에서는 코드를 도입했다 하더라도 한 이론서들은 다음과 같은 구조들이었다. 

이론 설명만 주구장창 한 후에 장 말미에 설명도 없고, 주석도 없는 코드가 의미없이 나열되어있곤 했다.

그런데,이 책에서는 결과가 하나 보이면 그것은 작은 하나의 입력에 의한 것이다.

그러면서 각각에 대해서 설명을 하니까 설명에 대해서 이해가 되면서도 작은 파라미터들에 대한 내용들은 사이킷런 help 에 있다고 해서 설명이 없이 넘어가면 초짜 아저씨는 알기가 힘들다.


실제로 웹사이트에서 코드들을 가져다가 복사해서 넣어주고 엔터치는 방식으로 해봤는데, 그다지 좋은 방법은 아니다.

직접 쳐가면서 테스트해보고, 응용을 하려면 파일/함수화 해서 각 변화하는 내용들에 대해서는 파일로 갈무리해야 할 것이다.


읽으면 읽을수록 게슈탈트 붕괴처럼 내가 이렇게 몰랐나 하는 느낌이다. 천천히 시어를 읽듯이 음미하면서 읽어야지 그렇지 않으면 2차로 의미 파악이 잘 안된다.


이미 수집된 data 에 대해서만 처리하고 있다. data 수집 전처리 등에 대해서도 다른 책 또는 자신이 쓴 방법을 소개해줘도 무방할 듯 한데...

진짜 핵심은 이것의 사용처, 머신 러닝의 사용 기획이므로, 다른 부분을 이 책에서 가이드하기에는 월권일 수도 있겠다 싶어서. 아쉬움을 떨친다.


책 한 권에 너무 기대가 심했던 것 같기도 하다. 책 자체적으로는 설명한 내용에 대해서는 약속을 잘 지켰다. 아쉬움이 없으려면 약 1200 페이지 정도가 더 들어가줘야 하는데, 아쉬움을 포기하는 게 정답이다.


보고 싶은 책이 많아졌다.

이론서, 개론서, 코드북, 워크북...

크로울링, 서버, DB, 하둡, 빅데이터, ...


일이 점점 커지네.


- 본 리뷰는 "나는 리뷰어다 (한빛미디어)" 이벤트 에서 제공된 책으로 작성되었습니다.


댓글(0) 먼댓글(0) 좋아요(2)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
처음부터 다시 배우는 서비스 디자인 씽킹 - 차별화된 서비스 경험과 비즈니스 혁신을 만드는 고객 중심 접근법
배성환 지음 / 한빛미디어 / 2017년 6월
평점 :
구판절판


이 책은 디자인적인 관점 (그러나 딱히 전통적인 디자인 개념은 아닌) 에서 본 사업의 시작에서 완성까지의 흐름에 대해서 짚어주는 책이다.

 

사업 기획 분야에 대한 전반적인 것들을 일단은 다 알려주는 핸드북. 사업 기획 동안에 계속해서 들춰볼 것 같다. 사업 초반에 기획을 좀 확실하게 근거 있게해야 할텐데 라는 고민에 대해 넘어갈 수 있는 징검다리를 알려준다. 참고문헌은 있으니까 좀 더 깊게 들어가려면 건드려 놓은 것 찾아보면 된다고 말해준다. 그림까지 그려가면서 알려줄 정도로 친절하긴 하지만, 시간상 어쩔 수 없이 콧대 높게 보이는 선배 같은 느낌.

사업 전반에 대해서 다양한 분야를 다루고 있기 때문에 정독을 요구한다. 고객을 위한 분야, 돈이 걸려있는 분야이니까 디테일하게 읽어 보자 하면 소설처럼 술술 읽히지는 않는다. 1부에서는 각 장을 넘어갈 때에 이전 장은 이제 레벨업 됐으니 떠나야 할 시골 마을이다. 부드럽게 연결되지 않는다. 이걸 그나마 이어주는 것이 예시 프로젝트의 각 파트이고, 인간, 고객, 서비스 의 개념을 먼저 주지해놓고 진행을 하지 않았다면 같이 묶어내는 것이 되는구나 신기하네 할 정도이다.

디자인 이라는 단어가 들어가지만, 좋아보이는 것 그 이상을 향한다. 책 제목을 보면 658 (미술, 디자인) 계열인데, 비즈니스를 다루는 게 325 (경영, 자기 계발) 계열로도 보인다. 그런데, nanet.go.kr 에서는 658 로 확정이다. 성공 벡터를 속도와 방향의 곱이라고 한다면 이 책은 방향 항에 속한다. 대부분의 내용이 제대로 알고 뛰어라 쪽이다. 속도에 대한 부분은 325 계열 책들에서 찾으면 될 것이다.

 

1 1장에서 5장까지는 서비스 디자인이 가지고 있는 영역에 대해서 모두 다루려 한다. 참고문헌에 다뤄진수십 권의 내용이 120여 페이지에 들어차 있다. 책의 초입을 읽다 보니 어디서 많이 본 내용인데라는 생각이 들어 참고 문헌 쪽을 봤다. 역시 넛지라는 책이 참고 문헌에 들어있었다. 참고 문헌의 절반 정도는 읽어 본 경험이 있었다. 다행. 덕분에 저자가 수집, 배치, 주장한 내용들에 대해서 바로 수긍이 가능했다.

 

책은 중심 주제가 변주되어서 확대되는 형태를 가지고 있다. 3장의 순서가 제 2 6장에서 11장 까지의 순서대로 확대되어서 실무에서는 해당 장의 순서대로 참고해가면서 점검하도록 되어 있다.

 

각 장들에서 나오는 개념들은 어떤 식으로 이뤄지는지에 대한 내용들이 도입은 되지만, 지면 관계상 예시를 통해서 보여줄 정도로 상세하지는 않다. 예를 들어, 1, 2장에서 다뤘던 확산, 수렴은 전 프로젝트 영역에서 3단계로 적용된다는 내용이 5장에 다시 한 번 보인다. 언급은 그것으로 충분할까? 그리고, 8, 9, 10장에 이르기까지 새로운 개념들이 계속 투하된다. 책 마무리는 11장에서 프로젝트의 평가와 더불어 이루어진다.

 

새로이 사업을 기획해보려는 입장에서는 이 책으로 몇 백 시간을 아낄 수 있겠다 싶지만, 또한 정확하게 이해하고 적용하려면 100여 시간이 더 필요하겠다. 100여 시간은 사업에 실제로 적용할 매뉴얼을 만드는 시간일 것이다.

 

책을 보면서 진실의 순간이라던가, “고객의 반응을 보려면 제품이 있어야한다고 생각했다. 하지만, “진실의 순간을 어떤 테크닉에 의해서 넘기는 것은 결국 한계에 부딪히게 될 것이다. “고객은 자신이 무엇을 원하는지도 모른다.” 라고 말했던 잡스의 말에 기대어 책의 순서와 내가 생각하는 방향은 다르다고 생각했었는데, 다시 읽다보니 5장에서 그것은 “20세기 기술 스타트업의 마인드란다.

 

책에서 저자의 주장은 많이 보이지 않는다. 그런데, 그것이 과학과 공학의 차이인 것과 마찬가지로 느껴졌다. 자신만의 학설이 필요한 과학보다는 실제적인 도움과 효과에 더 가치를 두는 공학처럼, 실무적으로 적용 가능한 개념들을 소개하는 역할에 매우 충실하다.

 

책 뒤 표지에 “… 프로세스를 경험해보고 싶은 사람들에게 일독을 권한다.” 라고 했는데, 일독은 부족하다. 수도 없이 훑으면서 빠진 부분 채워가는 지침서로 삼을 수 있겠다.

그래야 하는 이유 중의 하나를 내용 외적인 면에서 찾을 수 있다.

372 페이지인 분량과 판형과 종이 질이 잘 어우러졌다. 그래서, 책을 왼손 위에 펼쳤을 때에 낭창낭창하게 펼쳐지면서 손목에 감기는 느낌을 받았다. 그리고, 그런 만큼 속지가 강한 탄성을 가지고 있지 않아서 내용을 잘 보아달라는 듯이 현재 펼쳐진 페이지를 잘 유지했다. 오랜만에 대체 불가능한 아날로그 독서 감각을 경험했다.

 

몇 달 뒤에 참고 서적들과 과정들을 바탕으로 실무 매뉴얼의 얼개를 잡고 난 다음에 다시 보게 되면, 가지고 있는 내용이 많은 만큼, 좋은 포도주가 디캔팅 된 듯이 완전히 다른 맛으로 다가올 것 같다.

그 느낌이 기대된다.


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