

Ask HN: What should I learn to become proficient in machine learning/AI/autonomy - rplanters4

So I&#x27;ve really just started my journey into the computer science&#x2F;programming world, my only experience being a CS50 course offered by Harvard through edX that I have just completed. I&#x27;ve definitely learned a lot but I&#x27;m finding that it is not nearly enough to actually end up creating something useful, other than some low level apps. More than anything else I am very interested in machine learning and AI sorts of things, my current very far off goal is to program a quad copter to autonomously follow someone (say down a ski slope) and film them. I really don&#x27;t know what to learn though. I am taking an online course in linear algebra from MIT however other than that I don&#x27;t know what courses I should be taking in order to eventually program something that to some extent can think for itself. It would be really helpful if I could get some tips on what and where to learn. Also when I go off to college in about 2.5 years I&#x27;m thinking of a double major of CS and Electrical engineering, is that the right path to go down?
======
eshvk
> eventually program something that to some extent can think for itself.

Depending on how realistic you are as to what you are trying to do, this could
be easy or enormously difficult. Artificial Intelligence in the sense of what
exists in Movies is either hard/close to impossible, despite several
breakthroughs due to large scale processing.

However, there is a significant body of work that has been done in this field
that may be off interest.

1\. How does a Quadrotor fly? This could be an easy problem of getting an off
the shelf quadrotor? Alternatively, you could learn a bit of control theory,
get some modeling work done and figure out how to build your own Quadrotor?
This is typically hard and you would need some math in your belt (Linear
Algebra, Calculus, Dynamics and Control Systems ). Something off the level of
a senior in an EE program.

2\. Now that you have got the thing flying, what do you need next? You want it
to follow someone. Let us make the problem simpler. Say, you want it to follow
a line on a path. This could be as easy as building a program that tells the
Quadrotor to keep following the line, which you will detect using a camera
coupled with some edge detecting software.

3\. How do you go after this? How do you make sure it follows someone? Same
principle, instead of detecting edges, you have to make sure it detects a
small moving object. Once you have figured that out, you iteratively progress
till you figure out how to make it follow a person.

This is not the same as traditional Machine Learning. Although the same
principles, a math heavy background with good programming skills can help you
translate and make the switch.

If you are into Robotics or ML, a heavy math program coupled with good coding
skills will always help you. It doesn't have to be an EECS program. I did
EECS. I know some excellent people who came from a Mechanical background. As
far as courses are concerned, just go to college and keep working on your own
personal projects, the structure of any Engineering program should be
sufficient for your purpose.

