상세 컨텐츠

본문 제목

선형대수와 통계학으로 배우는 머신러닝 with 파이썬

전체 출간 도서

by 비제이퍼블릭 2021. 1. 22. 18:18

본문

선형대수와 통계학으로 배우는 머신러닝 with 파이썬

부제 최적화 개념부터 텐서플로를 활용한 딥러닝까지

저자 장철원

 

출간/배본가능일 2021 01 29 

정가 37,500 

페이지 624 

판형 4*6배판 (188 * 245) 

ISBN 979-11-6592-039-5(93000)

 

 

책 소개 

머신러닝에 필요한 선형대수, 통계학, 최적화 이론부터
파이썬, 사이킷런, 텐서플로를 활용한 실습까지

『선형대수와 통계학으로 배우는 머신러닝 with 파이썬』은 머신러닝의 기본적인 사용 방법뿐만 아니라 통계학, 선형대수, 최적화 이론 등 머신러닝에 필요한 배경 이론까지 다룬다. 머신러닝 알고리즘을 소개하는 것에 그치지 않고 이론적으로 이해가 필요한 부분은 수학 수식을 통해 자세히 설명함으로써, 해당 머신러닝 알고리즘의 작동 방식을 파악할 수 있다.
프로그래밍 실습은 머신러닝 파트에서는 사이킷런 라이브러리를, 딥러닝 파트에서는 텐서플로 라이브러리를 사용한다. 각 코드의 라인별 부가 설명을 통해 해당 코드의 역할을 이해할 수 있으며, 각 장 마지막의 전체 코드로 전체 흐름 또한 파악할 수 있다.
머신러닝의 배경 이론 이해를 바탕으로 실습하는 이 책을 통해, 머신러닝 기본기를 다지는 것을 넘어 자신의 분야에 응용할 수 있을 것이다.

 

 

이 책의 특징 
- 머신러닝 수학 수식 전개 과정을 상세히 표현한다.
- 머신러닝 알고리즘 개념을 쉬운 그림으로 알기 쉽게 설명한다.
- 복잡한 수학 수식과 프로그래밍 코드를 자세하게 설명한다.

이 책이 필요한 독자
- 머신러닝 분야에 관심이 있고 머신러닝을 배우고 싶은 분
- 머신러닝을 공부한 경험이 있지만 실제 사용에 어려움을 느끼는 분
- 머신러닝 알고리즘의 원리를 이해하고 싶은 분

 

 

예제파일 다운로드 

https://github.com/bjpublic/MachineLearning

 

 

저자 소개 

장철원
공부한 내용을 기록하고 나누는 것을 좋아하는 프리랜서

충북대학교에서 통계학을 전공하고 고려대학교에서 통계학 석사를 졸업했다. 이후 플로리다 주립 대학교(Florida State University) 통계학 박사 과정 중 휴학 후 취업 전선에 뛰어들었다. 어렸을 때부터 게임을 좋아해 크래프톤(구 블루홀) 데이터 분석실에서 일했다. 주로 머신러닝을 이용한 이탈률 예측과 고객 분류 업무를 수행했다. 배틀그라운드 핵 관련 업무를 계기로 IT 보안에 흥미를 느껴, 이후 NHN IT보안실에서 일하며 머신러닝을 이용한 매크로 자동 탐지 시스템을 개발하고 특허를 출원했다. 현재는 머신러닝 관련 책을 쓰고 강의를 하는 프리랜서다. 공부한 내용을 공유하는 데 보람을 느껴 블로그와 카페를 운영하고 있다. 관심 분야는 인공지능, 머신러닝, 통계학, 선형대수, 커널, 임베디드, IT보안, 사물인터넷, 물리학, 철학이다. 

• 프리랜서
• 한국정보통신기술협회 외부교수
• 패스트캠퍼스 강사
• 前) NHN IT 보안실
• 前) 크래프톤(구 블루홀) 데이터 분석실 

 

 

목차

■ CHAPTER 1. 환경 설정
1.1 윈도우에서 환경 설정하기
1.2 맥북에서 환경 설정하기
1.3 리눅스에서 환경 설정하기

■ CHAPTER 2. 머신러닝 개요
2.1 머신러닝이란
2.2 지도 학습 vs 비지도 학습
2.3 머신러닝의 전반적인 과정

■ CHAPTER 3. 머신러닝을 위한 선형대수
3.1 선형대수와 머신러닝의 관계
3.2 행렬의 기초
___ 3.2.1 행렬이란
___ 3.2.2 대각 행렬
___ 3.2.3 전치 행렬
___ 3.2.4 행렬의 덧셈, 뺄셈
___ 3.2.5 행렬의 스칼라곱
___ 3.2.6 행렬곱
___ 3.2.7 행렬의 원소곱
___ 3.2.8 행렬식
___ 3.2.9 역행렬
3.3 내적
3.4 선형 변환
3.5 랭크, 차원
___ 3.5.1 벡터 공간, 기저
___ 3.5.2 랭크와 차원
___ 3.5.3 직교 행렬
3.6 고윳값, 고유 벡터
3.7 특이값 분해
___ 3.7.1 닮음
___ 3.7.2 직교 대각화
___ 3.7.3 고윳값 분해
___ 3.7.4 특이값 분해
3.8 이차식 표현
___ 3.8.1 이차식 개념
___ 3.8.2 양정치 행렬
3.9 벡터의 미분

■ CHAPTER 4. 머신러닝을 위한 통계학
4.1 통계학과 머신러닝의 관계
4.2 확률 변수와 확률 분포
___ 4.2.1 확률 변수
___ 4.2.2 확률 분포
4.3 모집단과 표본
4.4 평균과 분산
___ 4.4.1 평균
___ 4.4.2 분산
___ 4.4.3 평균과 분산의 성질
4.5 상관관계
___ 4.5.1 공분산
___ 4.5.2 상관 계수
4.6 균일 분포
4.7 정규 분포
4.8 이항 분포
___ 4.8.1 베르누이 분포
___ 4.8.2 이항 분포
___ 4.8.3 다항 분포
4.9 최대 가능도 추정
4.10 최대 사후 추정
___ 4.10.1 조건부 확률
___ 4.10.2 베이즈 추정
___ 4.10.3 최대 사후 추정

■ CHAPTER 5. 최적화
5.1 컨벡스 셋
___ 5.1.1 직선과 선분
___ 5.1.2 아핀 셋
___ 5.1.3 아핀 함수 vs 선형 함수
___ 5.1.4 컨벡스 셋
___ 5.1.5 초평면과 반공간
5.2 컨벡스 함수
___ 5.2.1 컨벡스 함수의 개념
___ 5.2.2 컨벡스 함수의 예
___ 5.2.3 1차, 2차 미분 조건
___ 5.2.4 얀센의 부등식
___ 5.2.5 컨벡스 성질 보존 조건
5.3 라그랑주 프리멀 함수
___ 5.3.1 일반적인 최적화 문제
___ 5.3.2 컨벡스 최적화 문제
___ 5.3.3 라그랑주 프리멀 함수
5.4 라그랑주 듀얼 함수
5.5 Karush-Kuhn-Tucker(KKT) 조건
5.6 머신러닝에서의 최적화 문제
___ 5.6.1 최소 제곱법
___ 5.6.2 제약식이 포함된 최소 제곱법
5.7 뉴턴-랩슨 메소드
5.8 그래디언트 디센트 옵티마이저
___ 5.8.1 그래디언트 디센트 소개
___ 5.8.2 확률적 그래디언트 디센트
___ 5.8.3 모멘텀
___ 5.8.4 네스테로프 가속 경사(Nesterov Accelerated Gradient)
___ 5.8.5 Adagrad
___ 5.8.6 Adadelta
___ 5.8.7 RMSprop
___ 5.8.8 Adam
___ 5.8.9 AdaMax
___ 5.8.10 Nadam

■ CHAPTER 6. 머신러닝 데이터 살펴보기
6.1 머신러닝에 사용할 데이터 소개
___ 6.1.1 집값 예측하기
___ 6.1.2 꽃 구분하기
___ 6.1.3 와인 구분하기
___ 6.1.4 당뇨병 예측하기
___ 6.1.5 유방암 예측하기
6.2 데이터 전처리
___ 6.2.1 결측치 처리
___ 6.2.2 클래스 라벨 설정
___ 6.2.3 원-핫 인코딩
___ 6.2.4 데이터 스케일링

■ CHAPTER 7. 모형 평가
7.1 오버피팅과 언더피팅
7.2 크로스-밸리데이션
7.3 파이프라인
7.4 그리드 서치
7.5 손실 함수와 비용 함수
___ 7.5.1 손실 함수와 비용 함수의 개념
___ 7.5.2 L1 손실 함수
___ 7.5.3 L2 손실 함수
___ 7.5.4 엔트로피
___ 7.5.5 Negative Log Likelihood(NLL)
7.6 모형 성능 평가
___ 7.6.1 모형 성능 평가에 필요한 개념
___ 7.6.2 분류 문제에서의 성능 평가
___ 7.6.3 회귀 문제에서의 성능 평가
___ 7.6.4 군집 문제에서의 성능 평가

■ CHAPTER 8. 지도 학습
8.1 지도 학습 개요
8.2 사이킷런 소개
8.3 k-최근접 이웃 알고리즘
___ 8.3.1 k-최근접 이웃 알고리즘의 개념
___ 8.3.2 k-최근접 이웃 실습
8.4 선형 회귀 분석
___ 8.4.1 선형 회귀 분석의 개념
___ 8.4.2 릿지 회귀 분석(L2 제약식)
___ 8.4.3 라쏘 회귀 분석(L1 제약식)
___ 8.4.4 엘라스틱 넷
___ 8.4.5 선형 회귀 분석 실습
8.5 로지스틱 회귀 분석
___ 8.5.1 로지스틱 회귀 분석의 개념
___ 8.5.2 로지스틱 회귀 분석 실습
8.6 나이브 베이즈
___ 8.6.1 나이브 베이즈의 개념
___ 8.6.2 나이브 베이즈 실습
8.7 의사 결정 나무
___ 8.7.1 의사 결정 나무의 개념
___ 8.7.2 엔트로피
___ 8.7.3 지니 계수
___ 8.7.4 회귀 나무
___ 8.7.5 의사 결정 나무 실습
8.8 서포트 벡터 머신
___ 8.8.1 서포트 벡터 머신의 개념
___ 8.8.2 소프트 마진
___ 8.8.3 커널 서포트 벡터 머신
___ 8.8.4 서포트 벡터 회귀
___ 8.8.5 서포트 벡터 머신 실습
8.9 크로스 밸리데이션 실습

■ CHAPTER 9. 앙상블 학습
9.1 앙상블 학습 개념
9.2 보팅
___ 9.2.1 보팅의 개념
___ 9.2.2 보팅 실습
9.3 배깅과 랜덤 포레스트
___ 9.3.1 독립적 앙상블 방법
___ 9.3.2 배깅과 랜덤 포레스트의 개념
___ 9.3.3 랜덤 포레스트 실습
___ 9.3.4 배깅 실습
9.4 부스팅
___ 9.4.1 의존적 앙상블 방법
___ 9.4.2 에이다 부스트 개념 설명
___ 9.4.3 에이다 부스트 실습
___ 9.4.4 그래디언트 부스팅 개념 설명
___ 9.4.5 그래디언트 부스팅 실습
9.5 스태킹
___ 9.5.1 스태킹의 개념
___ 9.5.2 스태킹 실습

■ CHAPTER 10. 차원 축소
10.1 차원 축소 개념
___ 10.1.1 차원 축소하는 이유
___ 10.1.2 차원의 저주
10.2 주성분 분석
___ 10.2.1 주성분 분석의 개념
___ 10.2.2 주성분 분석 실습
10.3 커널 PCA
___ 10.3.1 커널 PCA의 개념
___ 10.3.2 커널 PCA 실습
10.4 LDA
___ 10.4.1 LDA의 개념
___ 10.4.2 LDA의 이론적 배경
___ 10.4.3 LDA 실습
10.5 LLE
___ 10.5.1 LLE의 개념
___ 10.5.2 LLE 실습
10.6 비음수 행렬 분해
___ 10.6.1 비음수 행렬 분해의 개념
___ 10.6.2 비용 함수
___ 10.6.3 비음수 행렬 분해 실습

■ CHAPTER 11. 비지도 학습
11.1 비지도 학습 개요
11.2 K-평균 클러스터링
___ 11.2.1 K-평균 클러스터링의 개념
___ 11.2.2 K-평균 클러스터링 실습
11.3 계층 클러스터링
___ 11.3.1 계층 클러스터링의 개념
___ 11.3.2 단일 연결
___ 11.3.3 완전 연결
___ 11.3.4 Ward’s 계층 클러스터링
___ 11.3.5 계층 클러스터링 실습
11.4 DBSCAN
___ 11.4.1 DBSCAN의 개념
___ 11.4.2 DBSCAN 알고리즘
___ 11.4.3 DBSCAN 실습
11.5 가우시안 혼합 모형
___ 11.5.1 가우시안 혼합 모형의 개념 설명
___ 11.5.2 EM 알고리즘
___ 11.5.3 가우시안 혼합 모형 실습

■ CHAPTER 12. 딥러닝
12.1 딥러닝 소개
12.2 퍼셉트론, 딥러닝의 기본
___ 12.2.1 퍼셉트론의 개념
___ 12.2.2 퍼셉트론으로 분류하기
___ 12.2.3 퍼셉트론 실습
12.3 인공 신경망으로 하는 딥러닝
___ 12.3.1 신경망의 개념
___ 12.3.2 오차 역전파
___ 12.3.3 활성화 함수
___ 12.3.4 배치 정규화
___ 12.3.5 드롭아웃
___ 12.3.6 텐서플로 2.0 소개
___ 12.3.7 분류 신경망 실습
___ 12.3.8 회귀 신경망 실습
12.4 합성곱 신경망(CNN)
___ 12.4.1 합성곱 신경망의 개념
___ 12.4.2 패딩
___ 12.4.3 스트라이드
___ 12.4.4 풀링
___ 12.4.5 고차원 데이터 합성곱
___ 12.4.6 합성곱 신경망 실습
12.5 순환 신경망(RNN)
___ 12.5.1 순환 신경망의 개념
___ 12.5.2 LSTM
___ 12.5.3 GRU
___ 12.5.4 순환 신경망 실습
12.6 오토 인코더(Auto-Encoder)
___ 12.6.1 오토 인코더 개념
___ 12.6.2 오토 인코더 실습
12.7 자연어 처리
___ 12.7.1 단어의 토큰화
___ 12.7.2 단어를 벡터로 변환
___ 12.7.3 단어 임베딩
___ 12.7.4 seq2seq 모형
___ 12.7.5 어텐션
___ 12.7.6 자연어 처리 실습
12.8 적대적 생성 신경망(GAN)
___ 12.8.1 적대적 생성 신경망의 개념
___ 12.8.2 적대적 생성 신경망 알고리즘
___ 12.8.3 적대적 생성 신경망 실습

 

출판사 리뷰

머신러닝과 필연적 관계인 ‘수학’
수식이 어려운 당신에게 꼭 필요한 책!

 

머신러닝을 이해하기 위해서는 머신러닝을 근본적으로 떠받치고 있는 선형대수와 통계학, 최적화 개념에서부터 출발해야 한다. 『선형대수와 통계학으로 배우는 머신러닝 with 파이썬』은 이러한 개념을 다룰 때 수식 표현을 사용하고 코드보다 수학적인 지식을 먼저 서술함으로써, 머신러닝 알고리즘마다 원리를 이해하는 것을 목적으로 한다. 또한 ‘책에 쓰인 수학 기호’를 정리한 표를 통해 수식 이해에 어려움을 느끼는 독자의 진입 장벽을 낮추었다. 따라서 선형대수나 통계학에 대한 지식이 부족한 분들도 수학적 원리를 이해하며 기초를 탄탄히 쌓기에 큰 도움이 될 것이다.



베타리더의 한 마디

내가 공부할 때도 이런 책이 있었으면 그렇게 헤매지 않았을 텐데! 이 책을 통해 데이터 과학이라는 이름 아래에 모인 여러 학문에서 나온 지식의 연관성을 구체적으로 알 수 있습니다. _김○○ 님

머신러닝을 공부하고 싶었지만, 수학적 기초 때문에 망설였던 분들이나 알고리즘에 사용되는 상세한 내용이 궁금한 분들에게 큰 도움이 될 것입니다. _류○○ 님

책을 읽으면서 5년만 젊었으면 좋겠다는 생각이 들었습니다. 5년간의 박사과정에서 필요했던 지식이 모두 담겨 있습니다. 어색한 번역 투의 글이 아닌 한국어책이 나온 건 생명정보학 전공자로서 매우 기쁜 일입니다. _오○○ 님

이 책을 읽으면서 인공지능의 기본이 되는 수학과 통계학에 무지한 상태로 학습을 이어 갔었다는 자기반성을 하게 되었습니다. 수학적인 원리 이해에 어려움을 겪고 있는 많은 분에게 필요한 책입니다. _이○ 님

이 책은 자신의 전문 분야에 대한 연구 또는 업무 능력을 한 단계 높여 줄 것입니다. 머신러닝이 익숙하지 않은 분도 통계학을 통해 머신러닝을 더욱 잘 이해하는 계기가 될 것입니다. _이○○ 님

 

관련글 더보기

댓글 영역