1장 한눈에 보는 머신러닝
_1.1 머신러닝이란?
_1.2 왜 머신러닝을 사용하나요?
_1.3 애플리케이션 사례
_1.4 머신러닝 시스템의 종류
_1.5 머신러닝의 주요 도전 과제
_1.6 테스트와 검증
연습문제
2장 머신러닝 프로젝트 처음부터 끝까지
_2.1 실제 데이터로 작업하기
_2.2 큰 그림 보기
_2.3 데이터 가져오기
_2.4 데이터 이해를 돕는 탐색과 시각화
_2.5 머신러닝 알고리즘을 위한 데이터 준비
_2.6 모델 선택과 훈련
_2.7 모델 미세 튜닝
_2.8 론칭, 모니터링, 시스템 유지 보수
_2.9 직접 해 보세요!
연습문제
3장 분류
_3.1 MNIST
_3.2 이진 분류기 훈련
_3.3 성능 측정
_3.4 다중 분류
_3.5 오류 분석
_3.6 다중 레이블 분류
_3.7 다중 출력 분류
연습문제
4장 모델 훈련
_4.1 선형 회귀
_4.2 경사 하강법
_4.3 다항 회귀
_4.4 학습 곡선
_4.5 규제가 있는 선형 모델
_4.6 로지스틱 회귀
연습문제
5장 결정 트리
_5.1 결정 트리 학습과 시각화
_5.2 예측
_5.3 클래스 확률 추정
_5.4 CART 훈련 알고리즘
_5.5 계산 복잡도
_5.6 지니 불순도 또는 엔트로피?
_5.7 규제 하이퍼파라미터
_5.8 회귀
_5.9 축 방향에 대한 민감성
_5.10 결정 트리의 분산 문제
연습문제
6장 앙상블 학습과 랜덤 포레스트
_6.1 투표 기반 분류기
_6.2 배깅과 페이스팅
_6.3 랜덤 패치와 랜덤 서브스페이스
_6.4 랜덤 포레스트
_6.5 부스팅
_6.6 스태킹
연습문제
7장 차원 축소
_7.1 차원의 저주
_7.2 차원 축소 접근법
_7.3 주성분 분석
_7.4 랜덤 투영
_7.5 지역 선형 임베딩
_7.6 다른 차원 축소 기법
연습문제
8장 비지도 학습
_8.1 군집
_8.2 가우스 혼합
연습문제
2부 신경망과 딥러닝
9장 인공 신경망 소개
_9.1 생물학적 뉴런에서 인공 뉴런까지
_9.2 사이킷런으로 MLP 만들고 훈련하기
_9.3 하이퍼파라미터 튜닝 가이드라인
연습문제
10장 파이토치로 신경망 구축하기
_10.1 파이토치 기초
_10.2 선형 회귀 구현하기
_10.3 회귀 MLP 구현하기
_10.4 DataLoader로 미니배치 경사 하강법 구현하기
_10.5 모델 평가
_10.6 사용자 정의 모듈로 비순차 모델 만들기
_10.7 파이토치로 이미지 분류기 만들기
_10.8 Optuna로 신경망 하이퍼파라미터 미세 튜닝하기
_10.9 파이토치 모델 저장과 로드
_10.10 파이토치 모델 컴파일과 최적화
연습문제
11장 심층 신경망 훈련
_11.1 그레이디언트 소실과 폭주 문제
_11.2 사전 훈련된 층 재사용하기
_11.3 고속 옵티마이저
_11.4 학습률 스케줄링
_11.5 규제를 사용해 과대적합 피하기
_11.6 실용적인 가이드라인
연습문제
12장 합성곱 신경망을 사용한 심층 컴퓨터 비전
_12.1 시각 피질 구조
_12.2 합성곱 층
_12.3 풀링 층
_12.4 파이토치로 풀링 층 구현하기
_12.5 CNN 구조
_12.6 파이토치로 ResNet-34 CNN 구현하기
_12.7 TorchVision의 사전 훈련 모델 사용하기
_12.8 사전 훈련된 모델을 사용한 전이 학습
_12.9 분류와 위치 추정
_12.10 객체 탐지
_12.11 객체 추적
_12.12 시맨틱 분할
연습문제
13장 RNN과 CNN을 사용한 시퀀스 처리
_13.1 순환 뉴런과 순환 층
_13.2 RNN 훈련하기
_13.3 시계열 예측하기
_13.4 긴 시퀀스 다루기
연습문제
14장 RNN과 어텐션을 사용한 자연어 처리
_14.1 char-RNN으로 셰익스피어 문체 생성하기
_14.2 허깅 페이스 라이브러리를 사용한 감성 분석
_14.3 신경망 기계 번역을 위한 인코더-디코더 네트워크
_14.4 어텐션 메커니즘
연습문제
15장 자연어 처리와 챗봇을 위한 트랜스포머
_15.1 Attention Is All You Need: 원본 트랜스포머 아키텍처
_15.2 영어-스페인어 번역 트랜스포머 만들기
_15.3 자연어 이해를 위한 인코더 기반 트랜스포머
_15.4 디코더 기반 트랜스포머
_15.5 대규모 언어 모델을 챗봇으로 바꾸기
_15.6 인코더-디코더 모델
연습문제
16장 비전 및 멀티모달 트랜스포머
_16.1 비전 트랜스포머
_16.2 멀티모달 트랜스포머
_16.3 기타 멀티모달 모델
연습문제
17장 트랜스포머 가속하기
_17.1 추론 시 디코딩 속도 높이기
_17.2 멀티 헤드 어텐션 속도 높이기
_17.3 MoE로 스케일 키우기
_17.4 훈련 속도 높이기
연습문제
18장 오토인코더, GAN 그리고 확산 모델
_18.1 효율적인 데이터 표현
_18.2 과소완전 선형 오토인코더로 PCA 수행하기
_18.3 적층 오토인코더
_18.4 합성곱 오토인코더
_18.5 잡음 제거 오토인코더
_18.6 희소 오토인코더
_18.7 변분 오토인코더
_18.8 생성적 적대 신경망
_18.9 확산 모델
연습문제
19장 강화 학습
_19.1 강화 학습이란?
_19.2 정책 그레이디언트
_19.3 가치 기반 방법
_19.4 액터-크리틱 알고리즘
_19.5 Stable-Baselines3 PPO 구현을 사용하여 아타리 브레이크아웃 마스터하기
_19.6 다른 강화 학습 알고리즘
연습문제
3부 부록
부록 A 자동 미분
_A.1 수동 미분
_A.2 유한 차분 근사
_A.3 전진 모드 자동 미분
_A.4 후진 모드 자동 미분
부록 B 혼합 정밀도와 양자화
_B.1 일반적인 수 표현
_B.2 낮은 정밀도 모델
_B.3 혼합 정밀도 훈련
_B.4 양자화
_B.5 사전 양자화된 모델 사용하기
부록 C 서포트 벡터 머신
_C.1 선형 SVM 분류
_C.2 비선형 SVM 분류
_C.3 SVM 회귀
_C.4 SVM 이론
_C.5 쌍대 문제
연습문제
부록 D 상대 위치 인코딩
_D.1 상대 위치 인코딩(RPE)
_D.2 로터리 위치 임베딩(RoPE)
_D.3 ALiBi
부록 E 머신러닝 프로젝트 체크리스트
_E.1 문제 정의 및 큰 그림 그리기
_E.2 데이터 수집
_E.3 데이터 탐색
_E.4 데이터 준비
_E.5 가능성 있는 모델 선정
_E.6 모델 미세 튜닝
_E.7 솔루션 제시
_E.8 시스템 론칭
부록 F 연습문제 정답