
Ask HN: Best Book for Machine Learning - golanggeek
At our company we are planning to start machine learning implementation for time series data. What would be the recommendations for any good books to start with.
======
dwrodri
I did bot have a good experience with Goodfellow’s Deep Learning Book. It’s
much more written for the scholar than the practitioner. Furthermore, a couple
relatively important methods (Transformer Layers, Causal convolutions, etc.)
aren’t given proper treatment because the field was still moving fast at the
time of publishing.

A much better investment would be the One Hundred Page Machine Learning Book.
It’s written with practitioners in mind. Link here:
[https://www.amazon.com/Hundred-Page-Machine-Learning-
Book/dp...](https://www.amazon.com/Hundred-Page-Machine-Learning-
Book/dp/199957950X/ref=asc_df_199957950X_nodl/?tag=hyprod-20&linkCode=df0&hvadid=266235278092&hvpos=1o1&hvnetw=g&hvrand=11628252496228621843&hvpone=&hvptwo=&hvqmt=&hvdev=m&hvdvcmdl=&hvlocint=&hvlocphy=9010618&hvtargid=pla-613830946030&psc=1):

------
altairiumblue
Robert Nau's notes on time series are a good start -
[https://people.duke.edu/~rnau/411home.htm](https://people.duke.edu/~rnau/411home.htm)

Keep in mind:

\- not everything that can be represented as time series, should be

\- not everything that can be represented as time series, can be reliably
forecasted

\- the theory on time series forecasting is dry. Really dry.

\- working with time series is quite different from most other ML tasks

\- the more advanced solutions that get mentioned in the latest research are
specific to the application that was subject of the paper and often don't
generalise very well

~~~
natalyarostova
> working with time series is quite different from most other ML tasks

Seconding this. I work on a time-series forecasting team. The ability of ML to
work on time-series forecasting is very domain specific. If you want to
predict electricity usage in the next 1-hour, and have 10 years of data, along
with 10 years of data on interesting variables (e.g. weather, entertainment,
whatever else), then throwing it all at a neural net or whatever you want,
could be useful.

Why? Because you're predicting _one step ahead_ and have a lot of data.

On the other hand, if the requirement is you produce a multi-year forecast
ahead, and you don't have a lot of data to work with, this suggests you may
not have a wealth of data. ML algos are great at squeezing prediction out of
lots of data. Traditional statistical time-series algos are great at imposing
structure through stronger distributional assumptions, which allows data to
only speak to the extent that it can express itself through the structure that
the algorithm allows it to speak.

------
selmat
From my experience, these resources are worth read:

[1] Pattern Recognition and Machine Learning (Information Science and
Statistics) by Christopher M. Bishop

Andreas Brandmaier's permutation distribution clustering is a method rooted in
the dissimilarities between time series, formalized as the divergence between
their permutation distributions. Personally, I think this is your "best"
option
[http://cran.r-project.org/web/packages/pdc/index.html](http://cran.r-project.org/web/packages/pdc/index.html)

Eamonn Keogh's SAX (Symbolic Aggregate Approximation) and iSAX routines
develop "shape clustering" for time series

[http://www.cs.ucr.edu/~eamonn/SAX.htm](http://www.cs.ucr.edu/~eamonn/SAX.htm)

There are approaches based on text compression algorithms that remove the
redundancy in a sequence of characters (or numbers), creating a kind of
distance or density metric that can be used as inputs to clustering, see,
e.g.:

[http://link.springer.com/chapter/10.1007/978-0-387-84816-7_4](http://link.springer.com/chapter/10.1007/978-0-387-84816-7_4)

This paper by Rob Hyndman Dimension Reduction for Clustering Time Series Using
Global Characteristics, discusses compressing a time series down to a small
set of global moments or metrics and clustering on those:

[http://www.robjhyndman.com/papers/wang2.pdf](http://www.robjhyndman.com/papers/wang2.pdf)

Chapter 15 in Aggarwal and Reddy's excellent book, Data Clustering, is devoted
to a wide range (a laundry list, really) of time-series clustering methods
(pps 357-380). The discussion provides excellent background to many of the
issues specific to clustering a time series"

[http://users.eecs.northwestern.edu/~goce/SomePubs/Similarity...](http://users.eecs.northwestern.edu/~goce/SomePubs/Similarity-
Pubs/Chapter-ClusteringTimeSeries.pdf)

...and a lot more.

\-- URL --

[1] [https://www.amazon.com/Pattern-Recognition-Learning-
Informat...](https://www.amazon.com/Pattern-Recognition-Learning-Information-
Statistics/dp/0387310738/ref=sr_1_1?keywords=pattern+recognition&qid=1550860178&s=gateway&sr=8-1)

~~~
golanggeek
Thanks for the great links. I will check it out.

------
tzhenghao
I think the Deep Learning textbook by Ian Goodfellow, Yoshua Bengio and Aaron
Courville [1] is pretty good.

[1] - [https://www.deeplearningbook.org/](https://www.deeplearningbook.org/)

~~~
altairiumblue
Maybe you got misled by the title, but I don't think this is a good
introduction for someone who wants to get started with time series
forecasting.

------
rramadass
You might want to look at the series of books by Timothy Masters, in
particular; the book "Neural, Novel & Hybrid Algorithms for Time Series
Prediction".

