안녕하세요 독자여러분 이곳은 생능출판사의 책 "으뜸 머신러닝"(2021년 7월 출간) 관련 저장소입니다. 이 책의 소스코드와 주피터 노트북 파일, colab 주소, 정오표등 다양한 자료와 정보가 있는 곳입니다.
이 책 "으뜸 머신러닝"은 머신러닝을 처음 배우는 입문자와 머신 러닝의 개념을 익힌 상태에서 텐서플로우를 이용한 본격적 개발을 시작하려는 분들을 위한 책입니다.
책의 소스코드(colab 주소, .py 파일, ipynb 파일)
소스코드
: "으뜸 머신러닝" 책의 장별 소스코드가 .ipynb, colab 페이지를 통해서 제공됩니다
이 책을 읽기 위해 파이썬과 데이터 다루기와 관련된 저자들의 이전 책을 함께 보면 좋습니다.
으뜸 파이썬, 박동규, 강영민, 생능출판사 (2020) - 세종도서 학술부문 선정
(따라하며 배우는) 파이썬과 데이터 과학, 천인국, 박동규, 강영민, 생능출판사 (2020)
실수는 인간적이지만, 실수를 고집하는 것은 악마적이다 (Errare humanum est, perseverare autem diabolicum)
오류를 줄이기 위해 노력했으나, 죄송하게도 오류가 남았습니다. 판을 바꿀 때마다 지속적으로 수정하도록 하겠습니다. 아직 고치지 못하고 남은 오류와 수정 내용을 공유합니다.
[1판 1쇄 정오표] <- 클릭하세요
1.1 인간을 닮은 기계를 만들기 위한 노력 : 그 시작
1.3 반복되는 사계절: 추운 겨울을 이기고 다시 찾아온 인공지능의 봄
1.5 우리가 다룰 머신러닝이 정확히 무엇이며 어떤 것이 있는가
Chapter 02 : 머신러닝을 위한 기초지식
2.4 미분과 기울기, 그리고 경사하강법의 개념
2.7 오차의 기울기를 이용한 학습의 기본 원리와 최적해
3.3 구글 드라이버의 내용을 코래버러토리에서 이용하기
3.4 넘파이는 머신러닝을 위한 데이터 처리의 핵심 도구
3.5 넘파이 활용의 기본 - 브로드캐스팅, 인덱싱, 슬라이싱
3.6 벡터화 연산 - 넘파이 배열 계산 성능의 핵심
3.7 논리 인덱싱으로 빠르게 데이터 추려내기
3.10 데이터 시리즈 선택하여 시각화해 보기
3.11 편리한 데이터 다루기 - 슬라이싱과 열 데이터 추가
3.15 데이터 구조의 변경: pivot과 concat
Chapter 04 : 선형 회귀로 이해하는 지도학습
4.5 데이터의 관계를 설명하는 선형회귀 함수의 시각적 이해
4.7 오차로 가설을 평가하고 좋은 가설 찾기
4.8 기계 학습의 개념으로 해석하는 선형회귀
4.9 Scikit-Learn을 이용한 선형 회귀
4.11 회귀분석의 학습, 혹은 최적화 방법 - 정규 방정식
4.13 다변량 선형 회귀 분석을 위한 데이터 확보하기
4.14 다변량 데이터 특징들 사이의 상관 관계를 파악하기
4.15 특징들의 상관 쌍 그림을 확인하고 중요 특징 추출하기
4.16 다변량 선형 회귀에 사용할 데이터를 훈련용과 검증용으로 분리하기
4.17 데이터의 정규화를 통한 분석 성능 개선하기
4.18 데이터의 표준화를 통한 분석 성능 개선하기
Chapter 05 : 분류와 군집화로 이해하는 지도 학습과 비지도 학습
5.2 k-NN 알고리즘을 위한 데이터 준비하기
5.4 k-NN 활용 예제 - 붓꽃 데이터 준비하기
5.5 k-NN 활용 예제 - 붓꽃 데이터로 학습하기
5.6 새로운 꽃에 대해서 모델을 적용하고 분류해 보자
5.7 표집 편향과 성능 측정을 위한 평가지표
5.12 k-평균 알고리즘과 k-NN 알고리즘의 비교: 지도 학습과 비지도 학습
LAB5-1 k-평균 알고리즘과 k-NN 알고리즘의 비교 : 지도 학습과 비지도 학습
5장 미니 프로젝트 A1 잡음제거: k-NN의 활용
Chapter 06 : 다양한 머신러닝 기법들 다항 회귀, 결정 트리, SVM
6.2 다항 회귀의 문제점 - 과적합, 그리고 폭발적인 복잡도 증가
6.3 과적합과 과소적합 - 공짜 점심은 없다
LAB6-1 다항회귀의 회귀 함수를 그려 보자
6.6 결정 트리 분할의 기준 - 정보량과 불순도
6.7 결정 트리를 손으로 만들어 보자 - ID3 알고리즘
6.8 지니 불순도를 이용한 효율적인 평가 - CART 알고리즘
LAB6-2 꽃받침의 너비와 길이로 결정트리를 만들자
LAB6-3 엔트로피를 이용하여 결정 트리 만들기
6.12 소프트 마진 서포트 벡터 머신의 구현
6.13 사이킷런을 이용한 서포트 벡터 머신 사용하기
6.15 다항 특정 변환을 통한 비선형 서포트 벡터 머신의 구현
LAB6-4 비선형 SVM을 이용한 데이터 분류
6.16 커널 트릭을 이용한 비선형 서포트 벡터 머신
LAB6-5 커널 트릭을 이용한 비선형 SVM
6장 미니 프로젝트 B1 얼굴 찾기: SVM으로 분류하기
Chapter 07 : 인공 신경망 기초 - 문제와 돌파구
7.1 뇌의 동작을 흉내내자 - 연결주의자의 목표
7.2 학습할 수 있는 신경 모델 - 퍼셉트론
LAB7-1 AND / OR 연산을 수행하는 퍼셉트론
LAB7-2 논리합을 수행하는 퍼셉트론 만들기
LAB7-3 다양한 논리 연산이 가능하게 퍼셉트론 훈련하기
7.4 퍼셉트론, 연결주의가 누린 첫 영예와 긴 좌절
7.5 퍼셉트론이 XOR 문제를 풀 수 있게 만드는 방법
LAB7-4 입력 다항화로 XOR를 해결해 보기
7.6 다층 퍼셉트론의 학습 - 오차를 줄이도록 연결 강도를 고치자
7.7 다층 퍼셉트론의 학습 - 오차를 아래로 전파하자
LAB7-5 XOR 연산이 가능한 다층 퍼셉트론 만들기
LAB7-6 다층 퍼셉트론으로 비선형 회귀 구현하기
7.11 신경망을 설계하고 훈련을 실시할 수 있는 도구 : 텐서플로우
Chapter 08 : 고급 인공 신경망 구현
8.1 심층 신경망이 부딪힌 한계 - 사라지는 기울기
8.2 심층 신경망 학습의 돌파구 - 연결강도 초기화
8.4 최적화 기법 - 경사하강법의 문제와 개선
8.7 텐서플로우로 시작하는 Hello world! - MNIST 예제
8.14 배치 경사 하강법, 확률적 경사 하강법, 미니 배치 경사 하강법
8.15 더 깊은 층으로 정확도를 높여보고 교차검증도 하자
8.16 학습데이터에만 최적화된 신경망 개선하기 : 드롭아웃
LAB8-1 Fashion-MNIST 데이터 분류하기
Chapter 09 : 신경망 부흥의 시작, 합성곱 신경망
9.4 합성곱 수행 신경망의 기본 구조와 문제
LAB9-2 합성곱 신경망으로 패션 MNIST 분류를 개선하기
LAB9-3 성능 좋은 CNN을 가져다 써보자
9.9 전이학습 - 이미 훈련된 모델을 고쳐 쓰기
9장 미니 프로젝트 B2 얼굴 찾기: CNN 활용하기
9장 미니 프로젝트 B3 얼굴 찾기: 전이학습 활용하기
10.4 텐서플로를 이용하여 단순 RNN 모델 만들기
10.6 RNN을 다층구조로 만들어 적은 수의 파라미터로 좋은 성능을 내자
10.8 장기 의존성 문제를 해결하는 LSTM
10.9 LSTM 셀의 각 게이트 별로 동작 살펴 보기
10.10 GRU - 장기 의존성 문제를 해결하는 더 간단한 게이트들
10.11 단순 RNN과 LSTM, GRU 모델의 비교 - 시퀀스 데이터 준비
10.12 단순 RNN과 LSTM, GRU 모델의 비교 - 성능 비교
LAB10-1 비선형 시퀀스를 순환신경망으로 예측하자
LAB10-2 기억이 필요한 시퀀스를 예측해 보자
Chapter 11 : 차원축소와 매니폴드 학습
LAB11-1 3차원 공간의 데이터에서 주성분을 찾아보자
LAB11-2 주성분을 추출해 이미지를 압축해보자
11.8 LLE 기법의 구현을 위한 최적화 해 구하기
LAB11-3 LLE를 넘파이로만 구현해 보자
LAB11-4 매니폴드 학습을 이용한 차원 축소 실습
Chapter 12 : 오토인코더와 잠재표현 학습
12.2 압축과 복원, 잠재표현 - 오토인코더
LAB12-2 다층 구조 오토인코더 차원 축소/복원
LAB12-3 오토인코더를 이용한 이미지 압축과 복원
12장 미니 프로젝트 A2 잡음제거: 오토인코더 활용
12장 미니 프로젝트 C1 차원축소: 데이터 분포 가시화
Chapter 13 : 인공지능의 현재와 미래
13.1 인공 신경망으로 무엇을 할 수 있을까?
13.8 인공지능과 윤리적 딜레마: 윤리적 기계
이 책에는 많은 LAB문제와 연습문제가 제공됩니다. 저자들이 모든 문제에 대해 답을 만들어 보았지만, 이것은 문제의 유효성을 검증하기 위한 것일 뿐입니다.
LAB과 연습문제는 답이 제시되지 않은 문제의 해답을 찾는 과정과 실습을 통해 더 깊은 학습을 할 수 있도록 준비된 것입니다.
이에 저자는 정답지 제공을 하지 않습니다.