
Tips for a young dreamer and developer [Help] - brunoalano
Hello, I&#x27;ve just turned 18 years old and since my 08 years I program (Visual Basic, Python, C, C + +, Ruby, D, Javascript and others) and in these 10 years I have learned a lot!<p>Currently I am dedicated to making startups and projects, and I have great interest in furthering me in math (currently reading &quot;Discrete Mathematics with Applications&quot;) and <i>artificial intelligence</i>.<p>My big problem is:<p>- What language study the background to artificial intelligence? (Clojure, Lisp, Haskell, Scala, Python?)<p>- Which books to be read based on artificial intelligence and then continue in other subdivisions?<p>Thanks to everyone, and unfortunately I did not know whom to seek to take these doubts. Today I live in Brazil, and is very difficult to find people who can help me with this, most young people are in parties or playing games ):
======
psyklic
AI is a very broad field. Much of the academic "classical" AI requires some
advanced math to understand in depth.

A fun place to start is video game AI because it is visual. For example, path-
finding algorithms, the ghost AI in pacman, chess/checkers, bots which play
video games.

Another fun visual subfield is computer vision. If you have a webcam, you
could get OpenCV and play around with recognizing faces and motion detection.

If you are really into math, I always think that attempting an automated
theorem prover would be fun. It is an up and coming science (in fact there was
a HN post today about it), and I bet there are a lot of ad hoc approaches you
could take if you choose a specific area of math.

If you want something very practical, nowadays search/recommendations/etc. are
important on the web. There are some high-rated books on Collective
Intelligence that are more practical-minded than the academic AI classics. And
mining the web for a dataset could be a fun project.

As for the best language, it depends on which subfield you want to pursue.
Scheme/Lisp are probably the most strongly associated with AI. However, in
practice they are rarely used. I would say it does not matter, as long as you
are motivated :)

~~~
brunoalano
Hey, thank you! I will look for Recommendations Algorithms and I will try
implement the A* Algorithm.

You have some recommendations in math books?

------
dennybritz
Hello,

I think it's great that you are motivated to study such topics. First, I think
it would be useful for you to define what you actually want to learn. There is
a difference in what has traditionally been called "AI" and what is called
"Machine Learning" today. While these two fields are related and some people
say that ML is a subfield of AI, both tend to focus on very different
problems. Today, "Machine Learning" has taken a lot of the attention away from
traditional AI (mainly due to the lack of results in making truly intelligent
machines)

Here are some topics I think of when hearing AI vs. Machine Learning:

AI

\- Robotics

\- Intelligent Machines, e.g. for question answering

\- Natural Language understanding (Not NLP, I mean _understanding_ )

\- Game playing/planning

Machine Learning

\- Making predictions (Often synonymous with "big data analytics" these days)

\- Recommendation Systems

\- Finding Patterns (Data Mining)

\- "Data Science" techniques

In Machine Learning, Python is the de-facto standard language both in Academia
and Industry, mainly because because of its excellent libraries. In terms of
resources, I can also highly recommend the Coursera ML class, as well as
statistics classes to get started. From there you can dive deeper into any of
the topics you are interested in.

------
switch33
I have a little skype group where we discuss AI. If you are interested you can
add me on skype: Switch336

As for learning AI it is best to learn it in the language that you are
strongest in or a language that is easy to understand the semantics from it.
For that matter Lua, Ruby, and Python are fairly commonplace for people trying
to learn how to use AI. But AI algorithms can be written in any language
really.

I'd suggest books with common examples of AI; like
[https://github.com/jbrownlee/CleverAlgorithms](https://github.com/jbrownlee/CleverAlgorithms).
He uses ruby for most of their examples but they are fairly understandable.

If you cannot get the books you want. You may be better off checking out the
source codes at least. There are tons of free online books if you do some more
searching. And you can even read some online ipython notebooks or blog posts
about AI that may be more helpful.

Anyways, the more the merrier for discussions. So feel free to join our group.
Just give me a message and I'll add you :D.

~~~
brunoalano
Hello, thanks! I've invited you in Skype.

But isn't better use a Functional Language, for example, math functions act
like a function in a functional language?

~~~
cowpig
If you're good with math and interested in machine learning, I'd recommend
checking out Theano's Deep Learning Tutorials:
[http://deeplearning.net/tutorial/](http://deeplearning.net/tutorial/)

Theano is a python library that basically compiles graphs of mathematical
functions into highly-optimized C code. For computationally-intensive AI
applications (ie, all the fun stuff), there's nothing that I've found better
than Theano.

If you work through the tutorials (I re-wrote each example from scratch using
them as a guide), you'll get a pretty good feel for how to use it.

I would strongly recommend Andrew Ng's coursera course on ML as a starting
point, though.

------
pjungwir
I think Python has become a de-facto standard language for machine learning
(not necessarily academic AI research). The book Collective Intelligence by
O'Reilly is a great overview of ML techniques, and it uses Python. You might
also want to take the Coursera ML class. If you sign up today, you might not
even miss the deadline for Week 1 coursework. (And if you do it's not that
bad.) That uses Octave, not Python, but you'd still learn a lot. You might
also meet like-minded people in the course forums.

