http://kkn1220.tistory.com/133

파이썬 라이브러리를 활용한 머신러닝 책을 보던 중, 정확한 이해 없이 진행하는 것은 무의미하다고 판단하여 
책을 변경하였다. 위의 책도 물론 좋지만, 어느정도 머신러닝 알고리즘에 대해 이해하는 사람에게 더 유효 한 것 같다.


O'REILLY의 Hands-On Machine Learning with Scikit-Learn & TensorFlow라는 유명한 책인데, 이 책은 우선 영어다...

번역본도 나올 것 같지만, 예상 할 수 없어 아마존 킨들에서 바로 구입하였다. 아무래도 책을 계속 가지고 다니기는 어려움이 있어 바로 읽을 수 있는 킨들로 구매를 하였다.

(https://www.amazon.com/Hands-Machine-Learning-Scikit-Learn-TensorFlow/dp/1491962291/ref=sr_1_1?ie=UTF8&qid=1503911665&sr=8-1&keywords=hands+on+machine+learning+with+scikit+learn+and+tensorflow)


총 16강으로 되어 있으며, github는 아래와 같다.

https://github.com/ageron/handson-ml


전제조건으로는 

1) 파이썬 - 특히 numpy, matplotlib

-> http://learnpython.org/

2) Jupyter

-> 2장에서 설치 방법 및 기본에 대한 가이드가 나옴

3) 수학적 지식(미적분, 선형대수, 확률, 통계)

-> (선형대수) 모든 것을 알기에는 어렵다!!!! 한양대 이상화 교수님의 강의를 추천하는데, 그냥 벡터 및 행렬을 다루는데 중점적으로 가우스 소거법이나, 선형독립, 기저벡터, 벡터 투영, 함수공간 등에 대해 봤다. (증명까지는....skip)
(https://www.youtube.com/playlist?list=PLSN_PltQeOyjDGSghAf92VhdMBeaLZWR3)

-> (통계) 역시 한양대 이상화 교수님 강의를 추천. 적분을 통한 증명은 너무 어려워서... 확률 변수 정의, 누적 확률분포를 미분하면 확률밀도분포가 나오는 정도의 개념을 확인. 

(http://www.kocw.net/home/search/kemView.do?kemId=1056974)

-> 머신러닝을 시작하기도 전에 포기할 것 같아서.. 미적분이나 확률 같은 경우에는 일단은 스킵하였다.

개인적으로 이 책을 보기 전에 머신러닝 강의를 듣는 것을 추천하고 싶다.
-> 개인적으로 머신러닝에 대해 김성훈 교수님의 모두의 딥러닝을 듣는 것을 추천
(https://www.youtube.com/playlist?list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm)

-> 두 번째로는 인공지능 및 기계학습 개론 1,2 의 카이스트 문일철 교수님 강의를 추천(http://kooc.kaist.ac.kr/machinelearning1_17)

-> 위의 강의를 수강한 후 위에서 언급한 파이썬 라이브러리를 활용한 머신러닝 책을 보던 중에, 좀 더 자세히 살펴보고자 해당 책을 읽고자 한다.


해당 책의 로드맵은 아래와 같다.

Part1. The Fundamentals of Machine Learning

- What is Machine Learning.

- The main steps in a typical Machine Learning Project.

- Learning by fitting a model to data.

- Optimizing a cost function

- Handling, cleaning, and preparing data.

- Selecting and engineering features.

- Selecting a model and tuning hyperparameters using cross-validation.

- The main challenges of Machine Learning, in particular underfitting and overfitting (the bias, variance tradeoff)

- Reducing the dimensionality of the training data.

- The most common learning a algorithms (Linear/Polynomial/Logistic Regression, K-NN, SMV, DT, Random Forest, Ensemble methonds)


Part2. Neural Networks and Deep Learning

- What are neural nets. what are they good for.

- Building and training neural nets using Tensorflow.

- The most important neural net architectures (CNN, RNN, LSTM etc)

- Techniques for training deep neural nets.

- Scaling neural networks for huge datasets.

- Reinforcement learning.


Part1에서는 주로 전반적인 머신러닝 알고리즘 및 데이터 전처리, feature 선택 등에 대한 내용을 담고 있다.

Part2에서는 인공신경망과 딥러닝에 대한 내용을 소개하고 있다.


책이 두꺼워서 꽤나 오래 걸리지 않을까 싶다..................

+ Recent posts