Annoyances with machine learning, specifically neural network implementation

I'm doing Andrew Ng's Machine Learning course on Coursera. It's nice that they use Octave/MATLAB so that a lot of the matrix operations do not have to be written out. However, I wish they would decide if they want inputs and outputs to be column vectors or row vectors. The mathematical notation used throughout implies that they are dealing with column vectors. However, all the programming assignments deal with row vectors. The training set is given as a matrix, such that each row of the matrix is one training example, i.e. the training set is a "stack" of row vectors". The corresponding outputs are also in rows, naturally. That's well and good. I can deal with switching representations.

Until it comes to backpropagation, where they decide at the end that they really want things in row vectors. So, all the Delta arrays that I computed, which give the gradients, turn out to be transposed. After literally 20 times going over step by step, every single line in my code and comparing with the notation (doing the transpose in my head as well as on paper), and keeping track of matrix dimensions, I finally just transpose the Delta arrays at the end (a line of code that was pre-written by the instructor), and the answer came out correct.  </rant>


Getting Google Play Store on an Amazon Fire Phone

I just scored an Amazon Fire Phone when the cut the price for a brand new unlocked device (32 GB) to $189 from $450 for a day or two. It's to replace the HTC One (M7) that became unusably slow after an update to Android 4.4, and also a cheap $200 Samsung Core II DUOS that I got abroad as a travel phone (painfully slow and laggy).

The big deficiency is that it does not have the Google Play Store. Turns out, on Amazon Fire OS 3.6.8, no rooting is needed to "sideload" apps. You do have to download APKs from a non-authorized source, though. You can get Google Play Store by the method in the video below.

Once that is installed, you will need to generate an application-specific password to sign in to the Play Store.

UPDATE: Well, I've had this for a couple of hours and there are major caveats. Some of the Google apps will not work, as they require a newer version of Google Play Services, which crashes on this version of Fire OS. Apps which do not work: Gmail, Inbox. However Google Drive does work, which is awesome.

UPDATE 2: More stuff which works or doesn't work. Dropbox, and Ingress work. So do Swarm, and Instagram. Instagram does not do location, however. I was surprised by Ingress because Google Maps (and My Maps) does not work. There seems to be an issue with handling location. It seems to be arbitrary which apps will work, and which will not.

 


On personality

On the occasion of my birthday, I have come to realize that there is an innate personality, at least for me, that is resilient against the environmental effects of aging and the lessons learnt thereby. It certainly does not make particular emotional states any easier to deal with. I see "maturity" as the gaining of a certain mercenary attitude towards one's relationships, and an impassive and rather crass accounting of one's needs and of how well those needs are being met.