First of all I know the question may be not suitable for the website but I'd really appreciate it if you just gave me some pointers.

I'm a 16 years old programmer, I've had experience with many different programming languages, a while ago I started a course at Coursera, titled introduction to machine learning and since that moment i got very motivated to learn about AI, I started reading about neural networks and I made a working perceptron using Java and it was really fun but when i started to do something a little more challenging (building a digit recognition software), I found out that I have to learn a lot of math, I love math but the schools here don't teach us much, now I happen to know someone who is a math teacher do you think learning math (specifically calculus) is necessary for me to learn AI or should I wait until I learn those stuff at school?

Also what other things would be helpful in the path of me learning AI and machine learning? do other techniques (like SVM) also require strong math?

Sorry if my question is long, I'd really appreciate if you could share with me any experience you have had with learning AI.

  • $\begingroup$ Yes, this is too open-ended if you're just looking for tutorials and resources. Maybe you can make this much more specific by specifying what you are trying to do, what you have tried so far and what concepts you found challenging. $\endgroup$ – Sean Owen Oct 21 '14 at 14:01
  • $\begingroup$ I'm surprised no one has flagged this question as Too Broad $\endgroup$ – Matt O'Brien May 18 '15 at 5:29
  • $\begingroup$ @Sean Owen, Why are there so many questions on how to get started on neural networks? Shouldn't they be marked duplicate? $\endgroup$ – Azrael Jun 27 '15 at 16:20
  • $\begingroup$ Heh don't ask me, but please flag duplicates as you see them. $\endgroup$ – Sean Owen Jun 27 '15 at 21:19

No, you should go ahead and learn the maths on your own. You will "only" need to learn calculus, statistics, and linear algebra (like the rest of machine learning). The theory of neural networks is pretty primitive at this point -- it more of an art than a science -- so I think you can understand it if you try. Ipso facto, there are a lot of tricks that you need practical experience to learn. There are lot of complicated extensions, but you can worry about them once you get that far.

Once you can understand the Coursera classes on ML and neural networks (Hinton's), I suggest getting some practice. You might like this introduction.

  • $\begingroup$ Tnx for the link :D $\endgroup$ – badc0re Oct 20 '14 at 17:46

I would say... it really depends. You may need to:

  • use machine learning algorithms: this will be useful for specific applications you may have. In this situation what you need is some programming skills and the taste for testing (practicing will make you strong). Here maths are not so much required I would say.
  • be able to modify existing algorithms. Your specific application may be reticent to regular algorithms, so you may need to adapt them to get maximum efficiency. Here maths come into play.
  • understand the theory behind algorithms. Here maths are necessary, and will help you increase your knowledge of the field of machine learning, develop your own algorithms, speak the same langage as your peers... NN theory may be primitive as said by @Emre, but for instance this is not the case for SVM (the theory behind SVM requires e.g. to understand reproducing kernel Hilbert spaces).

On the mid term for sure you will need strong maths. But you don't need to wait for them to come to you, you can start right now with linear algebra, which is beautiful and useful for everything. And in case you encounter (possibly temporary) difficulties of any sort with maths, keep on practicing the way you already do (many people can talk about the perceptron but are not able to make a perceptron in Java), this is very valuable.


Neural Networks are not a great introductory model, simply because of the complexity that you describe. If you're trying to get your feet wet, boosted decision trees tend to perform well by comparison, and are a bit more intuitive. If you want a description on this method, and are already familiar with Coursera, The University of Washington has an introductory course on data science which explains it quite well.


For sure you need to learn some maths. However you should also make an effort to gain some broader engineering and science skills. There are far too many people going into computer science and all they know is a few programming languages and math. The end result is a very boring person with little in the way of creativity to do anything new. Take a year out when you are 18 or 19 to travel the world.

  • $\begingroup$ Could you provide some specific examples of the type of maths @Ashkan (and others young enthusiasts) can learn to better prepare? $\endgroup$ – Ryan J. Smith May 10 '15 at 17:35
  • $\begingroup$ I think I get what you are aiming for, with the "travel the world" bit, but I don't think that specific wording is good advice for at least some people. "A very boring person with little in the way of creativity to do anything new" is an uninspired person, and you are saying that not only the skills are important, but that being inspired and creative is very important as well. Traveling the world is one way to gain inspiration, but everybody gains inspiration in different ways. (It would not give me any help towards Computer Science, Engineering, or Science - at all) $\endgroup$ – DoubleDouble Aug 24 '15 at 18:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.