품목정보
발행일 | 2021년 12월 31일 |
---|---|
쪽수, 무게, 크기 | 560쪽 | 173*230*35mm |
ISBN13 | 9791165921101 |
ISBN10 | 1165921103 |
발행일 | 2021년 12월 31일 |
---|---|
쪽수, 무게, 크기 | 560쪽 | 173*230*35mm |
ISBN13 | 9791165921101 |
ISBN10 | 1165921103 |
서문 저자 소개 베타 리더 리뷰 Chapter 01 비지도 학습 개요 1.1 비지도 학습이란? 1.2 주요 주제 소개 1.3 비지도 학습의 장단점 1.4 비지도 학습의 시작 Chapter 02 차원 축소 2.1 주성분분석 2.2. 특이값 분해 2.3 차원 축소의 성능 평가를 위한 재구축 오차 2.4 다른 차원 축소 기법들 Chapter 03 이상치 탐지 3.1 데이터 불러오기 3.2 데이터 표준화와 분할 3.3 주성분분석의 적용과 해석 3.4 마할라노비스 거리 측정법 3.5 재구축 오차 3.6 답을 안다는 가정에서 성능 평가하기 3.7 데이터 탐색과 이상치 탐지 3.8 지도 학습을 이용한 최적화와 결과 해석 3.9 그 외 sklearn 내장된 이상치 탐지 Chapter 04 군집화 4.1 군집화 과정 4.2 희소행렬(Sparse Matrix) 만들기 4.3 거리 측정법의 소개 4.4 군집화 알고리즘 Chapter 05 군집화의 응용 5.1 상위 군집 만들기 5.2 군집별 등급 지정하기 5.3 군집별 중요도 구하기 5.4 텍스트 데이터를 이용한 군집 특성 이해하기 5.5 군집화 결과 해석하기 Chapter 06 텐서플로 2 소개 6.1 텐서플로2의 장점과 강점 6.2 케라스 소개(Keras API) 6.3 합성곱 신경망(CNN) 소개 6.4 순환 신경망(RNN)과 장단기 기억 모델(LSTM) 소개 6.5 모델의 시각화, 저장, 불러오기 Chapter 07 오토 인코더(Auto Encoder) 7.1 바닐라 오토 인코더(with keras) 7.2 다양한 오토 인코더의 구조 Chapter 08 오토 인코더의 응용 8.1 오토 인코더 은닉층을 이용한 군집화 예제 8.2 오토 인코더의 이상치 탐지 8.3 오토 인코더에 범주형 변수 추가 8.4 변분 오토 인코더 8.5 앙상블 결과 찾아보기 |
소스코드 다운로드
https://github.com/bjpublic/unsupervised
비지도 학습과 지도 학습을 구분하는 명백한 기준은 목적 변수의 존재 여부이다
목적 변수가 있는 경우를 지도 학습, 없는 경우에는 비지도 학습이라고 한다
목적 변수가 없다는 것은 시험 문제는 있는데 채점할 답안이 없다는 말과 같다
우리가 머신러닝을 하는 대부분의 경우, 적게는 수천 개에서 많게는 수천만개의 데이터를 가지고 있다
모든 문항의 답안을 만드는 일은 현실적으로 불가능 하다
비지도 학습은 답안을 이끌어 내는 것을 최대한 유추하고, 일반화하는 과정이라고 할 수 있다
데이터에서 패턴을 찾아 정의하고, 결과로 도출하는 과정을 반복해서 시행하여야 하며, 데이터의 수많은 경우의 수로부터
원하는 패턴이라 판단하고 추론하는 것도 데이터를 다루는 독자의 몫이 된다
하지만 비지도 학습의 사용법을 익힌다면 답안을 하나씩 확인하는 것 보다 수십, 수백 배는 빠르게 목적에 도달할 수 있게 해줄 것이다
서평
최초로 국내의 저자가 약 2년간 쓰고 고치기를 반복하며 집필한 파이썬 비지도 학습을 전문으로 다루는 책이다
이 책은 크게 차원 축소, 이상치 탐지, 군집화, 텐서플로를 사용한 코드 구현 오토 인코더로 구성이 되어있다
책 전반적으로 비지도 학습의 이론을 간단하게 살펴본다음 알고리즘의 이론과 수식을 여러 단계로 나누고 파이썬 코드 별로
단계별로 실습 해보고 결과들을 확인해볼 수 있도록 상세하게 구성이 되어있다
최대한 상세히 표와 그림을 첨부 해가며 수식을 이해하고 또 파이썬 코드로 상세히 설명하면서 진행하는 부분이
매우 마음에 들었다
이 책의 상당부분의 분량을 차지 하고 있는 군집화와 오토 인코더는 책의 분량 만큼이나 매우 중요한 내용이다
군집화 파트는 군집화 과정과 희소행렬 만들기, 거리 측정법의 소개, 군집화 알고리즘 파트로 진행되며
역시 상세한 이론 설명과 함께 데이터와 파이썬 코드로 직접 군집화 과정을 진행해나가면서 이론을 몸에 체득할 수 있도록 도와준다
자주 사용되는 군집화 유형이 다른 네가지 군집화 알고리즘을 살펴보고 실제로 코드로 구현해보고 원리를 이해 하고 나서
본격적으로 군집화의 응용 챕터에서 군집화 알고리즘을 응용해서 데이터에서 군집화를 응용하고 군집화 결과를 해석 해본다
좀 어려운 내용이지만 저자의 상세한 설명으로 인해 크게 어렵지 않게 이해하고 응용해볼 수 있었던 것 같다
후반부에는 오토 인코더와 앞에서 배운 군집화 알고리즘과 응용기법을 활용해 오토 인코더의 차원 축소와 군집화의 결과 및 시각화를
진행해보면서 이 책의 대장정을 마무리 지어볼 수 있다
매우 어렵다고 생각했던 비지도 학습을 상세한 이론과 원리의 설명과 파이썬 코드로 직접 실습해보면서 쉽게 이해할 수 있게
잘 구성이된 책이라고 생각한다
저자가 이 책을 집필하면서 왜 수없이 많이 고쳐썼는지 고충도 이해가 되고 저자의 고뇌의 결과로 인해 이렇게 좋은 내용의 책을 읽어볼 수 있게 되어 매우 행복하다
총평
국내의 최초의 비지도 학습을 전문으로 다루고 있는 서적이다
저자의 상세한 이론과 수식 설명과 데이터와 파이썬을 활용한 예제 실습 그리고 표와 그림으로 시각화 하는 과정을 통해 알고리즘을 이해하고 만들어 나가면서 비지도 학습을 이해해 나갈 수 있게 체계적으로 구성이된 전문 서적이다
차원축소, 이상치탐지, 군집화, 오토인코더를 활용해 딥러닝 알고리즘을 구현해보고 비지도 학습을 재미있게 공부해볼 수 있고
어려운 내용을 최대한 단계별로 잘 풀어서 설명하고 있어 매우 이해하기 쉽게 잘 설명을 해주고 있다
비지도 학습을 공부해보고 싶은 사람에게 이 책을 추천 한다
※출판사로부터 책을 무상으로 제공받아 직접 실습해보고 정성껏 작성한 리뷰 입니다
IT개발서 전문 출판사 비제이퍼블릭에서 비지도 학습에 관한 책이 출간되었다.
빅데이터를 공부하다보니 머신러닝과 인공지능에 대해서도 겉핥기 수준으로 살짝 맛을 볼 기회가 있었는데, 그때 비지도학습에 대해서 스치듯 들었었다. 이름과 간략한 소개정도. 그러니 나와 비지도학습의 관계는 어디서 우연히 스치듯 본 사람 딱 그 정도의 관계랄까. 비지도 학습이란, 정답이 없는 데이터에서 결과를 찾아내는 것으로 명확한 답안이 없이 정보를 추출해 내려 할 때 사용하는 기법으로 비슷한 것들끼리 군집화를 하여 패턴을 찾아내는 머신러닝의 일종이라는 것. 이 정도가 내가 책을 읽기전 비지도 학습에 대해서 알고 있는 거의 전부였고, 이 책을 통해서 비지도 학습을 제대로 접하게 되었다.
책은 우선 비지도 학습이 낯선 나같은 사람들을 위해 비지도 학습에 대해서 설명을 하면서 시작을 하며, 크게 차원 축소, 이상치 탐지, 군집화, 텐서플로2, 오토인코더로 나뉘어있다. 그리고 그 중 가장 많은 부분을 차지하고 있는 것은 군집화이다. 처음 책을 받았을 때는 전문가 냄새가 폴폴 풍기는 책의 분위기에 이해를 하나도 못하면 어떡하지 하는 걱정을 살짝 했지만 나름 파이썬도 공부하고 머신러닝도 좀 봤다고 우려했던 것보다는 읽으면서 공부할만했다. 워낙 문송한 사람인지라 기초지식이 무척 부족하다보니 모르는 것 투성이었고 어렵긴 했지만 그동안 많이 봐온 여타의 다른 컴퓨터 책들보다 저자의 설명이 친절하고 상세했기때문에 거기에 힘을 얻어 조금 느리지만 천천히 비지도학습과 친해지면서 진도를 나갈 수 있었다.
서문에 따르면 비지도 학습을 위한 책이 많지 않고, 특히 실습을 위한 책을 더 찾아보기 힘들다고 하는데, 처음 만난 비지도 학습 관련 책이 이 책이어서 다행이었다. 머신러닝과 파이썬에 대해 사전지식이 있는 사람들 중 머신러닝이나 비지도 학습에 대해 알고 싶은 사람들에게 추천하는 책이다.
** 출판사를 통해 도서를 무상으로 제공받아 솔직하게 작성된 리뷰입니다.
현재 경제, 교육, 군사, 산업, 금융 등 다양한 분야에서 인공지능을 적극적으로 활용하려고 노력하고 있다. 이제 AI 인공지능은 더 이상 바둑이나 체스, 퀴즈게임에 등장하는 신기한 가십거리 주제가 아닌 것이다. 앞으로의 우리 삶을 완전히 탈바꿈하게 할 중요한 기술이 된 것이다.
그런 만큼 인공지능, 딥러닝, 머신러닝을 공부하는 사람들이 많이 늘어났다. 책도 과거에는 간단한 인공지능 이론 소개나 텐서플로, 케라스 같은 머신러닝 플랫폼, 오픈소스 소프트웨어 입문 위주였는데, 지금은 활용 또는 알고리즘 이해를 돕는 보다 깊은 주제가 대세다.
이번에 본, 데이터 분석가 송동근 저자의 '파이썬으로 완성하는 비지도 학습 알고리즘' 역시, 인공지능을 한 단계 깊이 파고든 내용을 담고 있는 책으로 540여 쪽에 걸쳐 비지도 학습에 관련된, 각종 이론을 파이썬 프로그래밍 언어와 텐서플로로 실제 코드를 하나하나 만들어 가며, 심도 있는 학습을 할 수 있게 만들었다.
그런데 인공지능 이론을 접해보지 않은 사람 경우, 비지도 학습이란 단어가 무척 낯설 수 있다. 나도 이 단어가 처음에 무척 어색했다. 지도는 '학생을 지도한다' 같은 곳에 쓰는 어떤 목적이나 방향으로 남을 가르쳐 이끈다는 사전적 의미의 단어인데, 일상에서 비지도라는 말은 쓰지 않다 보니, 지도가 아니라는 뜻의 비지도는 콩글리시 같은 느낌마저 들게 한다.
지도 학습은 처음부터 명백한 기준이나 결과가 있는 경우 사용되는 반면, 비지도 학습은 그런 거 없이 스스로 그런 기준과 결과를 만들어야 하는 경우 사용된다고 이해하면 쉬울 것이다. 책에서는 시험 문제는 있는데 채점할 답안이 없는 거라 설명하고 있다. 과학, 수학, 각종 실험과 연구, 실생활을 보면, 패턴이나 결과가 전혀 안 보이는 경우가 많은데, 인공지능의 비지도 학습을 통해 결과를 도출할 수 있는 것이다. 어찌 보면, 활용도면에서 더욱 쓸 곳이 많은 유용한 알고리즘인 것이다.
'파이썬으로 완성하는 비지도 학습 알고리즘'에서는 이런 유용한 비지도 학습을 제대로 익힐 수 있다. 내용 구성은 크게 차원 축소, 이상치 탐지, 군집화, 텐서플로2 소개, 오토 인코더로 되어 있다. 주성분분석, 특이값 분해로 고차원의 데이터를 저차원으로 바꾸는 차원 축소를 해보고, 점검에 필요한 이상치 발생도 해본다. 그리고 공통 특징을 찾아내는 군집화나 비지도 학습에 기본인 오토 인코더는 많은 지면을 할애해서 응용도 해보며, 구석구석 알아보고 있다.
이 책의 한가지 특징이라면, 다른 책들에서는 독자들의 수학 거부감을 줄이고자 알고리즘에 관련된 복잡한 수학 공식들을 가급적 피하는 편인데, 여기서는 어차피 겪어야 할 거면 제대로 만나 보라는 느낌으로 각종 공식들이 곳곳에 등장한다. 이게 어렵게 보일 수 있지만, 알고리즘을 직관적으로 이해하고 그 차이를 아는 데는 오히려 도움이 된다. 게다가 바로 파이썬 코드로 만들어 테스트하고 결과도 확인하고 있으므로 코드 구현과 활용에도 좋다.
그런데 '파이썬으로 완성하는 비지도 학습 알고리즘'은 입문자를 위한 책이 아니다 보니, 파이썬 문법 같은 것은 따로 설명되어 있지 않다. 내용 수준면에서도 비지도 학습 알고리즘 입문서는 될 수 있을지 모르나, 인공지능 입문서는 절대 아니다. 그 점을 감안해서 자기 수준을 확인하고 봐야 할 것이다.
아울러 시간이 걸리더라도 책에 나온 코드를 직접 실행하면서 학습하는 것이 좋을 거라 생각한다. 본문에 알고리즘 설명들이 되어 있지만, 책에 워낙 많은 파이썬 코드가 나오고 있고, 이에 대한 설명은 주석으로 처리되어 있는 만큼, 곱씹어서 익히기에는 역시 하나하나 실행해 보는 것이 최고다.
얼마 전 구글이 개발한 인공지능이 40년간 인간이 풀지 못한 수학 문제를 푸는 일에 성공했다고 한다. 전에는 미흡했던 수학적 직관력을 인공지능에 부여하는 단계까지 이른 것이다. 그만큼 인공지능의 비약적으로 발전할 것이다. 그런 면에서 '파이썬으로 완성하는 비지도 학습 알고리즘'은 비지도 학습을 제대로 학습하기 좋다 생각한다. 이 책을 통해 미리미리 준비하고 실력을 쌓으면 좋을 것이다.