Bahrudin Hrnjica MVP Agenda Intro to ML Types of ML dotNET and MLtools and libraries Demo01 ANN with C Demo02 GP with C NET Tools AcordNET GPdotNET Summary Machine Learning method of teaching computers to make predictions based on data ID: 778483
Download The PPT/PDF document "Machine Learning for dotNET Developer" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Slide2Machine Learning for dotNET Developer
Bahrudin Hrnjica, MVP
Slide3Agenda
Intro to ML
Types of ML
dotNET and ML-tools and libraries
Demo01: ANN with C#
Demo02: GP with C#
.NET Tools – Acord.NET, GPdotNET
Summary
Slide4Machine Learning?
method of teaching computers to make predictions based on data.
branch of Artificial intelligence
semi-automated extraction of knowledge from data
always starts from data, and the goal is knowledge extraction,
involves some amount of automation in form of algorithm and computer to do the job,
not fully automated, it requires many smart decisions by a human.
Slide5Traditional Programming
Machine Learning
Computer
Data
Program
Output
Computer
Data
Output
Program
Slide6Magic?
No, more like gardening
Seeds
= Algorithms
Nutrients
= DataGardener = YouPlants = Programs
Slide7Sample Applications
Web search
Engineering
Finance
E-commerce
Space exploration
RoboticsInformation extractionSocial networksDebugging[Your favorite area]
Slide8ML in a Nutshell
Tens of thousands of machine learning algorithms
Hundreds new every year
Every machine learning algorithm has three components:
Representation
Evaluation
Optimization
Slide9Representation
Chromosomes in genetics (GA/GP)
Neural networks
Decision trees
Sets of rules / Logic programs
Instances
Graphical models (Bayes/Markov nets)Support vector machinesEtc.
Slide10Evaluation
Accuracy
Precision and recall
Squared error
Likelihood
Posterior probability
Cost / UtilityMarginEntropyK-L divergenceEtc.
Slide11Optimization/Learners
Combinatorial optimization
E.g.: Greedy search
Convex optimization
E.g.: Gradient descent
Constrained optimization
E.g.: Linear programmingGeneral optimizationE.g.: Genetic AlgorithmE.g.: Particle Swarm Optimization
Slide12Types of Learning
Supervised (inductive) learning
Training data includes desired outputs
Unsupervised learning
Training data does not include desired outputs
Semi-supervised learning
Training data includes a few desired outputs
Slide13Machine learning structure
Supervised learning
Slide14Machine learning structure
Unsupervised learning
Slide15Training and testing
Training set
(observed)
Universal set
(unobserved)
Testing set
(unobserved)
Data acquisition
Practical usage
Slide16Training and testing
Training is the process of making the system able to learn.
No free lunch rule:
Training set and testing set come from the same distribution
Need to make some assumptions or bias
Slide17What are we seeking?
Supervised: Low E-out or maximize probabilistic terms
Unsupervised: Minimum quantization error, Minimum distance, MAP, MLE(maximum likelihood estimation)
E-in: for training set
E-out: for testing set
Slide18What are we seeking?
Under-fitting
VS. Over-fitting
(fixed
N
)
error
(model = hypothesis + loss functions)
Slide19dotNET and ML
Learning API -
https://github.com/UniversityOfAppliedSciencesFrankfurt/LearningApi
Accord .NET -
https://github.com/accord-net/framework
GPdotNET- https://github.com/bhrnjica/gpdotnet
Slide20DEMO- Simple ANN and GP C# Program
IRIS DATA DEMO
Slide21Accord .NET
Slide22DEMO
ACCORD .NET
Slide23LearningAPI
Slide24GPdotNET
GP and ANN
Slide25Existing ML tools are difficult or impossible to integrate into a software system.
Commercial and Open Source API libraries work well for some machine learning tasks but are extremely limited for neural networks.
To develop neural networks using Visual Studio you must understand seven core concepts: feed-forward, activation, data encoding, error, training, free parameters, and over-fitting.
Once the concepts are mastered, implementation with Visual Studio
is not difficult (but not easy either).
Slide26Reference
http://bhrnjica.net/gpdotnet
http://accord-framework.net/
https://github.com/UniversityOfAppliedSciencesFrankfurt/LearningApi
http://www.quaetrix.com/Build2013.html
C# ANN sample
https://msdn.microsoft.com/en-us/magazine/mt149362?author=james+mccaffrey
Slide27HVALA NA PAŽNJI!