Live data from Hacker News

Ask HN: How does a beginner best spend one week of learning machine learning?

news.ycombinator.com

21–30 of 37 posts

Re: Ask HN: How does a beginner best spend one week of learning machine learning?

#21

Honestly, with only a week you can't really learn a lot so I'd recommend doing something practical. See the canonical answer here: http://norvig.com/21-days.html Go to Kaggle and do one of the competitions. https://www.kaggle.com/competitions and reference the wiki for help: https://www.kaggle.com/wiki/Home In my opinion, the only way to learn machine learning without a strong foundation is to page in learning. That…

Thanks for the tips! I'm considering to use a dataset Bank of England has about households in England. As far as I understand, the data can be used for both prediction and classification. It has quite a lot of different features. Which one would you recommend to start with, in general?

I signed up to HN just to reply. I suggest doing the MNIST dataset. The features are really simple (greyscale pixel values) yet it works very well. You can also play with different classifiers to see how they behave (training time and classification performance).

This will let you setup a whole pipeline from feature selection (in this case just normalise, you can try 0 to 1 or -1 to 1 or subtract mean then divide by stddev, or don't normalize and see what happens) to training the model and evaluating its performance with cross validation. Then you can check your CV results by submitting to the leaderboard.

I took Andrew Ng's ML course then played with the MNIST dataset. I learnt heaps by doing this. Then I got carried away competing in real competitions. :) That's where more advanced feature selection came into play as well as making sure your CV split is representative of the test split.

I was using scikit-learn and just swapping classifiers in and out trying different ones as well as trying different parameters. You can even roll your own logistic regression if you want and see how regularisation affects performance etc.

Re: Ask HN: How does a beginner best spend one week of learning machine learning?

#22
Here's a great repo from my friend Preston Parry (https://news.ycombinator.com/user?id=ClimbsRocks): https://github.com/ClimbsRocks/learningmachines

It's in JavaScript, but if that works for you, clone it down and work through the instructions until it isn't broken. He created it as part of a lecture at Hack Reactor called "A Conjurer's Guide to Machine Learning," so it's a great way to get started without going too deep into the details.

Re: Ask HN: How does a beginner best spend one week of learning machine learning?

#23
post #21

Earlier quoted context omitted.

Thanks for the tips! I'm considering to use a dataset Bank of England has about households in England. As far as I understand, the data can be used for both prediction and classification. It has quite a lot of different features. Which one would you recommend to start with, in general?

I signed up to HN just to reply. I suggest doing the MNIST dataset. The features are really simple (greyscale pixel values) yet it works very well. You can also play with different classifiers to see how they behave (training time and classification performance). This will let you setup a whole pipeline from feature selection (in this case just normalise, you can try 0 to 1 or -1 to 1 or subtract mean then divide by…

Awesome, thanks, I'll definitely test out that dataset! Btw, have you proceeded with any MOOC's after Andrew Ng's ML course? Anyone you'd like to recommend?

Re: Ask HN: How does a beginner best spend one week of learning machine learning?

#24
post #21

Earlier quoted context omitted.

I signed up to HN just to reply. I suggest doing the MNIST dataset. The features are really simple (greyscale pixel values) yet it works very well. You can also play with different classifiers to see how they behave (training time and classification performance). This will let you setup a whole pipeline from feature selection (in this case just normalise, you can try 0 to 1 or -1 to 1 or subtract mean then divide by…

Awesome, thanks, I'll definitely test out that dataset! Btw, have you proceeded with any MOOC's after Andrew Ng's ML course? Anyone you'd like to recommend?

https://www.coursera.org/course/neuralnets

http://deeplearning.stanford.edu/tutorial/

http://vision.stanford.edu/teaching/cs231n/syllabus.html

Re: Ask HN: How does a beginner best spend one week of learning machine learning?

#26
Day 1: Spend some time setting your machine up for doing machine learning. For Python look at Numpy, IPython Notebook, Scipy, Pandas, Scikit-Learn, Matplotlib, Seaborn, NLTK, XGBoost wrapper, Vowpal Wabbit wrapper, Theano + Nolearn.

2: Learn how to manipulate Numpy arrays ( http://www.engr.ucsb.edu/~shell/che210d/numpy.pdf ) and how to read and manipulate data with Pandas ( https://www.youtube.com/watch?v=p8hle-ni-DM ).

3: Do the Kaggle Titanic survival prediction challenge with Random Forests. ( https://www.kaggle.com/c/titanic/details/getting-started-wit... )

4: Study Scikit-learn documentation ( http://scikit-learn.org/stable/documentation.html ). Run a few examples. Change RandomForestClassifier into SGDClassifier and play with the results. Scale the data to make it perform better. Combine a RF model and a SGD model through averaging and try to improve the benchmark score.

5: Study the ensemble module of Scikit-learn. Try the examples on the wiki of XGBoost ( https://github.com/dmlc/xgboost/tree/master/demo/binary_clas... ) and Vowpal Wabbit ( http://zinkov.com/posts/2013-08-13-vowpal-tutorial/ ). Practically you want to get to a stage of: Getting the data transformed to be accepted by the algo, a form of evaluation, and then getting the predictions back out in a sensible form.

Then next week start competing on Kaggle and form a team to join up with people at your level. You will learn a lot that way and start to open up the black box.

I found these series very accessible: http://blog.kaggle.com/2015/04/22/scikit-learn-video-3-machi...

Kaggle also recently released a feature to run machine learning scripts in your browser. You could check those out and check out Python, R, common pipelines and even the more advanced neural nets: https://www.kaggle.com/users/9028/danb/digit-recognizer/big-... .

Re: Ask HN: How does a beginner best spend one week of learning machine learning?

#27
I think you can achieve a lot in a week. the big four for python data libraries are pandas, numpy, scipy, and scikit-learn. scikit-learn will provide the most milage of advancement of knowledge relative to the time investment to learn that knowledge. If you aren't concerned with how effective the results are, you can learn a lot from simple implementations. For example, to implement a basic Random Forest is three lines of code: # create random forest forest = RandomForestClassifier() # train random forest forest = forest.fit(train_data) # test random forest output = forest.predict(test_data)

That's just one example, but all implementations are reasonably easy for someone with your foundation to learn quickly. Now... being good at it... that will be your next challenge :-)

Re: Ask HN: How does a beginner best spend one week of learning machine learning?

#28
post #26

Day 1: Spend some time setting your machine up for doing machine learning. For Python look at Numpy, IPython Notebook, Scipy, Pandas, Scikit-Learn, Matplotlib, Seaborn, NLTK, XGBoost wrapper, Vowpal Wabbit wrapper, Theano + Nolearn. 2: Learn how to manipulate Numpy arrays ( http://www.engr.ucsb.edu/~shell/che210d/numpy.pdf ) and how to read and manipulate data with Pandas ( https://www.youtube.com/watch?v=p8hle-ni-DM…

Awesome, this looks like a great plan! Quite a lot of setup, so I'll start during the weekend :)

Re: Ask HN: How does a beginner best spend one week of learning machine learning?

#29
post #25

Here you can find some interesting podcast about ML and Data Science: http://goo.gl/KF4NGE Enjoy :)

Thanks, I've been listening to The Talking Machines for a while. It's really good!

http://www.thetalkingmachines.com/

Re: Ask HN: How does a beginner best spend one week of learning machine learning?

#30
Thanks for making this post. I am in the EXACT same position as you. Just finished 65% of the ML course on coursera and was wondering how to dive in deeper.

Question for the audience: Will self-learning be enough to get me considered for a job in this area ? I work on stuff that completely unrelated right now (MSEE in circuits).

Post reply on HN