Published on: 01.04.2017
Best book for high-level understanding how today (in 2016/2017) machine learning is working.
Illustrations in book are very helpful.
Without them it is much harder to understand machine learning concepts.
This book covers all topics in machine learning, it is not specializing on one aspect.
More thoughts on machine learning
This is my understanding of how machine learning is BIG change in software.
I would even say that machine learning is biggest change in software so far, it is a game changer.
Till last few yeas/decades, all computer programs (all work that was done by computers) had two important characteristics:
– Humans where making exact rules (algorithms) how computer will make decisions
– Everything that computer did, human could do it also
I maybe wrong, but AFAIK with machine learning, this is not true anymore.
Humans where making exact rules (algorithms) how computer will make decisions
Human was one who was designing and implementing algorithm.
If there was some BUG, person could understand what was the reason for the BUG.
But, for example, with neural networks and their weight there is no way to understand why some input have particular weight.
It is not possible to understand “computer” reasoning behind it.
This is BIG change in how algorithms work.
Because computer is fine tuning algorithm, a human can not understand how or why in details.
Everything that computer did, human could do it also
Argument is: computer can calculate average of 1000 number in less the second.
Human can do it also, but it need more time, much more time.
So computer are used for this kind of work because it is more profitable, but still human can do it.
In this argument I am exempting robots that work in conditions that are harmful for human, like high temperature, radiation, etc.
I am just talking about software/calculations.
In unsupervised learning goal is to find patterns that humans do not know about.
Humans can find some patterns across few dimensions, but even after 10 dimensions, what to speak of 100 or more it is not possible for human.
What will be result I do not know, but problems will arise
I do not see big problem when neural network is used to do OCR, eg. you write some numbers on you touch screen, or when it classifies pictures of dogs and cats.
If there is some error human can recognize error and cost of error is not important.
Not important in contexts, that result of error do not have huge impact on person life.
You got number 5 instead of 3, or it showed you a dog instead of cat.
But what if neural networks starts to be used for much more important decision ?
For example: visa acceptance, medical diagnostics, bank credit approval, decision if person is terrorist or not.
I would not be surprise that in future, there will be neural network making decisions, without anybody understanding what is the reason behind decision.
How can you even debug neural network when you have no idea how it decided on its input weights ?
How to know is it false negative or false positive ?
It will be interesting to see where machine learning will be in 10 years.