1판과 2판의 피드백을 적극 반영해 한층 더 업그레이드된 『핸즈온 머신러닝』이 3판으로 돌아왔습니다. ‘실제로 머신러닝을 구현하면서 학습한다’는 목표를 더욱 효과적으로 달성할 수 있도록 복잡한 주제를 구조화하고 난이도에 따라 순차적으로 학습할 수 있게 개선했습니다. 또한 누구나 쉽게 이해할 수 있도록 기존 설명을 더 친절하고 명확하게 다듬고 보완했습니다. 마지막으로, 빠르게 발전하는 분야인 만큼 전체 코드 버전과 기술 트렌드를 최신 정보로 업데이트했습니다(하단의 ‘출판사 리뷰’에서 3판의 업데이트 내용을 확인할 수 있습니다).
머신러닝을 전혀 모르는 입문자도 온라인으로 제공되는 주피터 노트북을 활용해 손쉽게 실습할 수 있습니다. 여기에 박해선 역자의 친절한 추가 설명까지 더해져 답답함 없이 수월하게 학습할 수 있습니다.
저자소개
저자
오렐리앙 제롱(Aurélien Géron)
머신러닝 컨설턴트입니다. 2013년에서 2016년까지 구글에서 유튜브 동영상 분류 팀을 이끌었습니다. 2002년에서 2012년까지 프랑스의 모바일 ISP 선두 주자인 위퍼스트 Wifirst를 설립하고 CTO로 일했습니다. 2001년에는 폴리콘셀 Polyconseil을 설립하고 CTO로 일했습니다. 이 회사는 지금 전기차 공유 서비스인 오토립 Autolib′을 운영하고 있습니다.
그전에는 재무(J. P. 모건과 소시에테 제네랄 Société Générale ), 방위(캐나다 국방부), 의료(수혈) 등 다양한 분야에서 엔지니어로 일했습니다. C++, WiFi, 인터넷 구조에 관한 기술 서적 몇 권을 집필했으며 프랑스의 한 공과대학에서 컴퓨터과학을 가르쳤습니다.
역자
박해선
기계공학을 전공했지만 졸업 후엔 줄곧 코드를 읽고 쓰는 일을 했습니다. 블로그(tensorflow.blog)에 글을 쓰고 머신러닝과 딥러닝에 관한 책을 집필, 번역하면서 소프트웨어와 과학의 경계를 흥미롭게 탐험하고 있습니다.
『챗GPT로 대화하는 기술』(한빛미디어, 2023), 『혼자 공부하는 데이터 분석 with 파이썬』(한빛미디어, 2023), 『혼자 공부하는 머신러닝+딥러닝』(한빛미디어, 2020), 『Do it! 딥러닝 입문』(이지스퍼블리싱, 2019)을 집필했습니다.
『실무로 통하는 ML 문제 해결 with 파이썬』(한빛미디어, 2024), 『머신러닝 교과서: 파이토치 편』(길벗, 2023), 『스티븐 울프럼의 챗GPT 강의』(한빛미디어, 2023), 『핸즈온 머신러닝(3판)』(한빛미디어, 2023), 『만들면서 배우는 생성 AI』(한빛미디어, 2023), 『코딩 뇌를 깨우는 파이썬』(한빛미디어, 2023), 『트랜스포머를 활용한 자연어 처리』(한빛미디어, 2022), 『케라스 창시자에게 배우는 딥러닝 2판』(길벗, 2022), 『개발자를 위한 머신러닝&딥러닝』(한빛미디어, 2022), 『XGBoost와 사이킷런을 활용한 그레이디언트 부스팅』(한빛미디어, 2022), 『구글 브레인 팀에게 배우는 딥러닝 with TensorFlow.js』(길벗, 2022), 『파이썬 라이브러리를 활용한 머신러닝(번역개정2판)』(한빛미디어, 2022), 『머신러닝 파워드 애플리케이션』(한빛미디어, 2021), 『머신 러닝 교과서 with 파이썬, 사이킷런, 텐서플로(개정3판)』(길벗,2021)를 포함하여 여러 권의 책을 우리말로 옮겼습니다.
이 책은 이론과 실습을 아우르며 머신러닝과 딥러닝 모두를 관통하는 큰 그림을 그릴 수 있도록 돕습니다. 특히 도식을 활용한 설명과 최신 버전의 실무 밀착형 코드 예제를 통해 손쉽게 모델을 훈련하고 신경망을 구축하는 방법을 익힐 수 있습니다. 또한 장마다 제공되는 연습문제를 풀면서 배운 내용을 복습하고 자신의 프로젝트에 적용해볼 수 있습니다. 파이썬 프로그래밍 경험이 있다면 바로 시작해보세요. 누구나 머신러닝 전문가가 될 수 있습니다!
** 3판에서 업데이트된 내용 **
● 코드 전체를 최신 라이브러리 버전으로 업데이트
● 상세한 모델 선택 가이드라인
● 사이킷런과 케라스의 새로운 기능
○ 사이킷런: 특성 이름 추적, 히스토그램 기반 그레이디언트 부스팅, 레이블 전파 등
○ 케라스: 전처리 층, 데이터 증식 층 등
●2판에 없는 라이브러리 추가
○하이퍼파라미터 튜닝을 위한 케라스 튜너 라이브러리
○자연어 처리를 위한 허깅 페이스의 트랜스포머스 라이브러리
●확산 모델(스테이블 디퓨전)
●컴퓨터 비전, 자연어 처리 분야의 최신 트렌드와 구현
** 누구를 위한 책인가요? **
●기초 지식은 있지만 실무 경험이 적은 초보자
●실무 능력을 향상시키고 싶은 중급자
●머신러닝을 프로젝트에 활용하고 싶은 개발자와 엔지니어
●머신러닝 연구나 데이터 분석 작업을 하는 데이터 과학자와 연구자
** 이 책의 장점 **
1.복잡한 이론을 나열하지 않고 실용적인 예제를 통해 자세히 설명합니다.
2.직접 실습해보면서 실무 문제 해결 능력을 기르고 자신만의 포트폴리오를 완성할 수 있습니다.
3.여러 가지 머신러닝 및 딥러닝 모델과 도구, 라이브러리에 관한 지식을 확장할 수 있습니다.
4.스테이블 디퓨전을 비롯한 최신 컴퓨터 비전, 자연어 처리, 강화 학습 트렌드를 반영했습니다.
이 책은 압도적인 두꺼움을 자랑하는 책이다. 1000페이지가 넘는 책으로써 굉장히 무거울 것은 예상을 하고 있었다. 하지만 센스있게 한빛미디어에서는 2권으로 분권을 할 수 있도록 해주었다.
역자로써는 박해선이 워낙 유명하신 분이라 따로 언급할 필요는 없는 것 같습니다. 모든 페이지가 풀 컬러여서 가독성이 굉장히 띄어납니다.
다만 아쉬운 점이라면 수학적인 부분이 많이 빠져 있는 것인데, 수학적인 부분까지 들어갔가면 거의 백과사전?처럼 될 것 같긴 해서 지금이 딱 좋을 거 같다고 느꼈습니다.
이 책은 초급이 보기에는 좀 어려울 것 같고 중급 정도가 보기엔 적당한 책이라고 생각이 듭니다. 또한 이것만 보기보다는 개념들을 찾아보시면서 같이 학습을 한다면 좋다고 생각하였습니다. 머신러닝/딥러닝은 어렵지만 이 책과 함께라면 해볼만하지 않을까 싶습니다. 머신러닝/딥러닝을 공부하는 사람이 있다면 꼭 추천 해주고 싶습니다
머신러닝의 배우려는 분들에게 "핸즈온 머신러닝"은 필독서로 꼽히곤 한다. 이번 개정판에서는 기존의 내용에 더해 비지도 학습, 심층 신경망, CNN, GAN 등의 최신 주제를 다루며, 케라스와 텐서플로 2 버전으로 업데이트된 예제 코드를 제공한다.
이 책의 가장 큰 장점은 바로 '핸즈온'이다. 이론적인 내용을 배우는 것뿐만 아니라 실제로 코드를 작성하고 실행해 보면서 머신러닝을 경험할 수 있다. 이를 통해 이론과 실제 사이의 틈을 줄이고, 머신러닝의 복잡한 개념을 이해하는 데 큰 도움이 된다. 블랙박스와 같은 기술을 쉬운 예제와 코드로 학습할 수 있다.
개정판에서는 새로운 컬러 인쇄를 도입하였다. 컬러 인쇄된 기술 서적을 읽어본 적이 있나 싶은데 그림이나 그래프를 이해하는 데 도움이 많이 되었다. 또한, 최신 추세를 반영한 내용과 예제 코드로, 머신러닝의 최신 지식을 다루고 있다. 물론 인공지능 분야가 책에서 다루는 내용과 실무에 필요한 지식이 어느 정도 갭이 있지만 작은 것부터 하나씩 시작해 보려고 한다면 이 책이 최고의 선택이지 아닐지 싶다.
매번 느끼지만, 머신러닝과 딥러닝을 가장 공부하기 좋은 시기는 언제나 바로 오늘입니다 (고퀄리티의 학습 자료가 점점 더 많이 생기고 있어서). 이번에 서평으로 작성할 ‘핸즈온 머신러닝 (3판)’은 1권, 2권으로 나뉘어 있는 것이 특징으로, 상당히 두꺼운 책이랍니다.
삶을 그래디언트에 비유하여 표현한 옮긴이의 말은 깊은 인상을 남겼는데요, 불안하며 방향을 찾아 나아가는 청년과 안정적이지만 속도가 느려진 사회인의 삶을 그래디언트와 비교하였습니다. 그러나 저는 우리의 삶은 그래디언트처럼 단 한 곳을 향해 가는 것이 아니기에, 너무 불안할 필요가 없다고 느낀답니다. 그래디언트의 목적지는 정해져 있지만, 우리에게는 여러 경로와 선택이 있으며, 그 중 어느 것도 평가될 수 없는 가치를 가지고 있기 때문입니다.
‘핸즈온 머신러닝’이 기존에도 머신러닝과 딥러닝 공부에 많이 추천되던 책이었음은 알고 있었습니다. 수년간 추천되왔기 때문에 빠르게 변화하는 딥러닝의 트렌드를 반영하기보다는, 이 책은 주로 기본적이고 전통적인 내용을 다룰 것이라고 생각해왔었답니다! 그런데 (위 이미지를 보다시피) 1판->2판->3판 변경 사항을 보며 머신러닝과 딥러닝 트랜드 학습을 반영하여 지속적인 업데이트가 이루어지고 있다는 사실을 알고 놀랐습니다. (오랫동안 사랑받아온 이유가 여기에 있었을지도 모르겠네요.) 가령, 3판에는 어텐션은 물론, ViT, GAN, 그리고 Stable Diffusion 내용까지 추가되어 있었습니다. 또 이론 지식 못지않게 실습에 비중을 크게 두고 있다는 점도 장점으로 느껴졌습니다.
많은 분야의 공부가 그렇겠지만, 머신러닝/딥러닝을 공부하기 위해서 알아야 할 내용이 방대한데요. 한 두가지 자료를 졸업하는 것만으로는 와닿을 정도로 이해하기가 어려워서 다양한 관점에서 설명하는 다양한 자료가 동반되어야 하는 것이 일반적입니다. 그걸 아는 저자는 친절하게도 이 책과 함께 공부할 수 있는 참고 자료를 이렇게나 많이 소개해두었습니다.
핸즈온 머신러닝 1권에서는 딥러닝의 선행지식이라고 할 수 있는 머신러닝을 기초에 초점을 맞추어 아홉 챕터에 걸쳐 다루고 있습니다. 관련 수학 지식은 깊게 다루는 편은 아니지만, 해당 내용을 이해할 정도로는 다루고 넘어가는 편이었고요. 모든 내용은 코드와 함께 구체적으로 설명되어 있어서 코드에 진심인 것이 느껴지는 책이었습니다.
또한, 복잡한 개념은 도식을 활용하여 직관적으로 설명하려고 노력한 것이 보였답니다. (경험상 친절하다고 느껴지는 책일수록 도식 활용이 잘 되어있는 편이더라고요.)
이 책의 가장 특별하다고 할 수 있는 부분은 각 챕터 마지막에 수록되어있는 연습문제인데요! 보다시피 지식을 잘 숙지했는지를 테스트하는 이론 문제부터, 직접 코드를 작성해보는 실습 문제도 포함되어 있어, 챕터별 학습을 철저히 하는데 도움을 줍니다.
연습문제에 정말 버릴 것이 없어 보였답니다. 이미 머신러닝/딥러닝을 어느정도 공부해본 사람이라면 연습문제를 보며 복습을 해봐도 좋을 것 같습니다. 또 머신러닝/딥러닝 관련 직무 면접을 준비하는 사람들에게도 상당히 유용할 것 같다는 생각이 들었습니다.
1권에서 딥러닝은 간단한 수준에서 introduction 정도만 하고 마무리됩니다. 머신러닝으로 충분히 문제를 해결할 수 있는 기술자라면, 1권에서 소개되는 내용으로 딥러닝에 살짝 발만 담구어 보는 것 만으로도 충분할 것 같고요. 딥러닝을 공부해야하는 사람이라면 1권 학습을 마친 뒤 2권을 이어서 학습하면 됩니다.
2권에서 본격적으로 딥러닝의 이야기가 시작됩니다. NLP보다는 CV에 초점이 맞춰져 있는 편이고, 딥러닝을 처음 배울 때 만나게 되는 CNN, RNN과 같은 기본적인 모델부터 비교적 최신 모델인 GAN과 디퓨전(확산) 모델, 그리고 강화학습까지 다루고 있어서 꽤 최근의 딥러닝 트렌드까지 맛보기에 충분한 책입니다.
추천 대상
딥러닝 바이블 같은 책입니다. 텐서플로 유저들에게 특히 강추하며, 파이토치를 메인으로 사용하는 사람에게도 (어차피 텐서플로도 알아볼 수준은 되어야 하는 세상이라) 추천하고 싶은 책입니다. 또한 머신러닝과 딥러닝을 처음 배우려는 사람들, 체계적인 지식을 쌓고자 하는 중급자, 그리고 기존 지식을 복습하고 싶은 상급 사용자들 모두에게 추천할 수 있을 정도로 다양한 활용이 가능한 것도 장점인데요. 깊이 있는 이론 설명과 완벽에 가까운 코드 제공, 그리고 풍부한 연습문제 덕분에, 자신의 레벨에 맞게 활용하면 이 책 하나만으로 다양한 학습을 해보실 수 있을 것 같습니다. (여느 AI 부트캠프 수료보다 AI 지식을 공부하는 데에는 더 좋은 선택지가 될 수도 있어 보일 정도로요.)
초급자라면 혼자보다는 그룹 스터디같은 장치가 있으면 훨씬 공부하기 편할 듯 하고, 중급/상급자라면 체계적인 공부를 한번 하고자 하는 사람은 혼자 공부해도 충분할 것으로 보입니다. 저 본인 또한 지식을 보다 체계적으로 부트캠프 수강생들에게 설명하기 위해 이 책을 옆에 끼고 틈틈히 공부하게 될 것 같네요:)
이미 "핸즈온 머신러닝" 책 1판, 2판을 가지고 읽었있는데 이번 3판은 얼마나 바뀌어 있고 어떤 내용이 더 추가 되어 있을지 기대가 많았습니다.
먼저 "핸즈온 머신러닝 3판" 은 머신러닝, 신경망, 딥러닝, 인공지능을 공부할때 꼭 읽어봐야 할 책 입니다.
전세계 1위 베스터셀러이며 이제까지 3판이 나올정도로 머신러닝, 신경망, 딥러닝에 대한 이론, 그림, 설명, 실습등 모든 내용이 담겨있는 바이블 책입니다.
이번 책은 기존의 코드를 새로운 버전으로 수정 되었으며 당연히 책 두께도 늘어다고 책도 1권, 2권으로 나뉘어 볼 수 있는 분권 구조로 되어 있습니다. 책을 분권할 수 있어서 가지고 다니며 읽기가 좀 편해 진건 같습니다. 그래도 상당히 방대한 내용을 담고 있는 책입니다. 그리고 책이 칼러로 구성되어 있어서 그림 및 설명을 보기가 편합니다. 그래프, 이미지 등이 칼러로 구성되어 있더 좀더 편하게 학습을 할 수 있도록 되어 있습니다.
1판, 2판, 3판 까지 책을 가지고 있다면 "핸즈온 머신러닝 3판" 책의 구성 부분에서 변경사항을 확인할 수 있습니다.
새롭게 바뀐 부분(업데이트 내용)을 확인하면서 "핸즈온 머신러닝 3판" 책을 읽어 보았는데
1. 최신 라이브러리 버전으로 전체 코드 업데이트
책의 소스 코드를 PyCharm에서 Jupyter 로 코딩하면서 실습을 해 보았습니다.
소스 코드가 책의 분량만큰 양이 많은데 관련 소스코드가 GitHub에 등록되어 있어서 해당 부분을 책과 참고하여 공부하여 빠르게 학습을 할 수 있었습니다.
각 소스코드는 기술의 중요핵심을 설명하고 있으며 책에서는 코드 하나하나를 상세히 설명하고 있어서 공부하는데 많은 도움이 되었습니다.
2. 상세한 모델선택 가이드라인
책 전반에 그림과 모델 설명 그리고 유용한 방법등이 이론적으로 잘 설명되어 있고 읽기 편하게 되어 있습니다. 공부를 한후에 필요에 따라 책의 목차를 참고하거나 모델을 선택하여 결과를 확인할 수 있을것 같습니다.
3. 사이킷런과 케라스 새로운 기능
4. 케라스 튜너 라이브러리, 허깅 페이스의 트랜스포머스 라이브러리
1판, 2판에 없던 내용의 추가 되었습니다. 해당 내용의 추가로 책이 더욱 좋아진것 같습니다.
5. 스테이블 디퓨전을 비롯한 컴퓨터 비전, 자연어 처리 분야의 최신 트렌드와 구현
아직 상세히 공부는 못했지만 컴퓨터 비전과 자연어 처리 분야의 기술과 용어 설명 구현 방법을 확인할 수 있었습니다. 해당 내용은 요즘 가장 이슈인 부분으로 전체적인 흐름 및 기술을 확인할 수 있었습니다
"핸즈온 머신러닝 3판" 의 가장 큰 장점은 머신러닝, 신경망, 딥러닝의 전반적인 기술을 확인할 수 있는게 가장 큰 장점이라고 생각합니다. 각각의 기술을 전개해놓고 해당 기술에 대한 설명 및 상세 내용으로 책이 구성되어 있어 전반적인 머신러닝, 신경망, 딥러닝이 무엇이지 그리고 어떤 기술을 활용해야 하는지 해당 기술의 요점 및 소스를 활용하여 어떤 결과를 낼 수 있는지 정확히 할 수 있습니다. 모델 선택 가이드 라인 또한 공부하는데 많은 도움이 될 수 있습니다. 속도 , 사양등을 확인하면서 어떤것을 선택해야할지 기준으로 많은 도움이 됩니다.
전반적으로 "핸드온 머신러닝 3판"은 2판에서 3판으로 분량이 늘어났으며 소스코드 업그레이드 및 새로운 기술 추가로 인공지능, 신경망, 딥러닝의 모든 것을 담고 있는 베스트셀러 책입니다.
책의 모든 부분을 읽어 보지는 못했지만 전반적으로 많은 부분이 바뀌고 새로운 기술이 등장하는것을 확인할 수 있는 책이었습니다.
다른 머신러닝, 신경망, 딥러닝 책도 많지만 "핸드온 머신러닝 3판"은 꼭 읽어봐야 한다고 생각합니다. 머신러닝, 신경망, 딥러닝, 인공지능 하는 모든 분들께 추천합니다.
읽고 나니 정말 이 책이 인공지능의 바이블이라고 불리는 이유를 알 것 같다. 1판, 2판도 두꺼웠지만 3판은 쪽수가 더 늘어나 천 페이지를 넘게 되었다. 물론 분권되어 있어 읽기는 편하지만 압도적인 두께이다.
1부에서는 머신러닝의 개념을 소개 하는 파트로 기본적인 머신러닝의 개념, 학습방법( 분류 / 모델훈련 / 서포트 벡터 머신 / 결정 트리 / 앙상블학습과 랜덤 포레스트 / 차원 축소 / 비지도 학습)에 대해서학습을 할 수 있고
2부에서는 신경망과 딥러닝의 학습 할 수 있다 특히 12장의 텐서플로의 구조 및 사용법, 타입변환/변수/다른 데이터구조, 사용자 정의, 주로 사용하는 함수에 대해서 설명하고 13장의 대용량 데이터셋에대한 멀티스레드와 큐를 사용하여, 여러 파일에서 동시에 읽고, 샘플을 셔플링하거나 배치로 만드는 등의 작업을 수행하는 것을 학습 할 수 있어서 좋았다.
머신러닝을 시작하거나 다시 한번 기본을 다지고 싶은 분들, 현업에서 일하는 분들 모두에게 추천하고 싶은 서적이다.
유클리드의 유명한 말 "기하학에는 왕도가 없다"처럼 최근 박해선님의 "머신러닝, 딥러닝은 어떻게 공부할 것인가?" 강연에서도 마찬가지로 머신러닝에는 왕도가 없다라고 말씀한 것이 기억난다.
그럼에도 우리는 머신러닝의 지름길을 찾으려고 노력한다. 그러다가 엄청난 수학기호에 좌절하고 다시 공부하기를 무한 반복한다. 물론 수학적인 지식 없이는 머신러닝을 이해하기 힘들겠지만, 시작할 때는 분명 없어도 된다. 그 시간에 머신러닝의 기본 개념, 분야별 머신러닝 훈련, 데이터 분석, 전처리, 파이썬과 라이브러리(맷플롯립, 판다스, 넘파이, 사이킷런, 케라스, 텐서플로, ...), 코랩, 허깅 페이스, GPU 사용시 주의사항, 서비스, 컴플라이언스, MLOps, 엣지AI(모바일, 임베디드)등 다뤄야 할 주제가 너무 많다.
그런데, 이 모든 것을 한권(?)에 담은 책이 있는데, 그것이 바로 핸즈온 머신러닝(3판)이다.
책의 구성은 2권 합본으로 부록을 제외하더라도 914페이지나 되는 엄청난 분량이다. 엄청난 분량인데도, 요약해서 설명하고 있다는 느낌이 드는 것은 머신러닝 분야가 원래 방대할 뿐만아니라 발전속도가 대단히 빠르기 때문이다.
시중에 다른 책들의 구성을 살펴보면, 트랜스포머 모델이나 강화학습을 소개 정도로 하거나 포함되지 않는 경우가 있는데, 핸즈온 머신러닝은 트랜스포머, 비전 트랜스포머, 허깅페이스 라이브러리, 오토인코더, GAN, 확산모델(스테이블 디뷰전), 강화학습 최신 트렌드, 엣지AI(Tensorflow.js), 모델 배포까지 빼놓지 않고 모두 다루고 있다.
물론, 초급을 위한 책은 아니다. 파이썬과 머신 러닝의 기본 개념을 익혔다면, 다음 읽을 책으로 주저없이 추천한다.
최신 버전의 라이브러리 사용법과 분야별 최신 트렌드를 한꺼번에 모두 공부할 수 있다.
추가로 관심있는 부분은 대수학, 머신러닝, XGBoost, 신경망(딥러닝), 컴퓨터 비전, 트랜스포머, 자연어 처리, 강화학습, MLOps를 주제로 하는 각각의 책으로 심화학습하면 될 것이다.
저자의 소스코드도 훌륭하지만, 친절하고 자세하게 한글로 설명하는 역자의 소스코드는 꼭 챙겨서 손코딩해보기를 바란다. 또한 책 중간중간 역자의 경험에서 나오는 라이브러리 사용 기법과 학습 팁(비용함수/활성화함수/하이퍼파라미터 초기값 및 설정)들도 감동을 줄 것이다.
이해하기 어려운 부분은 오픈채팅이나 최근 디스코드에서 질문하면 바로 응답을 주는 것도 큰 이득이다.
개인적으로 책에서 좋았던 부분은 각 장의 마지막에 있는 연습문제인데, 보통 책을 모두 읽더라도 금새 잊어버릴 경우가 있는데, 핵심 개념을 문제로 다시 한번 각인할 수 있는 효과가 있었다. 물론 부록에 정답도 자세히 있다. ㅎㅎ
그리고 19장의 대규모 텐서플로 모델 훈련과 배포 방법에서 모델을 서비스하는 방법이다.
부록 2장의 머신러닝 프로젝트 체크리스트도 잊지말고 챙겨보길 바란다.
마지막으로 저자의 머신러닝 공부의 왕도로 끝맺고자 한다.
필자가 여러분께 전하고 싶은 조언은 연습하고 또 연습하라는 것이다. 모든 연습문제를 풀어보고, 주피터 노트북을 실행해보고, 캐글에 가입해보세요, 머신러닝 커뮤니티에 가입하고 강좌를 듣고, 논문을 읽고, 콘퍼런스에 참관하고, 전문가와 만나보세요
도서의 분량은 두권으로 분리 될 정도로 많지만 머신러닝을 학습하고자 하는 님들에게 필요한 것들로 두권을 한달 가까이 정독을 하였다, 모든 예제를 실습하면서 읽었으면 하는 아쉬움이 남는다. 학습 하는 님들의 편의를 위해서 두권으로 나눈 것이 지하철에서 이동 하면서 읽기에 좋았다.
데이터 과학을 공부하지 않는 친구들에게 어려운 책이지만 기초 설명, 수학 이론, 실습, 예제를 통해서 접근 하고 있어서 수학 이론에 약한 나에게 수학 이론을 찾아 볼 수 있게 하여.좋았다.
1부에서는 머신러닝의 개념을 소개 하는 파트로 기본적인 머신러닝의 개념, 학습방법( 분류 / 모델훈련 / 서포트 벡터 머신 / 결정 트리 / 앙상블학습과 랜덤 포레스트 / 차원 축소 / 비지도 학습)에 대해서학습을소할 수 있고 2부에서는 신경망과 딥러닝의 학습 할 수 있다 특히 12장의 텐서플로의 구조 및 사용법, 타입변환/변수/다른 데이터구조, 사용자 정의, 주로 사용하는 함수에 대해서 설명하고 13장의 대용량 데이터셋에대한 멀티스레드와 큐를 사용하여, 여러 파일에서 동시에 읽고, 샘플을 셔플링하거나 배치로 만드는 등의 작업을 수행하는 것을 학습 할 수 있어서 좋았다.
파이션, 데이터 과학을 학습 한 친구들이 머신러닝을 학습 할 수 있는 교과서로 님들에게 추천 합니다.
AI 분야에서 단 한 권의 책만 읽을 수 있다면 주저없이 꼽고 싶은 명작. 드디어 3판 개정판이 발간되었다.
이 책은 참 묘한 책이다. 전체적으로 난이도가 높은 편임에도 부분 부분 읽다보면 의외로 읽기가 편하고 이해가 잘 되는 편이다.
엄밀한 수학적 정의를 다룬다든가 대부분의 논문 이해에 무리가 없을 수준의 깊이가 담겨있는 것은 아니지만 AI 진영에 두루 쓰이는 기술이 체계적으로 망라되어있다. 이 분야를 과학과 공학으로 나눈다면 과학보다는 공학 중심적인 내용을 담고 있다.
과학도 상당 부분 담겨있지만 과정의 도출보다는 결론을 깔끔하게 정리하는 식으로 기술되어있으며 이를 구현해 내는 것과 응용하는 데 보다 많은 도움을 주는 책이다.
따라서 이 분야의 기술을 숲을 보는 시각으로 두루 섭렵한다든가 프로그래밍 능력이 뛰어난 개발자가 AI 진영의 기술을 담은 서비스를 구현하는 데 많은 도움을 받을 수 있다. 물론 연구 진영에서도 AI분야의 비교적 최신 이론을 빠르게 정리하고 연구의 방향성을 잡는 데에도 큰 도움이 될 것이다.
이 책에는 1000페이지가 넘는 방대한 분량이 수록되어있음에도 어느 정도의 통계학적 혹은 데이터 관련 지식 - 예를 들면 그림으로 배우는 StatQuest 머신러닝 강의 책에 담긴 내용을 잘 숙지하는 정도-을 습득하고 있고, Python 중급 이상의 프로그래밍 실력을 갖춘 독자라면 긴 AI의 여정을 이 책으로 시작할 것을 권하고 싶다.
무언가를 골똘히 연구할 때나 고민하거나 혹은 문제해결을 위해 고심하고 있을 때 우리는 보통 마인드 맵과 같은 도구를 통해 생각을 정리하고 방향성을 잡는다.
이 책은 그런 마인드 맵에서 첫 출발 지점 동그라미의 위치로 적합한 책이다. 책 한 권으로 AI 진영의 폭넓은 지식을 한 눈에 파악하기에는 이 책보다 뛰어난 책이 없다고 생각한다. 방대한 내용을 담아내고 있음에도 하나하나의 주제는 매우 친절하고 자세하게 수록되어있고 직관적인 시각화를 통해 개념을 깊이있게 이해할 수 있도록 도와준다.
우선 머신러닝 서비스의 전반을 이해하는데에는 이 책의 1~2장 만으로도 충분하다. 2장의 실습을 진행하며 예측을 위한 머신러닝 모델을 어떤식으로 만들어나가는지 감을 잡는다면 뒤에 이어질 내용을 익혀 특정 데이터, 도메인, 기술, 아이디어, 문제에 심화 적용하기만 하면 되는 셈이다.
실리콘 밸리의 주택 가격을 예측하는 모델 하나를 만들어보는 과정으로 AI 진영에서 활용되는 기술 전반을 이해하기에 부족함이 없다. 더욱이 더 깊이있는 수준의 지식을 습득하는데 상당한 지적 호기심을 제공하여 향후 학습의 강력한 동기부여로 작용하기도 한다. 단 두개 챕터에 수록된 내용이지만 능히 한 권의 책을 낼 수 있을 정도의 분량이기도 하다.
이 책은 출판사의 배려로 3판부터는 2권의 책으로 나뉜다. 1권은 주로 머신러닝 내용을 다루고 있으며 케라스를 활용하여 간단한 딥러닝을 맛볼 수 있다. 머신러닝 대부분의 지식과 기술은 딥러닝에도 요긴하게 활용되므로 2권을 읽기 전에 충분히 개념을 학습해 두면 좋다.
이번 개정판에는 사이킷런에 추가된 새로운 기능들과 최신 라이브러리가 수록되었지만 1권에 해당하는 머신러닝 진영의 기술은 딥러닝에 비해 훨씬 오랜 기간 연구되었고 변화가 딥러닝 분야에 비해 적기 때문에 2판에 비해 크게 달라진 사항은 없다.
하지만 기술 측면에서 불필요하고 중요하지 않은 내용들이 많이 삭제되어 보다 집중력있게 핵심을 이해하는 데 도움을 주는 방향으로 편집된 것 같고 의외로 실무적으로 중요한 요긴한 팁들이 생략된 경우가 더러 있었는 데 그런 부분들이 알차게 보완된 느낌이다.
2판에서 계속 이어지는 기조 중에 정말 마음에 드는 것은 개인적으로 쉬운 내용 기술과 더불어 애매한 개념을 눈으로 보이게 하는 시각적 자료의 활용이 인상적이다.
예를 들면 3장에서 다루는 오차 행렬의 시각화는 볼 때마다 놀랍다. 2차원적인 동적 기억을 필요로하는 개념이라 보는 순간에는 이해가 되어도 기억이 휘발되고 나면 다시 깊이있는 통찰로 로딩하는데 제법 시간이 걸리는 이상한 지식 구조이다. (마치 법률 분야의 if에 따른 리걸 마인드 기억 구조와도 유사하다.)
어떤 책은 예측과 실제의 축을 거꾸로 명시해 많은 혼동을 주는가 하면 오차 행렬 혹은 혼동 행렬이라는 용어 답게 저자들도 혼동된 것인지 오류로 기술된 책들도 은근 많다. 반면 본 도서에는 이 오차 행렬표 내부에 숫자 그림이 들어가 있어 예시를 활용한 명쾌한 이해 및 개념을 잡는 데 도움을 주고 있어 저자의 전달력과 깊이 있는 인사이트에 여러번 감탄했다.
이런 장치는 책을 읽는 내내 여러번 경험할 수 있다. 아래 그림은 경사하강법의 여러 방식을 적용하며 실제 파라미터 공간에 표시된 경로를 시각화 한 것인데 예제를 실습하며 직접 구현해보려고 노력하다보면 말로는 전달하는 데 한계가 있는 경사하강법의 움직임을 눈으로 확인하고 직관적으로 이해하는 데 많은 도움을 받을 수 있다.
소프트맥스 회귀나 결정트리 등 알고리즘 설명 파트도 마찬가지이다. 대충 그렇다는 말 보다는 확실히 그림으로 경계선을 확인하고 파라미터 변수의 조정으로 달라지는 경계선을 눈으로 확인하는 것이 이 알고리즘을 확실하게 이해하는데 큰 도움이 된다.
하다 못해 통계의 가장 기초적인 성절인 대수의 법칙(큰수의 법칙)이나 차원의 저주도 눈으로 보여준다. 방대한 분량의 쉽지 않은 책을 때로는 매우 쉽게 만들어주는 묘한 장치들이다.
책에 수록된 코드를 실습하기 쉽게 안배하고 있는 점도 이 책의 뛰어난 장점 중 하나이다. 말로 설명하는 것 이상으로 실제 구현하고 눈으로 확인할 수 있게 도와주는 방식이 매력적이다. 이 책의 역자는 저자의 배려를 한층 업그레이드 하여 더욱 편리하게 실습할 수 있도록 도와주고 있어 인상적이었다. 역자의 깃허브로 들어가 Open in Colab 버튼만 누르면 되니 어지간히 게으른 독자도 실습 핑계를 대긴 어려운 구조이다.
2권부터는 딥러닝의 여정을 떠난다. 보다 저수준의 텐서플로 API를 활용하는 예제들이 등장한다.
특히 CNN, RNN, LSTM의 기본 3모델에서 더욱 확장된 ResNeXt, CSPNet과 같은 다양한 신형 모델들이 등장한다. 이는 이 책의 또 하나의 매력이기도 하다. 개정판이 나올 때마다 비교적 최신의 선풍적인 인기를 끌었던 새로운 모델들과 기술들이 소개되고 있어 개인적으로 매우 유익했다.
가진 레거시 환경의 변화 대비 AI 진영의 SOTA 지식들은 차고 넘쳐 이젠 따라갈 수 없는 지경에 이르렀다. 가진 역량의 한계로 소소한 변화는 더이상 추적할 수 없게 되었고 집중하는 분야의 SOTA를 파악하고 시스템에 반영하는 것도 무리수였는데 이 책 덕분에 그간 잃어버린 고리, 미씽 링크를 연결할 수 있어 저자에게 많은 감사를 느낀다.
그러면서도 내용은 더욱 풍부해졌다. RNN 모델을 다룰때도 전통적인 통계 진영의 시계열 모델링도 다루고 있어 비교 대조하면서 관련 지식의 깊이를 풍부하게 만드는 데 도움이 되었다.
ARIMA 모델은 전통적으로 오랜 기간 동안 그리고 지금까지도 잘 쓰이는 모델인데 딥러닝 도서 대부분에는 이 부분이 생략되어있어 양 진영의 시너지를 활용하기 부족함이 많았는데 이번 개정판에는 그런 부분도 신경쓰고 있어 더욱 알차게 구성되었다는 느낌을 받을 수 있었다.
한편 이번 개정 3판의 백미는 역시 딥러닝 파트의 커다란 변화인데 허깅페이스의 트랜스포머스 라이브러리나 잡음 제거 확산 확률 모델 DDPM 등 2020년 이후 굵직한 변화를 추적하기에 좋다.
3판이나 개정되면서 1권 영역은 성숙도가 높아졌으니 다음번에는 딥러닝 위주의 2권에 대한 개정판만 나와도 좋겠다는 생각도 든다.
방대한 내용을 한정된 리뷰로 모두 담아내는 것은 보통 무리가 아니었다. 처음엔 챕터별로 다른 책에서 익히기 힘든 내용들을 본 도서는 어떻게 기술하는지에 중점을 두고 리뷰를 작성했다가 폭발하는 분량이 감당이 안되어서 다시 줄여 썼는데 이러니 또 책이 가진 모든 장점을 잘 보여주지 못해서 안타깝다.
개인적으로 2판의 베타리딩에 참여하였기에 더욱 정이 가는 책이고, 이번 3판 역시 참여의 기회가 있었으나 개인적인 좋지 못한 사정으로 인해 참여하지 못해 많이 아쉬웠던 책이기도 하다. 그만큼 더 알찬 리뷰를 정리하고 싶었는데 방대한 규모와 책의 수준이 뛰어나 수준에 걸맞는 리뷰 작성에는 한계가 있다.
하지만 분명한 사실은 AI 분야의 관련 기술을 한 권의 책으로 이 보다 폭넓게 파악하고 가진 레거시에 적용하는데 있어 이보다 도움되는 책은 없을거라 확신한다. 관련 분야의 도서를 벌써 300권은 넘게 읽은 것 같은데 이 만한 책을 찾지 못했기에 더욱 확신한다.
머신러닝 관련 업무를 처음으로 맡았을 때 2판으로 공부를 시작했었던 기억이 있어서 3판도 기대감을 갖고 읽어봤습니다.
2판의 대부분의 내용이 그대로 있으면서 3판에서는 새로운 라이브러리 사용법과 NLP, 이미지처리, 생성형AI 관련된 딥러닝 최신 트렌드에 대해 업데이트가 되었습니다. 그 중 두가지 모델이 제 관심을 끌었습니다.
DistillBERT
사전 학습된 BERT모델에 단점인 제한된 리소스로 모델을 실행하기 어려운 점을 더 작고 빠른 BERT모델로 만들었습니다. 한국어로 번역하면 증류 BERT모델이라 불리는 이것은 사전 학습된 대형 BERT 모델을 선생님이라 생각하고 그곳에서 나온 지식을 학생에게 가르치는 느낌으로 지식을 이전하여 소형BERT모델을 만드는 방법입니다. 이로써 모델은 대형 BERT 모델에 비해 60% 속도향상, 40% 메모리 축소하였고 성능치는 97%수준으로 유지할 수 있습니다.
Vision Transformer
이미지 데이터를 N*N 작은 정사각형 모양으로 나눠 각각의 정사각형에 위치,순서정보를 기억하여 마치 텍스트의 시퀀스처럼 취급하며 사용하는 트랜스포머 모델입니다. 이 모델로 이미지의 문맥, 예를 들어 하늘에 떠 있는 비행기 사진을 보고 '비행기' 라고 검출하는 것이 아닌 '하늘에서 운행중인 비행기'라는 결과를 얻을 수 있습니다.
"핸즈온 머신러닝(3판)"은 인공지능의 세계로의 여정을 시작하는 이들에게 길잡이가 되어줄 필수 가이드북이다. 이 책은 단순한 이론 서술을 넘어, 독자들이 실제 상황에서 머신러닝을 적용할 수 있는 방법을 상세하고 친절하게 안내한다. 오렐리앙 제롱의 저술 방식은 교육적이면서도 실용적이며, 이를 통해 독자들은 기초적인 개념에서부터 복잡한 주제에 이르기까지 체계적으로 이해를 넓혀갈 수 있다. 또한, 박해선님의 통찰력 있는 번역은 이해도를 한층 높여준다.
이 서적은 구성이 체계적이다. 첫 번째 부분은 머신러닝의 기본을 다루며, 다양한 알고리즘과 전통적인 기법, 그리고 사이킷런을 사용한 실질적인 접근 방식에 초점을 맞춘다. 반면, 두 번째 부분은 심화된 내용으로, 딥러닝과 신경망을 중점적으로 다루며, 텐서플로와 케라스를 활용한 실제 적용 사례를 통해 독자들이 직접 경험할 수 있도록 구성되어 있다.
이 책의 독창성은 실습 위주의 접근 방식에 있다. 제롱은 이론을 실제 문제 해결에 연결시키는 데 능숙하며, 이를 통해 독자가 실제 세계의 문제에 대한 해결책을 모색하면서 학습할 수 있다. 실습은 코드 작성으로 이어지며, 이 과정에서 최신 오픈소스 라이브러리를 활용한 다양한 예제를 직접 다루게 된다. 이러한 접근 방식은 독자가 머신러닝의 실제 작동 방식을 체험하고, 이해도를 깊게 하게 만든다.
또한, 이 책은 머신러닝이라는 빠르게 변화하는 분야의 최신 트렌드를 반영하는 내용을 담고 있다. 최신 연구와 기술 동향에 대한 세세한 분석을 통해, 이 책은 독자가 현업에서 직면할 수 있는 다양한 문제에 대비할 수 있도록 돕는다. 이는 머신러닝의 다양한 적용 분야, 예를 들어, 자연어 처리나 컴퓨터 비전 등에 대한 심도 있는 통찰을 제공함으로써 이루어진다.
박해선님의 역할은 이 책이 한국 독자들에게 더욱 친숙하게 다가갈 수 있도록 만든다. 세심한 주석과 해설을 통해, 박해선님은 원서의 의미를 보다 정확하게 전달하고, 때로는 깊이 있는 배경 지식을 제공하여 독자의 이해를 돕는다. 이러한 노력은 이 책이 단순한 번역을 넘어, 한국의 문화적 맥락에서 머신러닝을 이해할 수 있는 소중한 자료가 되게 한다.
제롱의 저술 스타일은 전문가적인 지식을 바탕으로 친근하고 이해하기 쉬운 설명을 제공한다. 복잡할 수 있는 주제도 독자가 쉽게 접근하고 이해할 수 있도록 구성되어 있다. 박해선님의 번역은 이러한 점을 강조하며, 한국 독자에게 보다 맞춤화된 가이드를 제공한다.
최종적으로, "핸즈온 머신러닝(3판)"은 머신러닝 분야에 심층적으로 접근하고자 하는 이들에게 이상적인 도서다. 제롱의 깊은 전문 지식과 박해선님의 세심한 번역은 이 책을 통해 제공되는 정보의 가치를 높인다. 이 책을 통해 독자는 머신러닝의 이론과 실제 사례, 그리고 실무에 필요한 다양한 기술과 지식을 체계적으로 습득할 수 있다. 머신러닝의 세계로의 여정을 시작하려는 모든 이들에게 이 책은 실질적인 지침서가 될 것이다.
부제: "사이킷런, 케라스, 텐서플로 2로 완벽 이해하는 머신러닝, 딥러닝 이론 & 실무"
Microsoft는 ChatGPT를 기반으로 자사 제품들에 코파일럿(Copilot) 기능을 추가 함으로써 인공지능을 쉽게 활용할 수 있도록 만들었습니다. 인공지능이 접목된 제품과 서비스가 늘어남에 따라 개발자들도 인공지능에 대해 어느정도 이해하고 활용할 수 있어야합니다. 요즘 풀스택개발자는 프론트엔드, 백엔드 뿐만아니라 인공지능도 다룰 수 있어야 한다는 말도 있습니다. 개발자에게 인공지능에 대한 지식이 필수라면? 공부해야죠. (평생공부하는 직업이니까)
인공지능을 공부해보려고 검토한 책이 몇 권 있습니다.
- 혼자 공부하는 머신러닝+딥러닝
- 개발자를 위한 머신러닝&딥러닝
- 핸즈온 머신러닝
세 권의 책이 공통점이 있습니다. 저자/역자가 박해선님입니다. 개발자로 일하시다가 건강 문제로 쉬는 동안 인공지능을 공부해서 인공지능 분야 저자, 번역자로 활약하고 계시는 분입니다. (믿고 읽어도 되겠죠?)
'혼자 공부하는 머신러닝+딥러닝'은 혼자 기초를 공부해보려고 구매했고, '개발자를 위한 머신러닝&딥러닝'은 작년에 '<나는 리뷰어다>' 활동으로 제공받았습니다. 그리고 '핸즈온 머신러닝'은 조금 더 깊게 공부해보자는 생각으로 2판을 구매했는데 다 읽지 못한 상태에서 3판을 제공받았네요.
'핸즈온 머신러닝'은 머신러닝, 딥러닝 그리고 실무에 사용되는 다양한 분야를 인공지능 주요 라이브러리인 사이킷런(Scikit-Learn), 케라스(Keras), 텐서플로(TensorFlow)를 이용해서 다룹니다. 기초적인 내용부터 실무에 필요한 내용까지 다루고 있어 3판까지 꾸준하게 판올임하며 인기를 끌고 있는 것이 아닐까합니다.
이 책은 3판까지 번역된 도서로 머신러닝에 대해서 아는 것이 없다고 해도 이해하기 쉽게 정리된 도서입니다. 특히 개념 이해부터 도구 설명, 구체적 예제까지 이해를 돕기 위해 제공됩니다. 이 책은 노트북 컴퓨터 없이도 그냥 읽을수 있지만 코드 예제를 직접 실행해보는 것을 권장합니다.
이 책의 모든 코드 예제는 오픈 소스이며 온라인에서 주피터 노트북으로 제공됩니다. 쥬피터 노트북은 텍스트, 이미지, 실행 가능한 코드가 포함된 대화형 문서입니다. 또한 구글 코랩을 사용해 노트북을 실행하는 것입니다.
이 책은 파이썬과 주요 라이브러리(numpy, pandas, matplotlib…), 머신러닝 알고리즘에 대해 기본적으로 이해하고 본다면 도움이 될것입니다.
이 책은 두권으로 나눠져 있으며 1권은 머신러닝에 대해서, 2권은 신경망과 딥러닝에 대한 주제로 작성되어 있습니다.
1권의 주요 내용은 머신러닝이 무엇인가, 머신러닝의 종류와 기본 개념은 무엇인가, 단계별 머신러닝 절차, 데이터를 사용해 모델 학습시키기, 데이터 처리, 정제, 준비하기, 특성 선택과 특성 공학, 모델 선택과 교차 검증을 사용해 하이퍼파라미터 튜닝, 머신러닝 도전과제(과소적합/과대적합), 훈련 데이터 차원 축소, 가장 널리 사용되는 학습 알고리즘, 비지도 학습 방법등을 다룬다.
2권의 주요 내용은 신경망은 무엇인가, 텐서플로와 케라스를 사용해 신경망 만들고 훈련하기, 중요한 신경망 구조, 심층 신경망을 훈련 시키는 기법, 강화학습 방법, 대용량 데이터를 효율적으로 적재하고 전처리하기, 대규모 텐서플로 모델을 훈련하고 배포하기 등을 다룬다.
핸즈온 머신러닝 3판은 프랑스의 데이터 사이언티스트이자 작가인 오렐리앙 제롱이 집필한 머신러닝 입문서입니다. 2016년 출간된 1판을 시작으로 꾸준히 사랑받고 있는 베스트셀러로, 이번에 업그레이드된 3판이 출간되었습니다.
이번 3판에서는 최신 기술 트렌드를 반영하고, 실습 코드를 업데이트하여 더욱 완성도를 높였습니다.
저는 개인적으로 흥미로운 부분은 활성화 함수 중에 "ELU, SELU, GELU, Swish와 Mish" 그리고 최적화 부분에서는 AdaMax, Nadam 그리고 AdamW 등의 내용이 새롭게 추가되는 점이고 허깅페이스를 이용한 트랜스포머와 확산모델이 추가되었다는 점입니다.
또한, 모델을 서비스할 때 고려해야할 서빙 내용과 대규모 학습에 대한 내용도 기대가 되고 있습니다.
이 책은 입문서로 분류를 많이 하지만, 저는 아직도 실무르 할때 항상 참조하는 책입니다.
이번에 2권으로 내용이 확대되면서 처음부터 읽는 것은 부담이 될지 모르겠지만, 이책의 내용을 충분히 다 이해를 한다면 실무에서도 도움이 많이 될것이라 생각합니다.
운좋게 AI 일을 시작한 이래로 머신러닝 책을 꽤 읽었습니다. 간혹 아쉬웠던 때가 있었습니다. 입문서를 떼고 나면 그 다음에 할 만한 게 썩 마땅하지 않고, 심화서를 펼치면 저자가 요구하는 배경지식이 제 경험과 상이할 때가 있었습니다. 출판사에서 책 소개를 더 하기도 하고 선수과정을 안내하기도 합니다만 딱 맞아 떨어지지 않곤 했습니다. 흔한 일입니다.
'핸즈온 머신러닝(3판)'은 이전판에 비해 분량부터 압도적입니다. 살짝 놀랐습니다.
분철한 채로 나와서 가지고 다니기에 편합니다. 출판사가 잘 배려했습니다. 1권이 2권보다 두껍습니다. 머신러닝의 기본 개념부터 유용한 수준이면서도 기본적인 학습 절차를 다룹니다. scikit-learn(sklearn) 라이브러리를 요모조모 빠진 구석 없이 사용합니다. 그러면서 파라미터 공간은 무엇인지 epoch은 무엇인지 세세하게 알려줍니다. 통계 지식이 없는 독자는 경사하강법 같이 많이 들어보았어도 익숙하지는 못한 개념을 많이 접하게 됩니다. 도식 설명부터 코드 설명까지 일일이 챙겼기에 수식은 이해하지 못해도 무방합니다.
2권부터는 1권 말미에 맛만 봤던 딥러닝에 본격적으로 들어갑니다. 1권을 달달 외울 필요는 없지만 scikit-learn에는 익숙해지고 나서 2권에 들어가기를 권합니다. scikit-learn이 다루는 전통적인 통계와 데이터마이닝 기법은 머신러닝에 이어집니다. 반면 딥러닝은 최근 들어 아이디어와 기법이 눈부시게 발전했습니다. 상당 부분이 TensorFlow와 Keras 코드이더라도 다른 많은 부분은 scikit-learn과 파이썬 기본 기능입니다. 기본적인 코드의 기능이 다소 낯설다면 결국 TensorFlow 부분마저 이해하기 힘들 겁니다. 더구나 이미지, 텍스트 데이터를 넘나들고 생성 AI와 강화학습까지 언급하기에 정신을 차리기 힘들 지경입니다. 큰 모델을 다루며 GPU RAM까지 들여 봐야 하므로 부담스러울 수도 있겠습니다.
이런 일들이 어렵지 않은 사람은 없습니다. 용기를 내어 완독하기를 바랍니다. 완독하고 나서는 Kaggle을 둘러 보았을 때에 쉽지 않은 주제는 있겠으나 시작하지 못할 주제는 없다고 단언합니다. 욕심내지 않되 끈질기게 읽어내면 얻는 게 많을 겁니다.
모든 분야에서 Bible처럼 불리우는 책이 있습니다.머신러닝, 딥러닝에 관심이 있거나 업무에 활용하시는 분들은 이책을 들어보셨고 대부분 이책을 통해서 학습을 하시지 않았을까 생각합니다.이번에 같은 이름으로 [3판]이 나왔습니다. 기존 2판과 어떤점이 다른지는 뒤에서 설명드리겠습니다.책의 부제에서도 나와있는것 처럼 사이킷런, 케라스, 텐서플로2을 기술요소를 주로 사용하고 있고, google vertex등을 이용하는 부분도 뒤에 언급드리겠습니다.
책의 두께가 있다보니, 분철을 별도로 하지 않아도 기본적으로 책의 구성이 아래와 같이 되어 있습니다.
2판을 가지고 계신 독자분이 있으시면, 3판에서는 어떤 부분이 달라졌는지 가장 궁금하지 않으실까 합니다.
상세 변경 사항 : https://github.com/ageron/handson-ml3/blob/main/CHANGES.md
아래 글에서도 있듯이, 최근에 별도의 책의 주제로도 출간되는, 그레이디언트 부스팅, 트랜스포머스 등 새로운 기술이 언급되는 부분은
이 책을 통해서, 최신의 기술을 사용하고 학습 할수 있습니다.
■ 대상독자 / 소개
· 이 책은 머신러닝에 관해 아는것이 거의 없다고 가정하고 내용이 구성됩니다. 그래서 독자 대상은 모든분들이 되실거 같습니다.
· 박해선님의 번역관련 책은 대부분 해당 git에서 쉽게 jupyter 노트북 형태로 제공되어서, 쉽게 동작을 살펴볼수 있습니다.
· 분류 / 모델훈련 / 서포트 벡터 머신 / 결정 트리 / 앙상블학습과 랜덤 포레스트 / 차원 축소 / 비지도 학습에 대해서 다룹니다.
· 보통 머신러닝의 다양한 기법을 학습하였지만, 실제 업무에서 어떻게 활용할지 모를때 좋은 사례가 제시됩니다.
이것을 기반으로 사용기법의 흐름을 잡고, 적용할 수 있는 기준선이 될것 같습니다.
· 머신러닝의 종류에 대해서
- 훈련 지도 학습(지도, 비지도, 준지도, 자기지도, 강화학습)
- 실시간으로 점진적인 학습을 하는지 아닌지 (온라인 학습과 배치 학습)
- 사례기반 학습과 모델 기반 학습
에 대해서 항목별로 설명을 합니다. 예전에는 보통 개인적으로 지도, 비지도, 강화학습 보통 3가지 카테고리로 구성해서 설명하였는데 이 책에서는 좀 더 다양한 종류로 분리해서 범주를 소개합니다.
머신러닝의 첫 개념은 데이터를 어떻게 바라보는 관점이 매우 중요한데, 좋은 구성 같습니다.
준지도 학습 설명 그림
· 머신러닝 수행시, 보통 고민하게 되는 나쁜 데이터 사례에 대해서 정의합니다.
아래의 항목은 머신러닝을 잘 수행했지만, 실제 active의 결과값이 예측치와 다른 경우 주로 고민하게 되는 부분입니다. 아래 사항을 알고 있다면, 시행착오를 줄일수 있다고 생각합니다.
- 충분하지 않은 양의 훈련 데이터
- 대표성 없는 훈련 데이터
- 낮층 품질의 데이터
- 관련없는 특성
- 훈련 데이터 과대 적합
- 훈련 데이터 과소 적합
# 2장에서는"머신리닝 프로젝트 처음부터 끝까지" 라는 내용으로 보통 머신러닝의 회귀, 포레스트 특정 기법하는 관점보다는 전체적으로 처음 머신러닝을 업무에 적용해보고 싶을때의 막막함을 해소하고, 서비스에 적용하려고 할때 전체적인 process와 흐름 및 데이터를 수집하고, 가공하고 학습 이후에 무엇을 해야 할지 순차적으로 설명되어 지는 과정으로 되어 있어서 프로젝트를 하시는 경우 따라해야 할 기준선을 제공합니다. 뒤로 갈수록 검증검증, 튜닝, 테스트, 런칭, 모니터링, 유지보수에 대한 항목으로 구성되어 있어서 크게 흐름을 파악하기 좋은 부분입니다. 이론적인 것 뿐만이 아니라, 코드를 통해서 검증하는 예시도 포함되어 있습니다.
# 3장 "분류" 에서는 가장 보편적으로 사용하는 MNIST (70,000개의 작은 숫자 이미지) 데이터 셋을 통해서 학습합니다.
사이킷런을 통해서 이미지 분류를 진행합니다. 사이킷런의 SGDClassifier클래스를 이용해서 확률적 경사 하강법(SGD) 분류기로 시작해봅니다. 이 분류기는 매우 큰 데이터셋을 분류하는데 효율적으로 처리합니다. cross_val_score()함수를 통해서 모델을 평가합니다.
· 모델에 대해서 선형회귀 부터 진행합니다. 모델에 대해서 훈련시키는 방법중에 1) 닫힌상태 방정식 2) 경사 하강법의 경우가 있습니다.
선형회귀을 통하여 정규방식식을 통한 해석적인 방법, 계산복잡도, 경사하강법(GD)를 통해서 최적의 해법을 찾을수 있는 최적화 알고리즘을 이용합니다. 경사하강법은 매우 중요하기 때문에, 이 책에서도 다양하게 설명하고 있습니다. 배치경사 하강법, 확률적 경사 하강법, 미니배치 경사 하강법에 대해서 추가적으로 구성되어 있습니다.
· SVM이라고 불리우는 서포트벡터 머신의 내용은 5장에 설명되어집니다. 선형, 비선형분류, 회귀, 특이치 탐지에서도 사용 할 수 있는 다목적 머신러닝 모델입니다. SVM은 중소규모의 비선형 데이터셋(수백에서, 수천개의 샘플), 특히 분류작업에서 장점을 가집니다.
다양한 분류를 그림을 잘 구성되어 있습니다. SVM을 분류가 아닌 회귀에 적요하는 내용도 설명되어 집니다.
· 머선러닝중에 트리는 이해관계자에게 가시적으로 설명이 쉬운 알고리즘은 결정트리가 있다. 분류와 회귀 작업 그리고 다중 출력작업까지가능한 머신러닝 알고리즘 입니다. 또한 매우 복잡한 데이터셋도 학습할수 있는 강력한 알고리즘입니다.
최근에는 자주 사용하는 랜덤 포레스트(7장) 의 기본 구성요소이기도 합니다. 결정트리을 DecisionTreeClassifier를 통해서 훈련합니다.
회귀에 대한 문제는 DecisionTreeRegressor를 통해서 실습합니다. 우리가 일반적으로 알고 있는 tree의 의사결정은 아래 그림처럼 결정됩니다.
· 차원축소를 통한, 수백만 샘플중에 다양한 특성으로 인한 훈련이 느려지는 현상을 대처하기 위한 방법등이 소개됩니다. 매드폴드 학습, 주성분 분석등이 8장에 구성되어 있고, 9장에서는 비지도 학습 중 군집, k-평균 알고리즘, DBSCAN등의 내용으로 구성되어 있습니다.
핸즈온 머신러닝 3판이다. 지난번에 2판 리뷰글을 작성했는데 그때 그 책을 다 보지도 못했건만 어느새 이 3판이 나오다니... 2판에서 자세히 보지 못했기 때문에 이번엔 진짜 제대로 보겠다는 마음으로 3판을 보게 되었다! 그리고 역시나 이번에도 다 보진 못했다... 하지만 전체적으로 다시 훑어보면서 어떤 식으로 공부하면 좋을까? 고민하며 리뷰를 시작한다.
이 책은 뭐 하는 책인가?
출처 입력
책 제목에서 알 수 있듯이 이 책은 머신러닝 책이다. 그리고 아주 많은 내용 을 담고 있다.
아주 많은 내용을 담고 있다는 것에는 머신러닝에 포함되는 다양한 기술 을 담고 있다는 말이다.
GitHub - rickiepark/handson-ml3: <핸즈온 머신러닝 3판>의 주피터 노트북 저장소
<핸즈온 머신러닝 3판>의 주피터 노트북 저장소. Contribute to rickiepark/handson-ml3 development by creating an account on GitHub.
github.com
이런 책을 번역하는 것만으로도 정말 대단하신 분이라 생각한다.
엄청난 노고에 감사합니다.
마치며
출처 입력
사실 지금 글을 쓰는 나도 이 책 가지고 뭐라 뭐라고 할만한 수준도 안된다. 그냥 맛만 살짝 봤을 뿐이고 인공지능의 원리를 깊이 파는 것보다 당장에 있는 기술을 응용해서 뭔가 만들어 보는 것만으로도 할 수 있는 게 너무나 많다. 당장 허깅페이스에서 트랜스포머만 가지고도 할 수 있는 것들이 많다. 아니면 파이썬으로 이미 잘 만들어진 AI 관련 API를 가지고도 응용할 것들이 많다. 하지만 어떻게 동작하는 건지 원리를 파악하고 싶은 은 깊이 있는 분들이라면 이 책을 추천한다.
이제는 모든 산업 전반에 걸쳐 머신러닝을 빼고는 이야기하기 어려운 시대가 된 것 같다. 또한 다양한 머신러닝 개념이 쏟아지고 있는 상황에서 쉽게 접근하기도 어려운 상황인 것 같다. 대부분 머신러닝에 관련된 책들이 어느 한 두가지 도구를 이용하여 개념 및 실습하는 과정을 설명하기 떄문에 폭넓은 지식을 쌓기에는 부족한 느낌을 많이 받게 된다. 이 책은 이런 점에서 다양한 장점을 가지고 있는 책이다. 책의 표지에 나온 대로 사이킷런, 케라스, 텐서플로 2로 머신러닝과 딥러닝에 대해 이론과 실무를 모두 커버할 수 있다. 사이킷런을 통해 머신러닝 알고리즘을 배우고, 케라스를 활용하여 딥러닝을 구현하고, 텐서플로로 컴퓨터 비전, 자연어 처리 등 다양한 응용 분야를 접할 수 있다.
이 책은 읽는 사람이 머신러닝에 대해 경험이 없다는 것을 가정하고 시작한다. 따라서 데이터로 부터 학습할 수 있는 프로그램을 구현하기 위해 필요한 개념과 직관, 도구를 설명하고 있다. 예를 들어, 사이킷런은 사용법이 간단하고 많은 머신러닝 알고리즘이 효율적으로 구현되어 있기 떄문에 머신러닝을 처음 배울 때 사용하기 쉽다. 케라스는 고수준의 딥러닝 API로서 쉽게 신경망을 훈련하고 실행할 수 있다. 텐서플로는 분산 수치 계산을 위한 복잡한 라이브러리로써 GPU 서버에 계산을 분산하여 대규모 신경망을 효과적으로 훈련하고 실행할 수 있다. 이러한 개념을 바탕으로 실제 활용할 수 있는 방법을 제시하면서 구체적인 작동 예제와 이론을 통해 머신러닝을 직관적으로 이해할 수 있도록 한다.
책은 총 2부로 구성되어 있다. 약 1,000여 페이지에 달할만큼 방대한 양을 가지고 있다. 1부 머신러닝에서는 머신러닝의 개념과 프로젝트 단계, 데이타에 따른 학습과 비용 최적화, 모델 선택 및 학습 알고리즘에 대해 소개한다. 2부 신경망과 딥러닝에서는 신경망에 대한 개념과 중용한 신경망 구조, 신경망 훈련 방법 및 강화학습 등에 대해 설명한다.
책의 곳곳마다 그래프와 실제 테스트 가능한 코드들이 있기 때문에 수시로 코드를 실행하고 그 결과를 확인할 수 있다. 또한 각 장마다 연습문제가 나오는데 이 또한 부록에 해답이 있기 때문에 문제를 풀어보고 자신이 제대로 이해했는지 확인도 가능하다. 한번에 모든 것을 다 할 수는 없겠지만 이 책을 통해 머시러닝와 딥러닝에 대한 개념을 이해하고 실제 동작 가능한 코드를 가지고 테스트해 봄으로써 자신이 원하는 기능으로 확장하는 것도 가능한 것 같다. 어느정도 파이선 개발 경험이 머신러닝을 쉽게 접할 수 있게 해 주는 책이라고 생각한다.
저자인 오렐리앙 제롱의 "핸즈온 머신러닝"은 머신러닝 세계에 입문하려는 사람들을 위한 귀중한 자료로 평가받고 있는 유명한 책으로 실용적인 접근 방식, 개념의 포괄적인 커버리지 및 인기 있는 파이썬 라이브러리를 사용한 실습을 통해 머신러닝에 이제 막 접하기 시작한 입문자부터 경험이 많은 현업에 종사하고 있는 전문가 모두에게 도움이 되는 귀중한 책이라고 생각합니다.
이번에 새로 출간된 "핸즈온 머신러닝 3판"은 1판과 2판에 이어 이번에 3판으로 개정이 되어 새로 출간된 도서로서, 전체적으로 기존의 코드들이 새로운 버전으로 새로 수정이 되었으며, 사이킷런에 새롭게 추가된 많은 기능들을 소개하고, 트랜스포머 라이브러리, 케라스의 새로운 전처리 데이터 증식 층등도 소개하고 있습니다.
(도서의 2, 3판의 변경된 부분에 대한 자세한 내용은 13~15페이지를 참고하세요.)
지도학습과 비지도학습, 모델 평가 기법, 특징 공학 전략 및 데이터 전처리 방법과 같은 개념들을 명확하고 알기 쉽게 설명해주며, 복잡한 개념들을 이해하기 쉬운 설명과 그림을 통해서 새로운 것에 대한 접근하기 어렵지 않게 도움을 주고 있습니다.
책에서 진행되는 다양한 머신러닝 알고리즘에 대해 깊이 있게 다룹니다. 선형 회귀부터 결정 트리와 같은 앙상블 방법(랜덤 포레스트)까지 각각의 알고리즘에 대해 철저하게 설명하며 사이킷럿(Scikit-Learn)을 사용하여 구현하는 코드 예제를 제공해 주고 있으며, 각 장마다 실전 연습 문제를 제공하여 독자들이 이러한 알고리즘을 실제 데이터셋에 적용하는 경험을 할수 있도록 도움을 줍니다.
"핸즈온 머신러닝"의 큰 장점 중 하나는 Keras와 TensorFlow를 사용하여 딥러닝에 대해 상세히 다룬다는 것입니다. 저자는 신경망에 대한 단계별 소개를 제공하며 합성곱 신경망(CNN)과 순환 신경망(RNN)을 사용하여 이미지 인식 작업 및 순차 데이터 분석 작업에서 강력한 모델일 구축하는 방법도 보여줍니다. 이 부분에서 독자들은 대용량 데이터셋 관련 복잡한 문제를 해결하기 위해 필요한 도구와 기술 스킬을 배울 수 있으며, 뿐만 아니라 "핸즈온 머신러닝"은 종합적인 머신러닝 프로젝트 접근 방법에 대해서도 안내합니다.
도서의 제목에서도 알수 있듯이 주피터 노트북 또는 코랩을 이용해서 공개되어 있는 데이터셋등을 다운받아서 실습을 해보면서 이해할수 있도록 도움을 주고 있으며, 책이 1000페이지가 넘을 정도로 출간된 왠만한 머신러닝책에서 다루고 있는 필수적으로 알아야 하는 거의 모든 알로리즘들을 대부분 다루고 있기 때문에 머신러닝에 대한 바이블과 같은 책으로, 이 책 한권으로 머신러닝 프로젝트를 처음부터 끝까지 완성하는데 도움이 될거라 생각 합니다.
3판은 전작과 다른 몇가지가 있는데 그 중에 저에게 도움이 된 부분은 텐서플로우가 버전2로 업데이트 되었고 케라스 코드로 대체가 되었다는것과 몇가지 최신(아주 최신은 아니지만)내용이 추가 되었다는 것입니다.
그 중 제가 주로 사용하는 TFLite에 대한 내용도 간략하지만 추가가 되었습니다. 하지만 주 내용이 아니라서 간단한 사용법만 다룬것은 조금 안타깝지만 워낙에 유명한 책(초소형 머신러닝 TinyML: 이전 포스팅에 소개를 한 적이 있습니다. 역시 한빛미디어에서 번역한 책입니다)이 있기 때문에 소개만으로도 만족할만 합니다. 비전트랜스포머 역시 내용이 추가 되었지만 간단한 설명이라서 역시 아쉽기는 합니다. 시중에 비전트랜스포머에 대해 다루는 책이 거의 없는것을 볼때 아마도 시간이 더 지나야 관련내용들이 설명된 책들이 나오지 않을까 싶습니다.
한두가지 아쉬운 점을 적기는 했지만 이 책은 그것보다는 머신러닝(딥러닝)을 좀더 넓은 시선을 가지고 풀어나가는 느낌이 들었습니다. 학교에서 쓰는 교재처럼 전 분야에 걸쳐서 설명을 하고 있다는 생각이 듭니다.
내용을 좀 더 들여다 보면,
1부에서는 머신러닝에 필요한 필수 내용들을 다루고 있습니다. 예전에 사용되었던 알고리즘들과 관련된 수학들에 대한 설명들이 잘 만들어져 있었습니다. 이런 내용들을 공부하기 위해 여러권의 책들과 논문들을 읽을 필요가 없이 이 한권으로 잘 설명이 되어 있는것 같습니다. 이전에 공부한 내용을 리마인드 하기위해 여러권의 책을 구입해서 읽었는데 일찍 이 책을 알았으면 한권으로 해결하지 않았을까 하는 생각도 듭니다.
2부에서는 텐서플로우(케라스)로 딥러닝에 대한 설명을 하고 있습니다. 앞부분에는 케라스를 이용해서 모델을 구현하는 내용을 설명하고 있고 이 후에는 CNN, RNN, 어텐션 같은 모델에 대해서 하나하나 자세히 설명을 해 주고 있습니다.
1부가 리마인드 하는데 도움을 주었다면 2부에서는 모델을 구현하는 기초적인 방법에 대한 설명이 큰 도움이 되었습니다. 2권 초반부에서 간단한 모델을 시작으로 구조가 변할때 어떻게 케라스로 적용을 해야 하는지를 잘 알려줍니다. 구현이 처음이거나 복잡한 모델을 어떻게 구현해야 할지 모르는 사람들에게 도움이 될것 같습니다. 이 과정을 거치고 나니 모델들을 이해하는것이 좀 더 쉬워진것 같습니다.
이 책에서 가장 마음에 드는 부분은 관련 주제에 대한 큰 그림을 보여준다는데 있습니다. 책을 따라서 코드를 입력하고 그 결과를 보는것은 쉽게 할수 있지만 그 이후에 자신이 가지고 있는 문제에 실제로 적용하기 위해서는 동작과정(혹은 구조)을 이해하는것이 필요한데 그 내용 또한 잘 설명이 되어 있다는것이 장점인것 같습니다.
딥러닝을 처음 접하거나 딥러닝을 알기는 하는데 적용하는데 어려움을 겪는 분들 그리고 만들어져 있는 코드를 사용하는것이 아닌 직접 코드를 만들어보고 싶은 분들이 보시면 좋을것 같은 책입니다.
핸즈온 머신러닝은 말할필요도 없을 정도로 머신러닝계의 바이블이다. 과거 2판을 읽은 적이 있었는데 그때보다 책이 양적으로나 질적으로나 더 발전했다는것을 알 수 있었다. 양적으로는 책을 2권으로 분리할 정도로 내용이 더 풍부해졌다는 것이고, 질적으로는 최신 개발환경을 적용했다는 것이다. 머신러닝을 처음 시작하는 사람들이나 이미 어느정도 아는 사람들도 참고하면서 머신러닝에 대한 원리를 파악하기 정말 좋은 책이다.
2006년 제프리 힌턴의 정확도 98%로 손글씨 숫자를 인식할 수 있는 심층 신경망 훈련 기법에 관한 논문 발표 이후 불과 몇년만에 머신러닝은 산업계를 정복했는데요~
만약 지능을 갖춘 로봇을 만들고 싶다거나 얼굴을 인식하게 하거나 걸어서 돌아다니게 만들고 싶다면 이 책을 이용해 머신러닝에 도전해 보시길 바랍니다.
책 소개
이 책의 목표는 데이터로부터 학습할 수 있는 프로그램을 구현하기 위해 필요한 개념과 직관,도구를 설명하는 것입니다.
책의 구성은 다음과 같이 1부와 2부로 나뉘어져 있으며
1부 머신러닝에서는 다음과 같은 주제를 다루고 있습니다.
머신러닝의 기본개념
전형적인 머신러닝 프로젝트 단계
데이터를 사용해 모델 학습시키기
데이터처리,정제, 비용함수 최적화하기
특성선택과 특성공학
모델 선택과 교차 검증을 사용해 하이퍼파라미터 튜닝하기
기타 머신러닝에 대한 기본 지식을 사이킷런을 이용하여 실습과 함께 진행을 합니다.
2부 신경망과 딥러닝에서는 다음 주제를 다루고 있습니다.
신경망이 무엇인지 살펴 보기
텐서플로와 케라스를 사용한 신경망 만들고 훈련시키기
피드포워드신경망,비전을 위한 합성곱신경망,순차처리를 위한 LSTM,자연어 처리를 위한 트랜스포머,생성학습을 위한 오토인코더와 GAN
강화학습을 사용하여 전략을 학습할 수 있는 에이전트를 만드는 방법
대용량 데이터를 효율적으로 적재하고 처리하기
위와 같이 2부에서는 좀 더 깊이 있는 신경망과 딥러닝을 해부해 보고 실전에서 사용할 수 있는 방법등을 다루고 있습니다.
이 책은 내용의 양이 방대하여(무려 1000페이지가 넘는 양) 1부와 2부로 나뉘어져 있으며 저는 전자책으로 보고 있지만 실물 책으로는 두권으로 분리를 할 수 있다고 합니다.
1판에서 2판으로 변경사항은 텐서플로 1.x 에서 텐서플로 2.x 로 마이그레이션 되었습니다. 텐서플로 1.x 버젼의 코드가 텐서플로 2.x에서 실행 되지 않는 문제점이 있는데 2판에서 2.x 버젼으로 변경하였는데 3판에서는 모든 코드를 최신 라이브러리 버젼으로 업데이트 되었습니다.
또한 3판에서는 자연어처리(트랜스포머 + 허깅페이스)와 생성 모델을 추가로 다루고 시계열 예제를 실전 데이터를 사용하도록 바꾸었습니다.
서평
핸즈온 머신러닝 3판은 머신러닝을 처음 시작하는 분들께 추천하는 책입니다.
머신러닝의 기본 개념 부터 실습까지 체계적으로 학습할 수 있으며 최신 머신러닝 기술과 트렌드를 반영하고 있습니다.
먼저 구성을 살펴 보면 각 장 마다 머신러닝의 개념을 충분히 설명한 다음 실제 데이터를 이용한 실습을 통해 이론에 대한 개념을 깨우치도록 구성이 되어 있습니다.
또한 현재 챗GPT에서 사용되고 있는 트랜스포머와 같은 자연어처리와 생성 모델등 최신 기술과 트렌드를 반영하여 머신러닝의 최신 동향을 파악할 수 있습니다.
그리고 실습파일로 제공되고 있는 노트북 파일은 코랩에서 직접 실습을 진행해 볼 수 있기 때문에 동작하는 원리를 하나하나 실습해 보면서 머신러닝의 원리를 깨닫게 될 것입니다.
머신러닝 모델과 훈련 알고리즘을 블랙박스처럼 내부 작동 방식을 몰라도 많은 일을 처리 할 수 있지만 이 책에서는 알고리즘이 어떻게 작동하는지, 어떤 모델을 선택하는 것이 좋은지, 올바른 훈련 알고리즘이나 작업에 맞는 좋은 하이퍼파라미터를 빠르게 찾는 방법등에 대해서 자세히 다루고 있습니다.
머신러닝의 개념부터 고급 개념까지 다루고 있기 때문에 입문자라면 이해하는 부분까지 쭉 따라서 익혀 보시고 이해 되지 않는 부분은 건너 뛰었다가 나중에 여러번 책을 펼쳐 봐도 좋을 책인것 같네요.
따라서 이 책은 머신러닝을 공부하시는 분들이라면 꼭 한권은 소장해야 할 책이 아닌가 싶네요.^^
인공지능 분야 전 세계 1위 베스트셀러로도 유명한 핸즈온 머신러닝입니다! 인공지능 분야의 바이블로도 불리는 이 책은, 초보자부터 시작하여 전문가까지 머신러닝의 정의 및 사용 방법에 대해 상세히 적혀 있습니다. 이번 3차 개정판은 지난 버전과 비교하여 분책을 하여 난이도 조절에 더욱 신경을 썼고, 최신 트렌드에 맞는 내용들이 많이 포함되어있다고 합니다.
머신러닝을 전혀 모르는 입문자들도 머신 러닝과 일반 프로그래밍과의 차이점이 무엇인지, 그리고 설치부터 구현까지 이해하기 쉽게 적혀 있습니다. 보통 책의 난이도를 생각해보면 아예 초보자분들을 기준으로 쓰거나 혹은 실무자 기준으로 쓰는 등 치우치기 마련인데, 머신 러닝 분야에 대해 잘 모르는 저도 딱 보았을 때 이해하기 쉬운 부분들이 많아 입문하기 좋았던 것 같습니다.
책은 머신러닝을 왜 사용하는지부터 시작하여 케이스, 시스템의 종류, 학습 방법, 그리고 이 과정에서 구현할 때 어떤 문제들이 생기는지 등 상세하게 적혀 있습니다. 특히 충분하지 않은 훈련 데이터나 대표성이 없고, 품질이 낮은 등 여러 이슈들이 생기는 원인에 대해 꼼꼼하게 알려주며, 머신 러닝의 기초에 대하여 자세히 알려준단 점에서 저를 포함한 초보자분들께 유익한 내용들로 1권은 구성되어 있습니다.
2권은 실무자들을 위한 내용들로 구성되어있는 것 같아 초보자인 저는 1권 위주로 보았는데요. 데이터 준비나 모니터링, 시스템 메인터넌스 등 과정에 대하여 직접 할 수 있는 핸즈온 액티비티들이 매우 많아, 직접 코드 작성 및 실행을 해보며 결과를 이해하는 과정이 정말 좋다고 느껴졌습니다. 난이도가 그렇게 높지 않고, 그렇다고 깊이감이 얕은 구성도 아니다보니 이해하기 쉬웠어요 코드 뿐만 아니라 도식화된 그림 내용들을 활용하여, 어떤 흐름으로 머신 러닝이 진행되는지에 대해서도 알 수 있어 더 좋다고 느껴졌습니다.
머신러닝 입문자분들 뿐만 아니라 실무자분들을 위한 바이블 책으로, 두 권 구성으로 머신 러닝의 기초와 심화 과정에 대하여 제대로 익히길 원하시는 분들이시라면 해당 책을 적극 추천 드립니다.
머신러닝&딥러닝을 공부하는 사람이라면 반드시 이름 정도는 들어봤을 유명한 책 '핸즈온 머신러닝'의 3판이 새로 나오게 되었다. 이번에는 이 책을 전자책으로 접했기 때문에 잘 실감은 나지 않았으나, 1000페이지가 넘어가는 막대한 분량에 종이책은 분권으로 나왔다는 소식을 접했다.
그만큼 이 책은 방대한 양의 내용을 담고 있으며, 사실상 머신러닝을 공부하면서 알아야 할 기초적인 내용의 대부분을 담고 있는 책이라 할 수 있다.
이 책의 좋은 점은 머신러닝에 관한 내용만 담고 있는 것이 아니라 2부 신경망과 딥러닝 부분에서 컴퓨터 비전, 자연어 처리, 오토인코더, GAN, 강화학습 등 현재 활발하게 사용 및 연구되고 있는 기술/분야에 대해서도 설명을 적어놓았다는 것이었다.
이 책으로 머신러닝에 대한 지식을 쌓은 후, 딥러닝으로 넘어가면서 어떤 분야로 자신의 관심사를 넓히면 좋을지에 대해서도 알아보기 좋은 기회를 제공하고 있다고 할 수 있다.