Hacker News new | ask | show | jobs
Tips for a young dreamer and developer [Help]
3 points by brunoalano 4466 days ago
Hello, I'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!

Currently I am dedicated to making startups and projects, and I have great interest in furthering me in math (currently reading "Discrete Mathematics with Applications") and artificial intelligence.

My big problem is:

- What language study the background to artificial intelligence? (Clojure, Lisp, Haskell, Scala, Python?)

- Which books to be read based on artificial intelligence and then continue in other subdivisions?

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 ):

4 comments

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 :)

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

You have some recommendations in math books?

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.

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. 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.

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?

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/

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.

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.