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에서는 인공신경망과 딥러닝에 대한 내용을 소개하고 있다.


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

댓글을 달아 주세요

블로그 이미지

꽃경남

카테고리

분류 전체보기 (127)
프로그래밍 (31)
기타 (48)
해킹 (48)