Ask HN: Is machine learning worth learning for hobbyists/pet projects?

I'm wondering if the field is accessible beyond pure theory for people who doesn't have exclusive access to datasets or powerful machines.

Can a regular programmer with a macbook achieve something at home? Or would I be stuck doing the same 3/4 basic programs like character recognition and hit a wall after the basics?

  • Are you trying to do anything in particular?

    ML can be used in a number of different facets. On one hand you can grab pre-trained models that people have sitting on github and glue them together to make working projects for your own use. The other extreme is working through the theory to create a new method on a dataset you've collected yourself. Most of the tradeoff is in how much time you want to invest in solving a problem or learning something new.

    The major thing for hobby problems is learning how to best use what's already out there given your own restrictions on data and computational resources. The algorithms themselves can be quite complex, but as long as you're not targeting state of the art results, there should be plenty of tools to help get yourself started.

    My general recommendation is to dive into some of the papers out there and blog posts on different methods to get a feel for the breadth of options as well as the cases which may not currently be within your own personal grasp.

  • I think the best way to move on to the next stage is find a project you want to do. I find it really hard to just learn a tools if I have no real project for which to use it.

    I don’t know what suits your fancy, but some example projects could be:

    - image recognition: is that your cat at the door or someone else’s?

    - voice recognition: app to add a product to shopping list from a voice command

    - etc

  • It depends on your use case and what you're looking to get out of it. How much data will you need to crunch? 1 million rows of data should be fairly easy to crunch through on a personal computer.

  • Machine learning is a bigger set of techniques than deep learning. Linear regression and random forests still work fine and can get good results in many problem domains without particularly much compute hardware. In addition non-learned feature engineering can get good results in computer vision if you constrain your input images.

    Do you have particular application areas or problems you want to apply ML to?

  • I'll think it depends on your end goal. Do you want to explore new network architectures and/or associated functions, or use (your own or public) data set to explore possible applications?

  • The secret (and possible barrier) to doing something interesting with ML is to have an interesting dataset. It’s definitely accessible if you’re willing to put in the effort.