
Ask HN: From programming to AI, how? - siscia
Hi HN,<p>I am a fairly decent programmer by now, but I would like to explore AI more deeply.<p>I do have basics of statistic, I know about mean mean square error, linear regression, regression tree, k-mean etc...<p>I would like to get into deep learning but actually I don&#x27;t know what direction I should take.<p>I would like to do like I did with programming, exploring simple problem first and then moving into more sophisticated stuff.<p>However I feel like that the problem of the field are pretty expensive to work on either from a monetary point of view (GPU) and from a duration point of view.<p>Anybody has took this same path before? What would you suggest? What problem did you learn the most from?
======
vaibkv
Here's a tentative plan- 1\. Do fully AndrewNg's course from Coursera

2\. Do a course called AnalyticsEdge by MIT folks from edx.org. I can't
recommend this course highly enough. It's a gem. You will learn practical
stuff like RoC curves, and what not. Note that for a few things you will need
to google and read on your own as the course might just give you an overview.

3\. Keep the book "Elements of Statistical Learning" by Trevor Hastie handy.
You will need to refer this book a lot.

4\. There is also a course that Professor Hastie runs but I don't know the
link for it. I highly recommend it as it gives a very good grounding on things
like GBM, which are used a lot in practical scenarios.

5\. Pick up twitter/enron emails/product reviews datasets and do sentiment
analysis on it.

6\. Pick up a lot of documents on some topic and make a program for
automatically producing a summary of those documents - first read some papers
on it.

7\. Don't do Kaggle. It's something you do when you have considerable
expertise with ML/AI.

8\. Pick up flights data and do prediction for flight delays. Use different
algorithms, compare them.

9\. Make a recommendation system to recommend books/music/movies (or all).

10\. Make a Neural Network to predict moves in a tic-tac-toe game.

These are a few things that can get you started. This is vast field but once
you've done the above in earnest I think you have a good grounding.

Pick a topic that interests you and write a paper on it - it's not such a big
deal.

~~~
cuchoi
Is this the course that you were referring to in 4)?

[https://lagunita.stanford.edu/courses/HumanitiesandScience/S...](https://lagunita.stanford.edu/courses/HumanitiesandScience/StatLearning/Winter2015/about)

~~~
vaibkv
Yes, that's the one.

~~~
cuchoi
Thanks!

------
civilian
I just started the Coursera Machine Learning course. I know that it's probably
a bit under your skill level, but the second half of the class might give you
some broad education about what's possible in the field of machine learning.
[https://www.coursera.org/learn/machine-
learning/](https://www.coursera.org/learn/machine-learning/)

~~~
mlennox
I started this course to learn the maths, technical terms, approaches and
'philosophy' of machine learning. I'd highly recommend it even with the stats
knowledge you have, you'll still get a lot out of it. I wanted to be able to
understand articles about deep learning and this course allowed me to do that.

I recommend watching the videos at a higher speed at least, and you can skip
ahead if you are not doing the course to get a validated grade, although I
suggest working through the whole choose.

~~~
civilian
Oh yeah, Ng talks pretty slow. 1.25 is a minimum cruising speed and I often go
faster.

------
tunesmith
I'm in the same boat - so far it seems like the plan would be 1) Get more
familiar with Linear Algebra; 2) Take Ng's coursera course "Intro to Machine
Learning" and 3) start trying some kaggle.com challenges.

~~~
dragonbonheur
4) [http://cleveralgorithms.com/nature-
inspired/index.html](http://cleveralgorithms.com/nature-inspired/index.html)

------
max_
Hello, my background is just like yours. _Assuming you are a total noob_

I learned that AI is not like programming, where anyone with basic knowledge
of computation can dive in. You can NOT just learn AI by reading other
people's code.

Its like Physics, there are solid principles you need to understand before you
get in.

The point: AI does not come with the "batteries included". If you are in deed
a noob you MUST learn the prerequisites.

Follow these steps in order and I guarantee you will be competent with AI in
six months tops.(from my past experience)

    
    
      -  1. Know what AI actually is 

[https://www.youtube.com/watch?v=bxe2T-V8XRs&list=PL77aoaxdgE...](https://www.youtube.com/watch?v=bxe2T-V8XRs&list=PL77aoaxdgEVDrHoFOMKTjDdsa0p9iVtsR)

    
    
      -  2. Write basic  Machine Learning code

[https://www.youtube.com/watch?v=cKxRvEZd3Mw&list=PLOU2XLYxms...](https://www.youtube.com/watch?v=cKxRvEZd3Mw&list=PLOU2XLYxmsIIuiBfYad6rFYQU_jL2ryal&index=5)

    
    
      - 3. Understand the Mathmatics involved 

[http://www.heatonresearch.com/book/introduction-neural-
netwo...](http://www.heatonresearch.com/book/introduction-neural-network-
math.html)

    
    
      - 4. Get some important concepts, 

[http://neuralnetworksanddeeplearning.com/](http://neuralnetworksanddeeplearning.com/)

    
    
      - 5. Finnish off.

[https://www.deeplearningbook.org/](https://www.deeplearningbook.org/)

------
lukeHeuer
This seems to be a good introduction if you like to learn by reading while
building something:
[http://neuralnetworksanddeeplearning.com](http://neuralnetworksanddeeplearning.com)

It basically walks you through building a neural net that can make sense of
hand written digits.

------
genos
It sounds like you've got the beginnings of Machine Learning (classification &
regression), but I'd still recommend checking out Coursera. The JHU Data
Science series is good, but more geared towards DS than AI. There are others
on there as well; if you're looking to get into deep learning, I echo the
recommendation to check out Ng's course, though this might be good, too:
[https://www.coursera.org/course/neuralnets](https://www.coursera.org/course/neuralnets)

------
hluska
This may not be entirely in line with what you're looking to do, but Kaggle is
one heck of a good way to learn data science and machine learning. Some of the
competitions in particular lend themselves to a deep learning methodology.

The best part is that the competitions keep it fun, and the eventual winners
share the methods they used to get such good results.

Good luck!

------
crypto5
Start your pet project in AI, you will gain real hands-on experience and
skills, will have some portfolio and will understand is it for you or not.

------
henry9901420
You can try "Expect Syetem"
[https://en.wikipedia.org/wiki/Expert_system](https://en.wikipedia.org/wiki/Expert_system)

~~~
pizza
This answer would have been good 40 years ago..

------
dcdulin
I recently did exactly this, and currently think of the process as several
layers working in parallel.

(1) implementation skill building: tensorflow udacity MOOC, and tutorials on
the TF website

(2) implementing projects: find a research paper you're interested in, and try
implementing it. e.g. "A Neural Algorithm of Artistic Style"

(3) foundational ML learning: Bengio's textbook, Michael Nielsen's textbook,
cs231n, the Udacity ML MOOCs which end with the course on Reinforcement
Learning, ... this list could go on for quite some time, which can be anxious
for autodidactics because teaching yourself a thing means that your knowledge
will be quite lean, but that's OK.

(4) cutting-edge ML learning: join a deep learning reading group / meet-up,
and read influential papers weekly

(5: optional) write a technical blog, where the audience is yourself before
understanding something.

Also, having high-level conceptual maps when entering an unfamiliar space is
useful. For this, I recommend reading all of colah.github.io and Bengio's
paper "Representation Learning: A Review and New Perspectives"

