귀퉁이 서재
《머신러닝·딥러닝 문제해결 전략》책을 출간했습니다. 본문
200개가 넘는 블로그 글을 쓰며 제 이야기를 하는 건 이번이 처음이네요. 제목 그대로 《머신러닝·딥러닝 문제해결 전략》이라는 책을 출간했습니다. 캐글 경진대회로 머신러닝, 딥러닝 문제해결 능력을 키우는 데 도움을 주는 책입니다.
어떤 일이든 일정 수준에 도달하면 최적화된 패턴이 있기 마련이죠. 여러 캐글 수상자의 코드를 리팩터링하며 찾아낸 공통된 패턴과 전략을 이 책에 담았습니다. 엄선한 7가지 캐글 경진대회(머신러닝 대회 4가지와 딥러닝 대회 3가지)로 기본기와 문제해결 능력을 확실하게 기를 수 있을 겁니다. 단순히 코드만 따라 하는 게 아닙니다. 어떤 점을 분석해야 하는지, 분석 결과를 어떻게 적용하는지, 이 기법이 왜 유용한지, 특정 기법을 어떻게 활용하는지까지 점진적으로, 그리고 체계적으로 알려드리려고 노력했습니다. 이 책과 함께 머신러닝·딥러닝 문제해결 프로세스를 숙달해보세요.
이 책은 수많은 캐글 수상자의 코드를 수집/분석해 공통된 문제해결 패턴을 안내해줍니다. 총 7개의 경진대회를 이 패턴에 따라 함께 진행하면서 자연스럽게 머신러닝·딥러닝 문제해결 프로세스와 전략을 체득할 수 있게 꾸렸습니다.
머신러닝·딥러닝 문제를 해결하려면 데이터 분석부터 시작하여 적합한 모델을 설계하고 최적화를 반복하는 긴 여정을 완주해야 합니다. 체계적인 프로세스를 따르더라도 몸에 익기 전까지는 도중에 길을 잃기 쉽죠. 그래서 여러분이 외롭게 표류하지 않고 완주하도록 책 내용의 구성은 물론 외적으로도 여러 장치를 마련했습니다. 대표적으로 <공략집>과 <미니맵>, <체크리스트>가 있습니다.
공략집(with 미니맵)
책의 내용을 효율적으로 체득하실 수 있도록 별책부록으로 간단한 공략집을 준비했습니다. 월드맵(책의 전체 구성)과 미니맵(장별 구성)으로 구성돼 있죠. 항상 숲을 보면서 내 위치와 집중할 영역을 알 수 있도록 도와드립니다. 제 깃허브에서 최신 버전을 확인하실 수 있습니다. (공략집 보기)
체크리스트
문제해결 과정에서 짚어봐야 할 사항들을 프로세스 단계별로 정리한 표입니다. 제 깃허브에서 최신 버전을 확인하실 수 있습니다. 사본을 만드신 후 자유롭게 수정·개선하여 여러분만의 비밀 무기로 활용해주세요.
(머신러닝 체크리스트 보기 | 딥러닝 체크리스트 보기)
책의 구성
이 책은 총 3부로 구성됩니다.
1부에서는 머신러닝·딥러닝 문제해결 역량을 키우는 데 캐글이 최적인 이유를 알아보고, 2부와 3부에서 본격적으로 대회를 공략하는 데 필요한 채비를 갖춥니다.
2부에서는 머신러닝 모델을 사용하는 캐글 경진대회에 익숙해질 수 있습니다. 먼저 머신러닝의 주요 개념들을 정리해본 다음, 총 4개의 경진대회를 공략하면서 머신러닝 프로젝트 방법론을 터득하게 됩니다. 중점적으로 익힐 내용이 학습 흐름과 난이도에 맞춰 분배되도록 경진대회들을 선별해 배치했습니다. 2부부터는 본격적인 문제해결에 나서는 만큼 별책부록인 공략집의 미니맵이 큰 도움이 되리라 생각합니다.
마지막 3부에서는 비정형 데이터를, 그중에서도 이미지 데이터를 분류하는 딥러닝 문제들을 공략합니다. 전체적인 구성 방식은 2부와 같습니다. 대회를 하나하나 정복할수록 레벨업되는 느낌이 들도록 구성했습니다.
목차
(목차를 보시려면 아래 '더보기'를 클릭해주세요.)
- 1부. 머신러닝 레벨업의 지름길, 캐글
- 01장. 왜 캐글인가?
- 1.1 왜 캐글을 해야 하는가?
- 1.2 캐글 구성요소
- 1.3 캐글러 등급
- 학습 마무리 - 02장. 캐글 정복 첫걸음
- 2.1 캐글 가입
- 2.2 경진대회 참여
- 2.3 주피터 노트북 설정
- 2.4 결과 제출하기
- 2.5 컨트리뷰터 되기
- 2.6 예제 코드 캐글 노트북 복사하기
- 학습 마무리 - 03장. 문제해결 프로세스 및 체크리스트
- 3.1 머신러닝 문제해결 프로세스
- 3.2 머신러닝 문제해결 체크리스트
- 3.3 딥러닝 문제해결 프로세스
- 3.4 딥러닝 문제해결 체크리스트 - 04장. 데이터를 한눈에 : 주요 시각화 그래프
- 4.1 데이터 종류
- 4.2 탐색적 데이터 분석과 그래프
- 4.3 수치형 데이터 시각화
- 4.4 범주형 데이터 시각화
- 4.5 데이터 관계 시각화
- 01장. 왜 캐글인가?
- 2부. 머신러닝 문제해결
- 05장. 다시 살펴보는 머신러닝 주요 개념
- 5.1 분류와 회귀
- 5.2 분류 평가지표
- 5.3 데이터 인코딩
- 5.4 피처 스케일링
- 5.5 교차 검증
- 5.6 주요 머신러닝 모델
- 5.7 하이퍼파라미터 최적화 - 06장. [경진대회] 자전거 대여 수요 예측
- 6.1 경진대회 이해
- 6.2 경진대회 접속 방법 및 세부 메뉴
- 6.3 탐색적 데이터 분석
- 분석 정리 및 모델링 전략
- 6.4 베이스라인 모델
- 6.5 성능 개선 I : 릿지 회귀 모델
- 6.6 성능 개선 II : 라쏘 회귀 모델
- 6.7 성능 개선 III : 랜덤 포레스트 회귀 모델
- 학습 마무리
- 실전 문제 - 07장. [경진대회] 범주형 데이터 이진분류
- 7.1 경진대회 이해
- 7.2 탐색적 데이터 분석
- 분석 정리 및 모델링 전략
- 7.3 베이스라인 모델
- 7.4 성능 개선 I
- 7.5 성능 개선 II
- 학습 마무리
- 실전 문제 - 08장. [경진대회] 안전 운전자 예측
- 8.1 경진대회 이해
- 8.2 탐색적 데이터 분석
- 분석 정리 및 모델링 전략
- 8.3 베이스라인 모델
- 8.4 성능 개선 I : LightGBM 모델
- 8.5 성능 개선 II : XGBoost 모델
- 8.6 성능 개선 III : LightGBM과 XGBoost 앙상블
- 학습 마무리 - 09장. [경진대회] 향후 판매량 예측
- 9.1 경진대회 이해
- 9.2 탐색적 데이터 분석
- 분석 정리 및 모델링 전략
- 9.3 베이스라인 모델
- 9.4 성능 개선
- 9.5 머신러닝 경진대회를 마치며
- 학습 마무리
- 05장. 다시 살펴보는 머신러닝 주요 개념
- 3부. 딥러닝 문제해결
- 10장. 다시 살펴보는 딥러닝 주요 개념
- 10.1 인공 신경망
- 10.2 합성곱 신경망(CNN)
- 10.3 성능 향상을 위한 딥러닝 알고리즘 - 11장. [경진대회] 항공 사진 내 선인장 식별
- 11.1 경진대회 이해
- 11.2 탐색적 데이터 분석
- 분석 정리 및 모델링 전략
- 11.3 베이스라인 모델
- 11.4 성능 개선
- 학습 마무리 - 12장. [경진대회] 병든 잎사귀 식별
- 12.1 경진대회 이해
- 12.2 탐색적 데이터 분석
- 분석 정리 및 모델링 전략
- 12.3 베이스라인 모델
- 12.4 성능 개선
- 학습 마무리
- 실전 문제 - 13장. [데이터셋] 흉부 엑스선 기반 폐렴 진단
- 13.1 경진대회 이해
- 13.2 탐색적 데이터 분석
- 분석 정리 및 모델링 전략
- 13.3 베이스라인 모델
- 13.4 성능 개선
- 학습 마무리
- 10장. 다시 살펴보는 딥러닝 주요 개념
- 부록 A. 캐글 생활백서
- A.1 피처 요약표
- A.2 메모리 절약을 위한 데이터 다운캐스팅
- A.3 디버깅을 위한 간단한 팁
- A.4 훈련된 모델 저장하고 불러오기
에필로그에도 쓴 내용입니다만, 다 쓰고 보니 몇 년 전 캐글을 처음 시작할 때가 떠올랐습니다. 머신러닝·딥러닝 실력 향상에 가장 좋은 플랫폼이 '캐글'이라고 생각했습니다. 그런데 막상 시작하려니 막막하더군요. 공유된 코드를 따라 타이핑하며 공부했지만 어떤 이론이 접목됐는지, 어떤 원리로 동작하는지 이해하려면 일일이 구글링을 해야 했죠. 코드 전체를 따라 타이핑하며 이해하는 데만도 시간이 꽤 걸렸습니다. 그때 ‘몇 가지 기초적인 경진대회에 관한 친절한 안내서가 있으면 좋을 텐데’라는 생각을 했습니다. 그러면 머신러닝·딥러닝 실력도 한결 쉽게 키울 수 있을 것 같았습니다. 그 생각의 발로가 이 책입니다.
저는 비포장도로를 지나왔지만 다른 분들은 포장도로로 편하게 오시길 바라는 마음으로, 그리고 머신러닝·딥러닝에 재미를 느끼면 좋겠다는 바람으로 책을 썼습니다. 고맙습니다.
책과 관련한 궁금한 점, 오류/오타, 건의사항 등은 자유롭게 댓글로 남겨주셔도 좋습니다.
'머신러닝' 카테고리의 다른 글
머신러닝 - 20. 특이값 분해(SVD) (0) | 2020.03.01 |
---|---|
머신러닝 - 19. 고유값(eigenvalue), 고유벡터(eigenvector), 고유값 분해(eigen decomposition) (4) | 2020.02.24 |
머신러닝 - 18. 선형판별분석(LDA) (0) | 2020.01.01 |
머신러닝 - 17. 회귀 평가 지표 (8) | 2019.12.06 |
머신러닝 - 16. NGBoost (16) | 2019.11.01 |