머신 러닝 교과서: 파이토치 편 (탄탄한 이론과 다양한 예제로 배우는 머신 러닝/딥러닝 실전 가이드)
Description
아마존 베스트셀러를 파이토치 버전으로 만난다!
탄탄한 이론과 다양한 예제로 배우는 머신 러닝/딥러닝 실전 가이드
아마존 베스트셀러인 『머신 러닝 교과서』가 파이토치 편으로 새롭게 태어났다! 머신 러닝과 딥러닝을 제대로 이해하기 위해 필요한 개념, 핵심 알고리즘 작동 방식과 사용 방법, 밑바탕이 되는 수학, 실용적인 예제, 빠지기 쉬운 함정을 피하는 방법까지 이론과 코드를 균형 있게 설명한다. 또한, 파이썬 기반의 핵심 라이브러리(SciPy, NumPy, scikit-learn, Matplotlib, Pandas)를 사용해 머신 러닝을, 파이토치를 사용해 딥러닝을 설명한다. 파이토치 핵심 개념은 물론이고, 『머신 러닝 교과서 3판』에서 다룬 내용 외에 트랜스포머, 파이토치 라이트닝, XGBoost, 그래프 신경망 등 최신 동향까지 추가했으며, 사이킷런과 파이토치 모두 최신 버전을 기준으로 한다. 머신 러닝과 딥러닝 기본기를 탄탄하게 다지고 싶은 분께 추천한다.

독자를 위한 디스코드 커뮤니티: https://bit.ly/tensor-discord
질의응답 오픈채팅방: https://bit.ly/tensor-chat
저자

세바스찬 라시카,유시 (헤이든) 류,바히드 미자리리

Sebastian Raschka
위스콘신-매디슨 대학교의 통계학 조교수로 머신 러닝과 딥러닝에 중점을 두고 있다. 그의 최근 연구는 제한된 데이터로 작업하기 위한 퓨-샷(few-shot) 학습과 순서가 있는 타깃에 대한 심층 신경망 개발과 같은 일반적인 문제에 초점이 맞춰져 있다. 또한, 오픈 소스 기여자로도 활발히 활동 중이며, Grid.ai의 수석 AI 교육자라는 새로운 역할을 통해 사람들이 머신 러닝과 AI에 입문할 수 있도록 돕는 데 열정을 쏟을 계획이다.

목차

1장. 컴퓨터는 데이터에서 배운다
1.1 데이터를 지식으로 바꾸는 지능적인 시스템 구축
1.2 머신 러닝의 세 가지 종류
__1.2.1 지도 학습으로 미래 예측
__1.2.2 강화 학습으로 반응형 문제 해결
__1.2.3 비지도 학습으로 숨겨진 구조 발견
1.3 기본 용어와 표기법 소개
__1.3.1 이 책에서 사용하는 표기법과 규칙
__1.3.2 머신 러닝 용어
1.4 머신 러닝 시스템 구축 로드맵
__1.4.1 전처리: 데이터 형태 갖추기
__1.4.2 예측 모델 훈련과 선택
__1.4.3 모델을 평가하고 본 적 없는 샘플로 예측
1.5 머신 러닝을 위한 파이썬
__1.5.1 파이썬과 PIP에서 패키지 설치
__1.5.2 아나콘다 파이썬 배포판과 패키지 관리자 사용
__1.5.3 과학 컴퓨팅, 데이터 과학, 머신 러닝을 위한 패키지
1.6 요약

2장. 간단한 분류 알고리즘 훈련
2.1 인공 뉴런: 초기 머신 러닝의 간단한 역사
__2.1.1 인공 뉴런의 수학적 정의
__2.1.2 퍼셉트론 학습 규칙
2.2 파이썬으로 퍼셉트론 학습 알고리즘 구현
__2.2.1 객체 지향 퍼셉트론 API
__2.2.2 붓꽃 데이터셋에서 퍼셉트론 훈련
2.3 적응형 선형 뉴런과 학습의 수렴
__2.3.1 경사 하강법으로 손실 함수 최소화
__2.3.2 파이썬으로 아달린 구현
__2.3.3 특성 스케일을 조정하여 경사 하강법 결과 향상
__2.3.4 대규모 머신 러닝과 확률적 경사 하강법
2.4 요약

3장. 사이킷런을 타고 떠나는 머신 러닝 분류 모델 투어
3.1 분류 알고리즘 선택
3.2 사이킷런 첫걸음: 퍼셉트론 훈련
3.3 로지스틱 회귀를 사용한 클래스 확률 모델링
__3.3.1 로지스틱 회귀의 이해와 조건부 확률
__3.3.2 로지스틱 손실 함수의 가중치 학습
__3.3.3 아달린 구현을 로지스틱 회귀 알고리즘으로 변경
__3.3.4 사이킷런을 사용하여 로지스틱 회귀 모델 훈련
__3.3.5 규제를 사용하여 과대적합 피하기
3.4 서포트 벡터 머신을 사용한 최대 마진 분류
__3.4.1 최대 마진
__3.4.2 슬랙 변수를 사용하여 비선형 분류 문제 다루기
__3.4.3 사이킷런의 다른 구현
3.5 커널 SVM을 사용하여 비선형 문제 풀기
__3.5.1 선형적으로 구분되지 않는 데이터를 위한 커널 방법
__3.5.2 커널 기법을 사용하여 고차원 공간에서 분할 초평면 찾기
3.6 결정 트리 학습
__3.6.1 정보 이득 최대화: 자원을 최대로 활용
__3.6.2 결정 트리 만들기
__3.6.3 랜덤 포레스트로 여러 개의 결정 트리 연결
3.7 k-최근접 이웃: 게으른 학습 알고리즘
3.8 요약

4장. 좋은 훈련 데이터셋 만들기: 데이터 전처리
4.1 누락된 데이터 다루기
__4.1.1 테이블 형태 데이터에서 누락된 값 식별
__4.1.2 누락된 값이 있는 훈련 샘플이나 특성 제외
__4.1.3 누락된 값 대체
__4.1.4 사이킷런 추정기 API 익히기
4.2 범주형 데이터 다루기
__4.2.1 판다스를 사용한 범주형 데이터 인코딩
__4.2.2 순서가 있는 특성 매핑
__4.2.3 클래스 레이블 인코딩
__4.2.4 순서가 없는 특성에 원-핫 인코딩 적용
4.3 데이터셋을 훈련 데이터셋과 테스트 데이터셋으로 나누기
4.4 특성 스케일 맞추기
4.5 유용한 특성 선택
__4.5.1 모델 복잡도 제한을 위한 L1 규제와 L2 규제
__4.5.2 L2 규제의 기하학적 해석
__4.5.3 L1 규제를 사용한 희소성
__4.5.4 순차 특성 선택 알고리즘
4.6 랜덤 포레스트의 특성 중요도 사용
4.7 요약

5장. 차원 축소를 사용한 데이터 압축
5.1 주성분 분석을 통한 비지도 차원 축소
__5.1.1 주성분 분석의 주요 단계
__5.1.2 주성분 추출 단계
__5.1.3 총 분산과 설명된 분산
__5.1.4 특성 변환
__5.1.5 사이킷런의 주성분 분석
5.2 선형 판별 분석을 통한 지도 방식의 데이터 압축
__5.2.1 주성분 분석 vs 선형 판별 분석
__5.2.2 선형 판별 분석의 내부 동작 방식
__5.2.3 산포 행렬 계산
__5.2.4 새로운 특성 부분 공간을 위해 선형 판별 벡터 선택
__5.2.5 새로운 특성 공간으로 샘플 투영
__5.2.6 사이킷런의 LDA
5.3 비선형 차원 축소와 시각화
__5.3.1 비선형 차원 축소를 고려하는 이유는 무엇인가요?
__5.3.2 t-SNE를 사용한 데이터 시각화
5.4 요약

6장. 모델 평가와 하이퍼파라미터 튜닝의 모범 사례
6.1 파이프라인을 사용한 효율적인 워크플로
__6.1.1 위스콘신 유방암 데이터셋
__6.1.2 파이프라인으로 변환기와 추정기 연결
6.2 k-겹 교차 검증을 사용한 모델 성능 평가
__6.2.1 홀드아웃 방법
__6.2.2 k-겹 교차 검증
6.3 학습 곡선과 검증 곡선을 사용한 알고리즘 디버깅
__6.3.1 학습 곡선으로 편향과 분산 문제 분석
__6.3.2 검증 곡선으로 과대적합과 과소적합 조사
6.4 그리드 서치를 사용한 머신 러닝 모델 세부 튜닝
__6.4.1 그리드 서치를 사용한 하이퍼파라미터 튜닝
__6.4.2 랜덤 서치로 하이퍼파라미터 설정을 더 넓게 탐색하기
__6.4.3 SH 방식을 사용한 자원 효율적인 하이퍼파라미터 탐색
__6.4.4 중첩 교차 검증을 사용한 알고리즘 선택
6.5 여러 가지 성능 평가 지표
__6.5.1 오차 행렬
__6.5.2 분류 모델의 정밀도와 재현율 최적화
__6.5.3 ROC 곡선 그리기
__6.5.4 다중 분류의 성능 지표
__6.5.5 불균형한 클래스 다루기
6.6 요약

7장. 다양한 모델을 결합한 앙상블 학습
7.1 앙상블 학습
7.2 다수결 투표를 사용한 분류 앙상블
__7.2.1 간단한 다수결 투표 분류기 구현
__7.2.2 다수결 투표 방식을 사용하여 예측 만들기
__7.2.3 앙상블 분류기의 평가와 튜닝
7.3 배깅: 부트스트랩 샘플링을 통한 분류 앙상블
__7.3.1 배깅 알고리즘의 작동 방식
__7.3.2 배깅으로 Wine 데이터셋의 샘플 분류
7.4 약한 학습기를 이용한 에이다부스트
__7.4.1 부스팅 작동 원리
__7.4.2 사이킷런에서 에이다부스트 사용
7.5 그레이디언트 부스팅: 손실 그레이디언트 기반의 앙상블 훈련
__7.5.1 에이다부스트와 그레이디언트 부스팅 비교
__7.5.2 그레이디언트 부스팅 알고리즘 소개
__7.5.3 분류를 위한 그레이디언트 부스팅 알고리즘
__7.5.4 그레이디언트 부스팅 분류 예제
__7.5.5 XGBoost 사용하기
7.6 요약

8장. 감성 분석에 머신 러닝 적용
8.1 텍스트 처리용 IMDb 영화 리뷰 데이터 준비
__8.1.1 영화 리뷰 데이터셋 구하기
__8.1.2 영화 리뷰 데이터셋을 더 간편한 형태로 전처리
8.2 BoW 모델 소개
__8.2.1 단어를 특성 벡터로 변환
__8.2.2 tf-idf를 사용하여 단어 적합성 평가
__8.2.3 텍스트 데이터 정제
__8.2.4 문서를 토큰으로 나누기
8.3 문서 분류를 위한 로지스틱 회귀 모델 훈련
8.4 대용량 데이터 처리: 온라인 알고리즘과 외부 메모리 학습
8.5 잠재 디리클레 할당을 사용한 토픽 모델링
__8.5.1 LDA를 사용한 텍스트 문서 분해
__8.5.2 사이킷런의 LDA
8.6 요약

9장. 회귀 분석으로 연속적 타깃 변수 예측
9.1 선형 회귀
__9.1.1 단순 선형 회귀
__9.1.2 다중 선형 회귀
9.2 에임스 주택 데이터셋 탐색
__9.2.1 데이터프레임으로 에임스 주택 데이터셋 읽기
__9.2.2 데이터셋의 중요 특징 시각화
__9.2.3 상관관계 행렬을 사용한 분석
9.3 최소 제곱 선형 회귀 모델 구현
__9.3.1 경사 하강법으로 회귀 모델의 파라미터 구하기
__9.3.2 사이킷런으로 회귀 모델의 가중치 추정
9.4 RANSAC을 사용하여 안정된 회귀 모델 훈련
9.5 선형 회귀 모델의 성능 평가
9.6 회귀에 규제 적용
9.7 선형 회귀 모델을 다항 회귀로 변환
__9.7.1 사이킷런을 사용하여 다항식 항 추가
__9.7.2 에임스 주택 데이터셋을 사용한 비선형 관계 모델링
9.8 랜덤 포레스트를 사용하여 비선형 관계 다루기
__9.8.1 결정 트리 회귀
__9.8.2 랜덤 포레스트 회귀
9.9 요약

10장. 레이블되지 않은 데이터 다루기: 군집 분석
10.1 k-평균 알고리즘을 사용하여 유사한 객체 그룹핑
__10.1.1 사이킷런을 사용한 k-평균 군집
__10.1.2 k-평균++로 초기 클러스터 센트로이드를 똑똑하게 할당
__10.1.3 직접 군집 vs 간접 군집
__10.1.4 엘보우 방법을 사용하여 최적의 클러스터 개수 찾기
__10.1.5 실루엣 그래프로 군집 품질을 정량화
10.2 계층적인 트리로 클러스터 조직화
__10.2.1 상향식으로 클러스터 묶기
__10.2.2 거리 행렬에서 계층 군집 수행
__10.2.3 히트맵에 덴드로그램 연결
__10.2.4 사이킷런에서 병합 군집 적용
10.3 DBSCAN을 사용하여 밀집도가 높은 지역 찾기
10.4 요약

11장. 다층

출판사 서평

명확한 설명, 수학, 실용적인 예제로
밑바닥 원리까지 완벽하게 이해한다!

이론과 코드를 균형 있게 설명한다!
코드 실행만으로는 머신 러닝과 딥러닝을 충분히 이해할 수 없다. 머신 러닝과 딥러닝을 제대로 이해하고 싶다면 코드 외에도 관련 이론과 알고리즘의 뒤편에 있는 수학 개념을 알아야 한다. 이 책은 명확한 설명, 머신 러닝과 딥러닝 핵심 알고리즘의 작동 방식과 사용 방법, 그 밑바탕이 되는 수학, 실용적인 예제, 빠지기 쉬운 함정을 피하는 방법까지 어느 한쪽에 치우치지 않고 이론과 코드를 균형 있게 설명한다.

핵심 알고리즘부터 최신 기술까지!
파이썬 기반의 핵심 라이브러리(SciPy, NumPy, Scikit-Learn, Pandas 등)를 사용해 머신 러닝을, 파이토치를 사용해 딥러닝을 설명한다. 파이토치는 파이썬 방식으로 학습하기 때문에 더 쉽게 배우고 간단하게 코딩할 수 있다. 책에서는 파이토치 핵심 개념은 물론이고, GAN과 강화 학습에 대해서도 자세하게 다룬다. 또한, 기존 『머신 러닝 교과서 개정 3판』에서 다룬 내용 외에 트랜스포머, 파이토치 라이트닝, XGBoost, 그래프 신경망 등 최신 동향까지 추가했다.

실용적인 예제로 배운다!
책의 모든 예제가 머신 러닝/딥러닝 전문가인 저자가 오랫동안 강의하고 현장에서 일한 경험을 바탕으로 한다. 단순히 개념만 익히는 것이 아닌 실용적이고 확장 가능한 예제들로 구성했다. 이 예제들을 학습하면서 머신 러닝과 딥러닝의 개념, 핵심 알고리즘, 활용 팁 등을 확실하게 이해할 수 있으며, 학습한 후 모델과 애플리케이션을 직접 구축할 수 있는 원리까지 익힐 수 있다.