Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I enjoy learning about artificial intelligence techniques What other techniques are useful for AI and machine learning other than neural networks?

share|improve this question

closed as not a real question by Walter, gnat, Yusubov, MainMa, Thomas Owens Nov 12 '12 at 13:21

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

"AI and machine learning" is an awfully large topic. Do you have anything more specific in mind? –  David Thornley Nov 2 '10 at 14:30
There is a proof that no single algorithm can ever be best. The "no free lunch" theorem. en.wikipedia.org/wiki/No_free_lunch_theorem –  Ben B. Apr 29 '11 at 1:13
Also, it depends on the problem and where you want the computations to be. Do you want to make long computations in the beginning and have a fast classifier? If so, NNs can be a good solution. The fact that a NN can approximate any hypothesis given enough time and complexity is a very good thing. –  Ben B. Apr 29 '11 at 1:17

5 Answers 5

up vote 19 down vote accepted

This is somewhat akin to asking if a hammer is the best tool for building houses. It's just one of many, and not all problems are well suited to it.

Other interesting techniques include:

Neural Networks are definitely pretty cool, but they are not "the best approach" for all problems, any more than any other technique is.

share|improve this answer
I saw the question and thought "that's just like asking 'is a hammer the best tool for carpentry'" then open it and find this answer... –  glenatron Nov 2 '10 at 14:38

Artificial intelignce and machine learning are unsolved problems in computer science and so there is no real "best approach" yet.

No matter what specific techniuqe you use, success in these fields will require a strong understanding of algorithms, statistics and probability.

I don't think its a good idea to limit yourself to neural networks or any other machine learning methodology. Instead, focus on understanding the problem of machine learning as a whole, why its so difficult and the differents approaches various people have taken. Specifically, you might be interested in:

Lastly, if you intend to take this field of study seriously and you hope to make a contribution to it, you should focus on understanding when and why neural networks, like all other algorithms that exist today fail to provide compelling artificial intelligence. Perhaps you can think of something better...

share|improve this answer

No, they're not, for the following reasons:

  1. Lots of algorithms are capable of attaining the Bayes error rate in the limit.

  2. ANNs are very computationally intensive.

  3. In small sample learning the most important attribute a classifier can have is making correct assumptions about the structure of your data.

  4. ANNs are hard to interpret compared to, for example, Naive Bayes or a decision tree.

share|improve this answer
I would say it just depends on the problem. Computationally intensive only during learning --- very fast when applying it to new data. For many problems its fine to spend even a year doing the initial computations... after that you have a great solution. –  Ben B. Apr 29 '11 at 1:15

For artificial neural networks you need training data, but maybe you want to find structure in data you haven´t seen before and for which you couldn´t do a training.

This problem is called unsupervised learning. ANNs belonge to the category of supervised learning.

So if you are searching for other techniques, a natural choice would be to look at unsupervised algorithms like k-means clustering.

share|improve this answer

When i was represented with Neural networks , it was said that neural networks are logical gates that are learning the needed map. Meaning you will get logical gates out of the network.

If you could do it yourself with a set of logical gates, then you could do it with neural network.

The limits of neural network is discusses and got to a mathematical definitions, about continues functions and such.

saying that statistical and probability are the tools for understanding AI is just as good as saying that a hammer is the tool to build a house.

One of the biggest problems with people who don't know mathematics is saying "hey! this is a strong mathematical tool lets try it out" instead of making the tool they need. this is how AI approaches looks today, when it hit statistics and probability.

share|improve this answer

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