b790c07b31ab6fbd5b1342a403afb666.ppt
- Количество слайдов: 34
Data-driven methods in Environmental Sciences Exploration of Artificial Intelligence Techniques Valliappa. Lakshmanan@noaa. gov lakshman@ou. edu 1
Data Driven Methods What is Artificial Intelligence? Common AI techniques Choosing between AI techniques Pre and post processing lakshman@ou. edu 2
What is AI? l Machines that perceive, understand react to their environment Goal of Babbage, etc. l Oldest endeavor in computer science l l Machines that think Robots: factory floors, home vacuums l Still quite impractical l lakshman@ou. edu 3
AI vs. humans l AI applications built on Aristotlean logic l l l Computers never as good as humans l l l Induction, semantic queries, system of logic Human reasoning involves more than just induction In reasoning and making sense of data In obtaining a holistic view of a system Computers much better than humans l l In processing reams of data Performing complex calculations lakshman@ou. edu 4
Successful AI applications l Targeted tasks more amenable to automated methods l Build special-purpose AI systems Determine appropriate dosage for a drug l Classify cells as benign or cancerous l l Called “expert systems” Methodology based on expert reasoning l Quick and objective ways to obtain answers l lakshman@ou. edu 5
Data Driven Methods What is Artificial Intelligence? Common AI techniques Choosing between AI techniques Pre and post processing lakshman@ou. edu 6
Fuzzy logic l Fuzzy logic addresses key problem in expert systems How to represent domain knowledge l Humans use imprecisely calibrated terms l How to build decision trees on imprecise thresholds l lakshman@ou. edu 7
Fuzzy logic example Source: Matlab fuzzy logic toolbox tutorial http: //www. mathworks. com/access/helpdesk/help/toolbox/fuzzy/fp 350. html lakshman@ou. edu 8
Advantages of fuzzy logic l Considerable l skill for little investment Fuzzy logic systems piggy bank on human analysis Humans encode rules after intelligent analysis of lots of data l Verbal rules generated by humans are robust l l Simple to create Not much need for data or ground truth l Logic tends to be easy to program l l Fuzzy rules are human understandable lakshman@ou. edu 9
Where not to use fuzzy logic l Do not use fuzzy logic if: l l Humans do not understand the system Different experts disagree Knowledge can not be expressed with verbal rules Gut instinct is involved l l Not just objective analysis A fuzzy logic system is limited l l Piece-wise linear approximation to a system Non-linear systems can not be approximated l Many environment applications are non-linear lakshman@ou. edu 10
Neural Networks l Neural networks can approximate nonlinear systems l Evidence-based l l Weights chosen through optimization procedure on known dataset (“training”) Works even if experts can’t verbalize their reasoning, or if there is ground truth lakshman@ou. edu 11
A example neural network Diagram from: http: //www. codeproject. com/useritems/GA_ANN_XOR. asp lakshman@ou. edu 12
Advantages of neural networks l Can approximate any smooth function l l Can yield true probabilities l l Training process is well understood Fast in operations l l If output node is a sigmoid node Not hard to train l l The three-layer neural network Training is slow, but once trained, the network can calculate the output for a set of inputs quite fast Easy to implement l Just a sum of exponential functions lakshman@ou. edu 13
Disadvantages of neural networks l A black box l l l Measure of skill needs to be differentiable l l l The final set of weights yields no insights Magnitude of weights doesn’t mean much RMS error, etc. Can not use Probability of Detection, for example Training set has to be complete l l l Unpredictable output on data unlike training Need lots of data Need expert willing to do lot of truthing lakshman@ou. edu 14
Recap: l Fuzzy logic Humans provide the rules l Not optimal l l Neural network Humans can not understand system l Optimal l l Middle ground? Genetic Algorithms l Decision Trees l lakshman@ou. edu 15
Genetic algorithms l In genetic algorithms One fixes the model (rule base, equations, class of functions, etc. ) l Optimize the parameters to model on training data set l Use optimal set of parameters for unknown cases l lakshman@ou. edu 16
An example genetic algorithm Sources: http: //tx. technion. ac. il/~edassau/web/genetic_algorithms. htm http: //cswww. essex. ac. uk/research/NEC/ lakshman@ou. edu 17
Advantages of genetic algorithms l Near-optimal parameters for given model Human-understandable rules l Best parameters for them l l Cost l function need not be differentiable The process of training uses natural selection, not gradient descent l Requires l less data than a neural network Search space is more limited lakshman@ou. edu 18
Disadvantages of genetic algorithms l Highly l dependent on class of functions If poor model is chosen, poor results l Optimization may not help at all l Known model does not always lead to better understanding Magnitude of weights, etc. may not be meaningful if inputs are correlated l Problem may have multiple parametric solutions l lakshman@ou. edu 19
Decision trees Can automatically build decision trees from known data Root l Prune trees 30 50 l Select thresholds l Choose operators l Disadvantages T < 10 C T > 10 C l Piece-wise linear, so typically less skilled than neural networks 20 15 10 35 l Large decision trees are effectively a blackbox l Can not do regression, only classification Z > 45 Z < 45 V<5 V>5 l Advantages: 18 2 2 13 82 2 33 l Fast to train l New advances: bagged, boosted decision trees approach skill of neural networks, but are no longer fast to train l lakshman@ou. edu 20
Radial Basis Functions Diagram from: A. W. Jayawardena & D. Achela K. Fernando 1998: Use of Radial Basis Function Type Artificial Neural Networks for Runoff Simulation, Computer-Aided Civil and Infrastructure Engineering 13: 2 Radial Basis Functions are a form of neural network l Localized gaussians l Linear sum of non-linear functions l Advantage: Can be solved by inverting a matrix, so very fast l Disadvantage: Not a general-enough model l lakshman@ou. edu 21
Data Driven Methods What is Artificial Intelligence? Common AI techniques Choosing between AI techniques Pre and post processing lakshman@ou. edu 22
Typical data-driven application Which features? Input Data How do we find f() Features AI application in run-time f(features) Result lakshman@ou. edu 23
What is the role of the data? l Validation l l Test known model Technique: l l Calibration l l Find parameters to model with desired structure Technique: l l l Difference between model output and ground truth helps to validate the model Tuned fuzzy logic method Genetic algorithms Induction l l Find model and parameters from just data Technique: l Neural network methods, bagged/boosted decision trees, support vector machines, etc. lakshman@ou. edu 24
What is the problem to solve? l Do you have a bunch of data and want to: l Estimate an unknown parameter from it? l l Classify what the data correspond to? l l l True rainfall based on radar observations? Amount of liquid content from in-situ measurements of temperature, pressure, etc? Regression A water surge? A temperature inversion? A boundary? Classification Regression and classification aren’t that different l Classification: estimate probability of an event l A function from 0 -1 lakshman@ou. edu 25
Which AI technique? l Do you have expert knowledge? l l Humans have a “model” in their head? Should the final f() be understandable? Create fuzzy logic rules from experts’ reasoning l l Aggregate the individual fuzzy logic rules Can tune the fuzzy rules based on data l l Many times the original rules are just fine Do you already know the model? l l A power-law relationship? Gaussian? Quadratic? Rules? Just need to find parameters to this model? l l Using regression, decision trees or neural networks for RMS error criterion Genetic algorithms for error criteria like ROC, economic cost, etc. If linear, just use linear regression If non-linear: use genetic algorithms Use continuous GAs Both of these can be used for regression (therefore, also classification) lakshman@ou. edu 26
Which AI technique (contd. ) l Do you know nothing about the data? l l l Not the suspected equation/model (GA)? Not the suspected rules (fuzzy logic)? Use a AI technique that supplies its equations/rules l l For classification, use: l Bagged decision trees or Support Vector Machines l l “black box”. If output is probabilistic, remember to apply Platt scaling Summary statistics on bagged DTs can help answer “why” Neural Networks For regression, use: l Neural networks lakshman@ou. edu 27
Where do your data come from? l Observed data l l Compute features Choose AI technique l l The 4 choices in the previous two slides Simulated data: l l Example: trying to replicate a very complex model Throw randomly-generated data at model Compute features Choose AI technique: l l GA for parametric approximations NN when you don’t know how to approximate lakshman@ou. edu 28
Where do you get your inputs? l What type of data do you have? l Individual observations? l l Sparse observations in a time series? l l l Sample them (choose at random) and use directly Generate time-based features (1 D moving windows) Signal processing features from time series Data from remotely sensed 2 D grids? l l Generate image-based features using convolution filters Do you need: l l Pixel-based regression/classification? l Use convolution features directly Object-based regression/classification? l Identify regions using region growing l Use region-aggregate features lakshman@ou. edu 29
Typical data-driven application Observed data Signal/image processing; sampling Features normalize/create chromosome/ determine confidences f() Fz. Logic/Gen. Alg/NN/Dec. Tree Platt method/region-average/threshold A data-driven application in run-time Result lakshman@ou. edu 30
Data Driven Methods What is Artificial Intelligence? Common AI techniques Choosing between AI techniques Pre and post processing lakshman@ou. edu 31
Preprocessing l Often can not use pixel data directly l l l Different data sets may not be collocated l l l Need to interpolate to line them up Mapping, objective analysis Noise in data may need to be reduced l l l Too much data, too highly correlated May need to segment pixels into objects and use features computed on the objects Smoothing Present statistic of data, rather than data itself Features need to be extracted from data l Human experts often good source of ideas on signatures to extract from data lakshman@ou. edu 32
Postprocessing l The output of an expert system may be grid point by grid point l May need to provide output on objects l l l Storms, forests, etc. Can average outputs over objects’ pixels May need probabilistic output l l Scale output of maximum marginal techniques Use a sigmoid function l Called Platt scaling lakshman@ou. edu 33
Summary l What is Artificial Intelligence? l l Common AI techniques l l Fuzzy logic, neural networks, genetic algorithms, decision trees Choosing between AI techniques l l Data-driven methods to perform specific targeted tasks Understand the role of your data Do experts understand the system? (have a model) Do experts expect to understand the system? (readability) Pre and post processing l Image processing techniques on spatial grids lakshman@ou. edu 34