Being able to recognize the branches of AI will enable us to know what components may be needed to solve real world problems. This is analogous to the workers building a new building recognizing to finish it there will be coordination needed between electricians, plumbers, painters, roofers, carpenters, architects, and engineers.
Large scale AI applications such as autonomous driving and smart assistants will need just as many specialists to drive successful technology to market. To be able to drive these projects one should know what’s available in the artificial intelligence tool belt.
“I believe that at the end of the century the use of words and general educated opinion will have altered so much that one will be able to speak of machines thinking without expecting to be contradicted.”― Alan Turing, Computing machinery and intelligence
Focuses of AI
Here is a list of the dominate topics
Machine learning is the ability for computer systems and software to learn and recognize patterns by training models that drive various learning algorithms. Some of the most used machine learning algorithms are neural networks, support vector machines, decision trees, and naive bayes clustering.
The models are a series of weights and constraints that are generated by performing mathematical analysis dependent on the type of algorithm on the input data to be able to predict an outcome based on new input data.
Apple AirPods with Charging Case (Latest Model)
Support this site by purchasing items after clicking through our Amazon links
For example if we have data of various iris plants based on sepal width, sepal length, petal length, and petal width as well as the labels of what species of iris plants these are we could in turn train a neural network to predict the species of new unlabeled plants. For four dimensions a programmer could almost just code out the logic themselves to do this but as the dimension space grows and the number of samples grows it may not be clear what the dominate data is to predict new labels. This is where machine learning simplifies the coders job by learning this data for us without explicit instructions and using inference to store the learned trends in a model to be applied later on.
Machine learning is limited by the quality of the data used to train the classifier algorithms as well as the number of samples used. Data analysis specialists and research scientists are often used to determine the quality of the data going into their algorithms and to drive sample generation. Follow my blog for more about this topic in the weeks and months to come.
This is a subset of machine learning with other secondary focuses on:
- Handwriting recognition – Systems that can convert handwriting to computer data, such as check readers.
- Facial recognition – Systems that can use facial features for identification and authorization such as appleLock and facebook tagging.
- Optical character recognition – Electronic devices that have the ability to recognize type faces. A common application of this is pen-readers to assist visually challenged people.
- Speech recognition – Systems that power smart assistants and many business support call-in points.
The ability for a company to store and share data across teams in a meaningful way is an ever growing challenge especially as the amount of the data grows and scales in magnitude and complexity. AI is breaching into this field to be able to cluster keywords among wiki lakes; help companies consolidate app usage; and assist coders finding code that has already been written in the org to do similar tasks.
Genetic Programming (GP) uses evolutionary algorithms that can be applied to problems that humans typically don’t know how to solve without introducing unconscience bias. GP has the ability to apply a series of generalized algorithms to a problem and iteratively improve it’s ability to solve the problem by random mutations, merging algorithms and removing unfit algorithms then running validations of the offspring to determine which should go to the next round of testing.
This is an area of AI that focuses on solving problems using mathematical logic. An example of a problem in this space is in directing how to get a person from a computer to an airport as a series of logical steps. Such that the computer is on a desk, the desk is in the office, to get from the office to the garage there is this series of steps, and so on until the person arrives at the airport presumably with their ticket and luggage.
Search in AI is applied to such problems as the traveling salesman, optimal positioning move recommendations in chess, path finding of game bots, and server management in resource allocation.
This is the ability for a system to automatically analyze information and present it as knowledge so that humans can interpret that knowledge to make meaningful decisions with them. For instance an application of knowledge representation is the ability to take in a set of medical data and be able to output more accurate and faster diagnoses.
Being able to represent this knowledge in data structures such as finite state transducers allows systems to be able to act on this data in more intelligent ways such as defining grammars.
Planning systems are programs that are able to take in goals and rules to output optimal plans that minimize costs to the company given known states of the worlds these systems reside in.
Hueristics are rules and techniques for algorithms to consider when determining output. A common hueristic taught in programming is the A* path finding that punishes selecting routes where the distance of the new location and the goal + the distance currently between you and your goal is used in determining where the person should go next. Applying heuristic rules can also be compared to generating an educated guess at a solution to a problem to help reduce runtimes of exploring problem spaces on “bad” solutions.
This is just some of the more popular topics in AI and a lot of these can be combined to a specific problem to come up with solutions to problems that humans would have a really difficult time hard coding the solutions for themselves. Follow the blog to see the next series of blogs that will dive deeper into these areas with applications of these topics in python to solve problems such as predicting prices of houses in an area, movie recommenders, extracting sequence of terms for knowledge representation, and more.