What is difference between AI and machine learning?
Machine learning is a part (subset) of AI; these are algorithms that learn from data, without being explicitly programmed.
Machine learning algorithms build a model based on sample data, known as training data, in order to make predictions or decisions without being explicitly programmed to do so
Artificial intelligence (AI) is intelligence—perceiving, synthesizing, and inferring information—demonstrated by machines, as opposed to intelligence displayed by non-human animals and humans. Example tasks in which this is done include speech recognition, computer vision, translation between (natural) languages, as well as other mappings of inputs.
How can we obtain a useful heuristics?
Using problem relaxation
Dividing the problem in sub-problems and combining the pre-calculated solutions to sub-problems in the solution of the problem.
Inspiration from nature
Expert knowledge
Learning from data
Experimentation
What is difference between classification and regression?
Classification allocate the input instance to certain set (class), and regression predicts the output value according to its inputs. Classification predicts integer number and regression the real number.
Compare decisions trees and neural networks, their advantages and disadvantages?
Artificial neural networks (ANNs), usually simply called neural networks (NNs) or neural nets, are computing systems inspired by the biological neural networks that constitute animal brains.
An ANN is based on a collection of connected units or nodes called artificial neurons, which loosely model the neurons in a biological brain. Each connection, like the synapses in a biological brain, can transmit a signal to other neurons. An artificial neuron receives signals then processes them and can signal neurons connected to it. The "signal" at a connection is a real number, and the output of each neuron is computed by some non-linear function of the sum of its inputs. The connections are called edges. Neurons and edges typically have a weight that adjusts as learning proceeds. The weight increases or decreases the strength of the signal at a connection. Neurons may have a threshold such that a signal is sent only if the aggregate signal crosses that threshold.
Typically, neurons are aggregated into layers. Different layers may perform different transformations on their inputs. Signals travel from the first layer (the input layer), to the last layer (the output layer), possibly after traversing the layers multiple times.
A decision tree is a decision support tool that uses a tree-like model of decisions and their possible consequences, including chance event outcomes, resource costs, and utility. It is one way to display an algorithm that only contains conditional control statements.
Decision trees are commonly used in operations research, specifically in decision analysis, to help identify a strategy most likely to reach a goal, but are also a popular tool in machine learning. They can be converted to set of rules, which can be mathematicly and algorithmicly verifyed.
Furthermore, decision trees are less powerful than NNs: NNs (with at least one hidden layer) can approximate any function, and decision trees are more limited, for example they have rectangular decision boundaries (separation hyperplanes).
In addition, a sketch of Decision Trees and NN architectures would be helpful.
What would you do in case of overfitting or underfitting?
Overfitting: performance on training set good, performance on validation/test set bad -> high variance, model too complex -> decrease model complexity (reduce number of parameters), increase data size, regularization, early stopping.
Underfitting: performance on training and on validation/test set bad -> high bias, model to simple -> increase model complexity and/or number of features
What RNN (Recurrent Neural Networks) and for which problems they are used?
RNNs are the deep learning neural networks with feedback mechanism (memory). They are typically used for processing sequential data like stock prices, temperature, sensor values … Types of RNNs are sequence to sequence, sequence to vector, vector to sequence and encoder decoder RNNs.
LSTMs are RNNs that help solving vanishing gradient problem and typically provide larger memory than traditional RNNs.
Which kind of deep learning neural networks are used for image generation?
For image generation typically generative adversarial network (GAN) is used. GAN consists of generator and discriminator; generator generates “fake” images and tries to outwit the discriminator. After training generator can be used to generate new images. Sketches of a GAN would be helpful
But also Autoencoder and in recent times Transformer (like in DALL-E) can be used for image generation.
What is AI?
Provide some applications of AI?
Two types either classification or regression.
Classification
Classify data (voice, text, image)
Regression:
Predict (weather, stock market,
What is difference between Connectionism and Symbolic AI?
Connectionism
Connectionism is a movement in cognitive science that hopes to explain intellectual abilities using artificial neural networks (also known as “neural networks” or “neural nets”). Neural networks are simplified models of the brain composed of large numbers of units (the analogs of neurons) together with weights that measure the strength of connections between the units. These weights model the effects of the synapses that link one neuron to another. Experiments on models of this kind have demonstrated an ability to learn such skills as face recognition, reading, and the detection of simple grammatical structure.
Philosophers have become interested in connectionism because it promises to provide an alternative to the classical theory of the mind: the widely held view that the mind is something akin to a digital computer processing a symbolic language. Exactly how and to what extent the connectionist paradigm constitutes a challenge to classicism has been a matter of hot debate in recent years.
Symbolic artificial intelligence
In artificial intelligence, symbolic artificial intelligence is the term for the collection of all methods in artificial intelligence research that are based on high-level symbolic (human-readable) representations of problems, logic and search.[1] Symbolic AI used tools such as logic programming, production rules, semantic nets and frames, and it developed applications such as knowledge-based systems (in particular, expert systems), symbolic mathematics, automated theorem provers, ontologies, the semantic web, and automated planning and scheduling systems. The Symbolic AI paradigm led to seminal ideas in search, symbolic programming languages, agents, multi-agent systems, the semantic web, and the strengths and limitations of formal knowledge and reasoning systems.
Which are important events in the history of neural networks?
What is difference between “strong” and “weak” AI?
weak AI (also called narrow AI) is not intended toperform human-like cognitive abilities and personality, rather, weak AI islimited to the use of software to study or accomplish specific problemsolving or reasoning tasks
What is heuristics and why do we need it?
In general, exponential complexity search problems cannot besolved by uninformed search for any but the smallest instances
Informed search strategy - one that uses domain-specific hints aboutthe location of goals—can find solutions more efficiently than anuninformed strategy
The hints come in the form of a heuristic (“rules of thumb”) function,denoted by h(n)
h(n) = estimated cost of the cheapest path from the state at node n to a goal state
Needed to have an “informed” search algorithm, which is often times better than an uninformed algorithm.
What is an admissible heuristics?
an admissible heuristic is one thatnever overestimates the cost to reach a goal
Which heuristics are you using by writing software and why?
A*
GREEDY BEST-FIRST SEARCH
IDA* (iterative deepening A* search)
RBFS (recursive best-first search)
SMA* (simplified memory-bounded A*
BEAM SEARCH
WEIGHTED A*
How do you use heuristic and real life problem solving?
rule of thumb
stereotyping
decision making
What is machine learning (ML)?
[Machine Learning is the] field of study that gives computers theability to learn without being explicitly programmed.
A computer program is said to learn from experience E withrespect to some class of tasks T and performance measure P, if itsperformance at tasks in T, as measured by P, improves withexperience E.
For which problems you can use ML?
Image Recognition• Speech Translation• Driving an Autonomous Car• Product Recommendations• Fraud Detection• Spam Detection• Generating Images, Speech and Text• Playing Games
Which types of ML do you know?
Supervised learningA teacher provides a category label for each pattern in the training set
Unsupervised learningThe system forms clusters or “natural groupings” of the unlabeled input patterns
Reinforcement LearningLearning from the reward and punishment by the environment
Semi-supervised LearningOnly part of the data are labelled e.g. use labeled data for cluster annotation
Self-supervised LearningMask-out some data e.g. delete some words from text or patches from images
What are features (attributes) in ML?
In machine learning and pattern recognition, a feature is an individual measurable property or characteristic of a phenomenon.[1] Choosing informative, discriminating and independent features is a crucial element of effective algorithms in pattern recognition, classification and regression. Features are usually numeric, but structural features such as strings and graphs are used in syntactic pattern recognition. The concept of "feature" is related to that of explanatory variable used in statistical techniques such as linear regression.
What is overfitting and underfitting?
How would you determine overfitting and underfitting using training and validation(test) sets performance?
Overfitting: performance on training set good, performance on validation/test set bad
Underfitting: performance on training and on validation/test set bad
Which algorithms would you use for time series prediction and why?
LSTM
Which algorithms would you use for mail classification and why?
Supervised learning
For which kind of data Deep learning is mainly useful?
Deep Learning is mostly useful for unstructured data!
What are advantages and disadvantages of deep learning?
Deep learning has several advantages over traditional machine learning methods, some of the main ones include:
Automatic feature learning: Deep learning algorithms can automatically learn features from the data, which means that they don’t require the features to be hand-engineered. This is particularly useful for tasks where the features are difficult to define, such as image recognition.
Handling large and complex data: Deep learning algorithms can handle large and complex datasets that would be difficult for traditional machine learning algorithms to process. This makes it a useful tool for extracting insights from big data.
Improved performance: Deep learning algorithms have been shown to achieve state-of-the-art performance on a wide range of problems, including image and speech recognition, natural language processing, and computer vision.
Handling non-linear relationships: Deep learning can uncover non-linear relationships in data that would be difficult to detect through traditional methods.
Handling structured and unstructured data: Deep learning algorithms can handle both structured and unstructured data such as images, text, and audio.
Predictive modeling: Deep learning can be used to make predictions about future events or trends, which can help organizations plan for the future and make strategic decisions.
Handling missing data: Deep learning algorithms can handle missing data and still make predictions, which is useful in real-world applications where data is often incomplete.
Handling sequential data: Deep learning algorithms such as Recurrent Neural Networks (RNNs) and Long Short-term Memory (LSTM) networks are particularly suited to handle sequential data such as time series, speech, and text. These algorithms have the ability to maintain context and memory over time, which allows them to make predictions or decisions based on past inputs.
Scalability: Deep learning models can be easily scaled to handle an increasing amount of data and can be deployed on cloud platforms and edge devices.
Generalization: Deep learning models can generalize well to new situations or contexts, as they are able to learn abstract and hierarchical representations of the data.
Deep learning has several advantages over traditional machine learning methods, including automatic feature learning, handling large and complex data, improved performance, handling non-linear relationships, handling structured and unstructured data, predictive modeling, handling missing data, handling sequential data, scalability and generalization ability.
While deep learning has many advantages, there are also some disadvantages to consider:
High computational cost: Training deep learning models requires significant computational resources, including powerful GPUs and large amounts of memory. This can be costly and time-consuming.
Overfitting: Overfitting occurs when a model is trained too well on the training data and performs poorly on new, unseen data. This is a common problem in deep learning, especially with large neural networks, and can be caused by a lack of data, a complex model, or a lack of regularization.
Lack of interpretability: Deep learning models, especially those with many layers, can be complex and difficult to interpret. This can make it difficult to understand how the model is making predictions and to identify any errors or biases in the model.
Dependence on data quality: Deep learning algorithms rely on the quality of the data they are trained on. If the data is noisy, incomplete, or biased, the model’s performance will be negatively affected.
Data privacy and security concerns: As deep learning models often rely on large amounts of data, there are concerns about data privacy and security. Misuse of data by malicious actors can lead to serious consequences like identity theft, financial loss and invasion of privacy.
Lack of domain expertise: Deep learning requires a good understanding of the domain and the problem you are trying to solve. If the domain expertise is lacking, it can be difficult to formulate the problem and select the appropriate algorithm.
Unforeseen consequences: Deep learning models can lead to unintended consequences, for example, a biased model can discriminate against certain groups of people, leading to ethical concerns.
Limited to the data its trained on: Deep learning models can only make predictions based on the data it has been trained on. They may not be able to generalize to new situations or contexts that were not represented in the training data.
Black box models: some deep learning models are considered as “black-box” models, as it is difficult to understand how the model is making predictions and identifying the factors that influence the predictions.
while deep learning has many advantages, it also has some limitations, such as high computational cost, overfitting, lack of interpretability, dependence on data quality, data privacy and security concerns, lack of domain expertise, unforeseen consequences, limited to the data it’s trained on and black-box models. It’s important to consider these limitations when applying deep learning to a problem.
What are CNN (Convolutional Neural Networks) and where and why they are mainly used?
image classification
image tagging
visual search
recommender engines
Which kind of deep learning neural networks can be used for robotcontrol and why?
Reinforcement Learning
Last changed10 months ago