초보자를 위한 기계 학습 서적 7권

기계 학습과 인공 지능은 성장하는 분야이자, 점점 더 많이 연구되는 주제입니다. 뉴스에서 말하는 기계 학습의 미래적 구현이 무섭고 이해하기 어렵게 들릴 수 있지만 실제 핵심 개념은 파악하기가 꽤 쉽습니다. 이 문서에서는 기계 학습 초보자 또는 배우는 데 호기심이 있는 모든 사람에게 가장 인기 있는 리소스 몇 가지를 살펴보겠습니다. 이 책들 중 일부는 코딩 언어와 수학을 어느 정도 알고 있어야 하는데, 그런 경우에는 반드시 언급하겠습니다. 우리말로 번역된 책은 한글판 제목을 괄호 안에 표기했으며, 모든 책의 사이트는 영어 페이지로 링크됩니다.

1. “Machine Learning For Absolute Beginners: A Plain English Introduction(제2판)”, 저자: Oliver Theobald

저자: Oliver Theobald
웹 사이트: Amazon

책 제목만 봐도 알 수 있지 않습니까? 초보자용으로 완벽한 기계 학습 입문서를 원한다면 이 책부터 보는 것이 좋을 것입니다. 저자인 Theobald가 ‘완전 초보’라고 말할 때에는 전적으로 정말 초보 수준을 의미합니다. 수학적 배경지식이나 코딩 경험이 필요하지 않으며, 기계 학습에 관심 있는 모든 사람을 위한 해당 주제에 관한 한 가장 기본적인 입문서입니다.

초보자가 기술 전문 용어에 압도당하지 않도록 ‘쉬운 말’로 썼다는 것이 이 책의 장점입니다. 명확하고 이해하기 쉬운 설명과 시각적 예제가 다양한 알고리즘에 더해져서 내용을 따라가기가 쉽습니다. 기계 학습을 구체적인 맥락 안에 적용할 수 있게 간단한 프로그래밍 몇 가지도 소개합니다.

2. “Machine Learning For Dummies”, 저자: John Paul Mueller, Luca Massaron

저자: John Paul Mueller, Luca Massaron
웹 사이트: Amazon

‘완전 초보’로 지내는 동안, 인기 있는 ‘Dummies’ 시리즈 중 읽어볼 만한 또 하나의 유용한 책이 있습니다. 이 책은 독자가 기계 학습의 기본 개념 및 이론, 실생활에 적용되는 방식에 친숙해지도록 돕는 것을 목표로 합니다. 기계 학습에 필수적인 프로그래밍 언어와 도구를 소개하고, 소수의 전문가만이 이해할 수 있는 것처럼 보이는 기계 학습을 어떻게 실용적인 것으로 바꾸는지에 관해 설명합니다.

이 책에서는 기계에 패턴을 검색하여 결과를 분석하도록 지시하는 데 사용되는 Python 및 R 언어 코딩을 일부 소개합니다. 쉬운 작업과 패턴을 접하면서, 기계 학습이 웹 검색, 인터넷 광고, 이메일 필터, 사기 감지 등에 걸쳐 일상생활에 얼마나 유용한지를 추론할 수 있게 됩니다. 이 책을 통해, 기계 학습의 영역으로 한 걸음 들어올 수 있습니다.

3. “Fundamentals of Machine Learning for Predictive Data Analytics: Algorithms, Worked Examples, and Case Studies”(데이터 예측을 위한 머신 러닝 - 기본 알고리즘 및 적용 예제.사례 연구로 살펴보는), 저자: John D. Kelleher, Brian Mac Namee, Aoife D'Arcy

저자: John D. Kelleher, Brian Mac Namee, Aoife D'Arcy
웹 사이트: Amazon

이 책은 기계 학습이라는 주제의 이론을 탐구하고, 지식이 온전히 이해되도록 실제 적용, 작동 사례 및 사례 연구를 사용하며, 기계 학습에 관한 모든 기본 사항을 다룹니다. ‘Fundamentals’는 분석 지식이 어느 정도 있는 사람에게 가장 적합합니다.

기계 학습을 이용한 다양한 학습 접근법을 소개하고 각 학습 개념에 알고리즘 및 모델을 함께 소개하는 한편 개념이 실제 사용되는 예를 보여 주는 작동 사례가 포함되어 있습니다.

4. “Programming Collective Intelligence”(집단지성 프로그래밍), 저자: Toby Segaran

저자: Toby Segaran
웹 사이트: O'Reilly | Amazon

이 책은 기계 학습 입문서라기보다는 기계 학습의 구현에 필요한 실용적인 현장 가이드라고 할 수 있습니다. 이 책에서는 기계 학습의 알고리즘을 만들어 특정 프로젝트에 유용한 데이터를 수집하는 방법을 알아봅니다. 독자는 웹 사이트의 데이터에 액세스하고, 응용 프로그램의 데이터를 수집하는 프로그램을 만드는 법과, 수집한 후에 그러한 데이터의 의미를 발견하는 법을 배우게 됩니다.

‘집단지성 프로그래밍’은 필터링 기법, 그룹 또는 패턴 감지 방법, 검색 엔진 알고리즘, 예측 방법 등에 대해서도 소개합니다. 각 장마다 배운 내용을 적용해 보는 연습 문제가 포함되어 있습니다.

5. “Machine Learning for Hackers”(해커 스타일로 배우는 기계학습), 저자: Drew Conway, John Myles White

저자: Drew Conway, John Myles White
웹 사이트: O’Reilly | Amazon

여기에서 ‘해커’란 단어는 보다 기술적인 의미, 즉 특정 목표와 실제 프로젝트에 맞도록 재빨리 코딩하는 프로그래머의 의미로 사용됩니다. 수학에 조예가 깊지는 못 하지만 프로그래밍 및 코딩 언어 사용 경험이 있는 사람에게 ‘해커 스타일로 배우는 기계 학습’이 딱 맞습니다. 기계 학습은 데이터 구문 분석을 위한 알고리즘이 필요하기 때문에 보통 많은 수학 지식을 기반으로 하지만 경험이 풍부한 프로그래머라고 해서 항상 높은 수준의 수학 기술을 가지고 있는 것은 아닙니다.

이 책에서는 수학 이론을 많이 사용하기보다는 실생활의 유용한 적용 사례 자료를 나타내는 사례 연구에 대한 실습을 사용합니다. 기계 학습의 일반적인 문제와 R 프로그래밍 언어를 통해 그 문제를 해결하는 방법을 보여줍니다. 투표 기록을 기준으로 미국 상원의원을 비교하는 것부터 Twitter에서 팔로우할 인물을 추천하는 시스템을 구축하고, 이메일 텍스트에 근거하여 스팸 메일을 감지하는 것까지 기계 학습 적용 사례는 끝이 없습니다.

6. “Machine Learning in Action”(머신러닝 인 액션), 저자: Peter Harrington

저자: Peter Harrington
웹 사이트: Amazon

“Machine Learning in Action”은 실제 적용 이면에 숨은 개념뿐만 아니라 초보자에게 기계 학습에 필요한 기술을 단계별로 안내하는 가이드입니다. 개발자에게는 분석에 필요한 데이터를 얻기 위한 자신의 프로그램을 코딩하는 방법을 배우는 자습서 역할을 합니다.

이 책에서는 실제로 사용되는 기술을 알고리즘 자체에 역점을 두고 배우게 됩니다. 프로그래밍 언어 스니펫은 코드 및 알고리즘 예제를 제공하여, 기계 학습을 바로 시작하여 어떻게 진전되는지 볼 수 있게 합니다. Python 프로그래밍 언어를 알고 있다면 대부분의 예제에서 그 언어가 사용되므로 도움이 됩니다.

7. “Data Mining: Practical Machine Learning Tools and Techniques”(데이터 마이닝 - 데이터 속 숨은 의미를 찾는 기계 학습의 이론과 응용), 저자: Ian H. Witten, Eibe Frank, Mark A. Hall

저자: Ian H. Witten, Eibe Frank, Mark A. Hall
웹 사이트: Amazon

‘데이터 마이닝’의 저자는 기계 학습의 기술적 업무와 특정 마이닝 기법으로 필요한 데이터를 수집하는 방법을 집중적으로 다룹니다. 기계 학습의 기술 세부사항으로 들어가, 결과를 평가하는 데 다양한 입출력을 사용하는 방법뿐만 아니라 데이터를 확보하는 방법을 설명합니다.

기계 학습은 끊임없이 변화 중이므로, 현대화와 이 분야를 결정짓는 새로운 소프트웨어에 대해서도 논의합니다. 최신 연구 및 도구와 함께 기존 기술도 소개합니다. 특히 주목할 만한 것은 저자가 응용 기계 학습의 예로 직접 개발한 소프트웨어, Weka입니다.

고지 사항: Tableau는 이 문서에 나열된 제품 또는 그 안에 나온 의견을 공식적으로 홍보하거나 그로 인한 이득을 얻지 않으며 그와 같이 이 페이지는 제휴사 링크 프로그램을 포함하고 있지 않습니다. 이 문서는 순수하게 교육 목적으로 만들어졌으며 제품 및 출판물에 대한 위의 정보는 독자가 스스로 정보에 기반한 결정을 내릴 수 있도록 제공하는 것입니다.