Monday, 18 April 2016

Republished as Kindle Textbook

After much deep thought I pulled my ebooks and republished them as Kindle Textbooks.

Why?

Well - the ebook format(s) are a pain.

  • They're not sufficiently standardised for all parties to agree on.
  • The quality of tools to create them is rubbish.
  • And interoperability is a pain.

It's like web in the early days, different interests trying to subvert html, trying to "embrace, extent, extinguish". It took almost 20 years for the web to settle down around well understood common and open interoperable standards.

The epub format is open but still in flux. Amazon doesn't actually support it properly or directly - with lack of support in places, inconsistent support elsewhere, and additional proprietary features too. They have their own mobi, kf8 and azw formats too. And now kpf too. Their preview tools all work differently too - showing different results.

This is depressing - especially as it should be possible for all Kindles, old and new, to show text, follow basic links, and show images. Except they can't. Some do, some don't.

I felt bad about some users not being able to read the book properly .. so I had to act.

The new Kindle Textbook Creator works more like PDF - a format that preserves layout but at the cost of not being able to reflow text.

I made the decision that it was more important for the book to always work for readers - even if that meant fewer readers could buy the digital book. Older Kindles can't buy the book now it is in the new format. I am sad about that.

One day, digital book publishing will be fixed, or as fixed, as the web is today.

Error #2

Jon S pointed out that Deep Blue beat Gary Kasparov in 1997, not 1997 as stated in the introduction.

This will be fixed in the next updated content.

Friday, 15 April 2016

Error #1

Michael B found an error on page 32 of the book. That's the section where the idea of moderating the learning is introduced - a learning rate. The second training example uses a target value of 0.9. That's wrong, it should have said 1.9. The calculations which then update the slope A are wrong.

Below is the updated section, and the diagram has also been updated too.




Let’s press on to the second training data example at x = 1.0. Using A = 0.3083 we have y = 0.3083 * 1.0 = 0.3083. The desired value was 2.9 so the error is (2.9 - 0.3083) = 2.5917.  The ΔA = L (E / x) = 0.5 * 2.5917 / 1.0 = 1.2958. The even newer A is now 0.3083 + 1.2958 = 1.6042.


Let’s visualise again the initial, improved and final line to see if moderating updates leads to a better dividing line between ladybird and caterpillar regions.

part1_classifier_refinements_moderated.png

This is really good!

Even with these two simple training examples, and a relatively simple update method using a moderating learning rate, we have very rapidly arrived at a good dividing line y = Ax where A is 1.6042.




The ebook has been updated and you should get an automatic update, or ask Amazon to trigger an update if it is slow to get to you. The print book has also been updated.

Thursday, 14 April 2016

Busting Past 98% Accuracy

I was working on a document and expected to take a few hours ... so I thought, why not try a longer neural network training session to see if I could break past 98% performance.


The neural network architecture and training was boosted to:
  • 300 hidden layer nodes
  • 30 training epochs
  • rotate training images +/- 10 degrees.
That took about 3 hours on my laptop!

The resultant performance did indeed break the previous record .. at 98.03%