들어가며

들어가며 | 목차 | 1장 컴퓨터는 데이터에서 배운다

 

뉴스와 소셜 미디어를 보면서 머신 러닝이 이 시대에서 가장 각광받는 기술 중 하나가 되었다는 사실을 알고 있을 것입니다. 구글, 페이스북, 애플, 아마존, IBM 같은 거대 기업들은 타당한 이유가 있기 때문에 머신 러닝을 연구하고 적용하는 데 막대하게 투자하고 있습니다. 머신 러닝이 현대의 유행어처럼 들릴지 모르지만 결코 하나의 유행은 아닙니다. 놀라운 이 분야는 새로운 가능성을 열었고 일상생활에 없어서는 안 될 존재가 되었습니다. 스마트폰의 AI 음성 비서와 대화하고, 고객에게 상품을 추천하고, 신용 카드의 부정 거래를 방지하고, 스팸 이메일을 걸러 내고, 질병을 감지하고 진단하는 등 예를 들면 끝이 없습니다.

여러분이 뛰어난 문제 해결 전문가로서 머신 러닝 기술자가 되길 원하거나 머신 러닝 연구 분야에서 경험을 쌓길 고려한다면 이 책이 도움이 될 것입니다. 초보자는 머신 러닝의 이론적 배경에 압도될 수 있습니다. 최근에 출간된 활용서들을 보면 고성능 학습 알고리즘을 구현하면서 머신 러닝을 배울 수 있을 것입니다.

실용적인 코드 예제와 머신 러닝 애플리케이션 예제를 다루어 보는 것이 이 분야를 시작하는 좋은 방법입니다. 배운 것을 구체적인 예제로 실제 만들어 보면 광범위한 개념을 이해하는 데 도움이 됩니다. 하지만 좋은 만큼 책임도 뒤따른다는 것을 잊지 마세요! 책에서는 파이썬 프로그래밍 언어와 파이썬 기반의 머신 러닝 라이브러리를 사용하여 머신 러닝을 실습해 볼 수 있습니다. 거기에 더해서 머신 러닝 알고리즘의 수학적 이론을 소개합니다. 성공적으로 머신 러닝을 사용하기 위해 꼭 필요한 부분입니다. 따라서 책은 다른 활용서와는 달리 필수적인 머신 러닝 이론을 설명합니다. 또 머신 러닝 알고리즘의 작동 방식과 사용 방법, 특히 빠지기 쉬운 실수를 피하는 방법을 쉽고 알차게 설명합니다.

요즘 구글 스칼라(Google Scholar) 웹 사이트에서 ‘machine learning’을 검색하면 180만 건이라는 엄청난 양의 논문이 찾아집니다. 물론 지난 60년간 알려진 각기 다른 알고리즘과 애플리케이션의 핵심 사항을 모두 설명할 수는 없습니다. 책에서는 여러분이 이 분야에 빨리 첫발을 내딛을 수 있도록 필수적인 주제와 개념을 다루겠습니다. 책에서 제공하는 정보만으로 충족되지 않는다면 제시하는 참고 자료로 이 분야의 중요한 성과들을 따라갈 수 있을 것입니다

머신 러닝의 이론을 이미 자세히 공부한 적이 있다면 이 책은 배운 지식을 실전에 사용하는 데 도움이 될 것입니다. 여러분이 이전에 머신 러닝을 사용한 적이 있는데 머신 러닝의 작동 방식을 더 알고 싶다면 이 책이 제격입니다. 머신 러닝이 완전히 처음이라고 해도 걱정하지 마세요. 이 분야의 매력에 빠질 이유가 많습니다. 약속하건대 머신 러닝이 문제를 푸는 방식을 바꾸어 줄 것입니다. 또 강력한 데이터의 힘을 사용하여 문제를 해결하는 길을 보여 줄 것입니다.

머신 러닝에 깊게 들어가기 전에 어쩌면 가장 중요할지 모르는 “왜 파이썬이죠?”라는 질문에 답을 해 보겠습니다. 대답은 간단합니다. 강력하고 사용하기 쉽기 때문입니다. 파이썬은 데이터 과학 분야에서 가장 인기 있는 프로그래밍 언어가 되었습니다. 프로그래밍에 번거로운 부분이 없고 아이디어를 빠르게 구현할 수 있는 환경을 제공하기 때문입니다.

우리들은 진심으로 머신 러닝을 배워 더 나은 과학자가 되었고 통찰력을 길러 어려운 문제를 해결할 수 있었습니다. 책에서 여러분과 이 지식을 나누고 싶습니다. 지식은 배움에서 얻습니다. 중요한 것은 열정입니다. 진정한 고수는 부단한 연습으로 만들어집니다. 앞으로 이따금 난관이 있거나 어떤 주제는 다른 것보다 더 어려울 수 있습니다. 하지만 이 기회를 놓치지 말고 앞으로 이룰 성과에 초점을 맞추길 바랍니다. 우리들이 여행에 함께한다는 것을 기억하세요. 책을 통해서 여러분의 도구 상자에 강력한 기술이 많이 추가될 것입니다. 데이터를 활용하여 어려운 문제를 해결하는 데 이 도구들이 도움이 될 것입니다.

 

책 구성

1장에서 여러 종류의 문제를 해결하기 위한 머신 러닝의 주요 하위 분야를 소개합니다. 또 전형적인 머신 러닝 모델을 만드는 핵심 단계를 설명합니다. 이어지는 장에서 이 단계들을 배워 가겠습니다.

2장은 머신 러닝의 초창기로 돌아가서 이진 퍼셉트론 분류기와 아달린 뉴런을 소개합니다. 이 장은 패턴 분류의 기초를 소개하고 최적화 알고리즘과 머신 러닝의 상호 작용에 초점을 맞춥니다.

3장은 분류를 위한 머신 러닝의 핵심 알고리즘을 소개합니다. 가장 인기 있고 포괄적인 오픈 소스 머신 러닝 라이브러리인 사이킷런을 사용하여 실용적인 예를 학습합니다.

4장은 일부 정보가 누락된 데이터처럼 가공되지 않은 데이터셋을 다룰 때 자주 발생하는 문제들을 설명합니다. 데이터셋에서 가장 유용한 특성을 구별하는 방법을 설명하고 머신 러닝 알고리즘을 위해 다양한 종류의 특성을 적절한 형태로 만드는 방법을 알려 줍니다.

5장은 데이터셋에 있는 특성 개수를 줄이는 필수적인 기술을 설명합니다. 판단에 유용한 정보가 많이 유지되도록 만듭니다. 주성분 분석을 사용한 대표적인 차원 축소 기법을 설명하고 이를 지도학습, 비선형 변환과 비교합니다.

6장은 예측 모델의 성능을 예측할 때 해야 할 것과 해서는 안 될 것을 설명합니다. 또 모델의 성능을 측정하기 위한 다양한 지표와 머신 러닝 알고리즘을 세부 튜닝하는 기법도 소개합니다.

7장은 여러 학습 알고리즘을 효과적으로 연결하는 다양한 방법을 소개합니다. 개별 학습기의 약점을 보완하기 위해 앙상블을 구축하여 보다 정확하고 안정적인 예측을 만드는 방법을 설명합니다.

8장은 머신 러닝 알고리즘을 위해 텍스트 데이터를 의미 있는 표현으로 변환하여 글쓴이의 의견을 예측하는 핵심 단계를 설명합니다.

9장은 이전 장의 예측 모델을 사용하여 머신 러닝 모델을 웹 애플리케이션에 임베딩하는 핵심 단계를 설명합니다.

10장은 연속적인 값을 예측하기 위해 타깃과 특성 사이의 선형 관계를 모델링하는 필수 기술을 설명합니다. 여러 선형 모델을 소개한 후 다중 회귀와 트리 기반 모델도 소개합니다.

11장은 머신 러닝의 또 다른 하위 분야인 비지도 학습을 다룹니다. 세 가지 기본 군집 알고리즘을 사용하여 데이터셋에서 유사성을 가진 그룹을 찾을 것입니다.

12장은 2장에서 소개한 그래디언트 기반의 최적화 개념을 확장하여 유명한 역전파 알고리즘에 기반한 강력한 다층 신경망을 파이썬으로 구축합니다.

13장은 이전 장에서 얻은 지식을 바탕으로 신경망을 더 효율적으로 훈련시킬 수 있는 실용적인 가이드를 제공합니다. 이 장은 최신 GPU의 다중 코어를 활용할 수 있는 오픈 소스 파이썬 라이브러리인 텐서플로에 초점을 맞춥니다.

14장은 계산 그래프와 세션의 핵심 개념을 설명하면서 텐서플로를 자세히 소개합니다. 또 나머지 장에서 활용하기 위해 신경망 그래프를 저장하고 시각화하는 방법을 다룹니다.

15장은 컴퓨터 비전과 이미지 인식 분야의 새로운 표준으로 자리 잡은 심층 신경망 구조인 합성곱 신경망을 설명합니다. 이 장에서 특성 추출기로 합성곱 층의 개념을 설명하고 합성곱 신경망을 이미지 분류 작업에 적용하여 거의 완벽한 분류 정확도를 달성합니다.

16장은 딥러닝의 또 다른 인기 있는 신경망 구조인 순환 신경망을 소개합니다. 순환 신경망은 특히 시퀀스 데이터에 잘 맞습니다. 이 장에서는 여러 가지 신경망 구조를 텍스트 데이터에 적용하겠습니다. 몸풀기로 감성 분석 작업을 수행해 보고 완전히 새로운 텍스트를 생성해 내는 방법도 배워 보겠습니다.

 

책을 보는 데 필요한 것

책의 코드 예제는 파이썬 3.7.x에서 테스트했습니다. 운영 체제로는 macOS, 리눅스(Linux), 마이크로소프트 윈도(Windows) 최신 버전을 권장합니다. 책은 과학 컴퓨팅을 위한 필수 파이썬 라이브러리인 사이파이(SciPy), 넘파이(NumPy), 사이킷런(Scikit-learn), 맷플롯립(Matplotlib), 판다스(Pandas)를 주로 사용합니다.

1장에서 파이썬 환경을 설정하고 핵심 라이브러리를 사용하는 팁을 안내합니다. 예제를 위해 추가로 필요한 라이브러리가 있습니다. 이런 라이브러리의 설치 안내는 각 장에 포함되어 있습니다. 자연어 처리를 위한 NLTK 라이브러리(8장), 플라스크(Flask) 웹 프레임워크(9장), 통계 데이터 시각화를 위한 Seaborn 라이브러리(10장), 이미지를 디스크에서 읽기 위한 imageio(15장), GPU에서 신경망을 훈련하기 위한 텐서플로(TensorFlow)(13장에서 16장까지)입니다.

 

대상 독자

파이썬을 사용하여 데이터에서 아주 중요한 문제에 대한 답을 찾는다면 책을 읽어 보세요. 데이터 과학을 처음 시작하는 사람이나 기존의 지식을 확장하는 사람에게도 필수적이고 놓쳐서는 안 될 책입니다.

 

들어가며 | 목차 | 1장 컴퓨터는 데이터에서 배운다

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중

This site uses Akismet to reduce spam. Learn how your comment data is processed.