Intro_to_Artificial_Intelligence - 91-514-s2011

Download Report

Transcript Intro_to_Artificial_Intelligence - 91-514-s2011

Intro to Artificial Intelligence &
Cloud Computing
1
First definition of AI
"AI is the study of making computers do things, at which, at the
moment, people are better"
-- Elaine Rich (author of Artificial Intelligence book)
There are still many domains where its better to rely on human
to solve problems than computers.
For example : teaching programing course to novice
2
Computers advantage
Computers are better than human beings in:
• Numeric Computation
• Information Storage
• Repetitive Operation
• Example
o
o
Land aircraft safely
Ability to beat virtually any human being in the chess.
3
Human advantages
Human beings are better than computers in:
• Common Sense/Judgement
o
o
Crossing a road
Driving in busy city like New York and Boston
• Language, speech, understanding scene, emotions, and
expression situation
o
Player emotions vs Video game
4
Algorithm Vs Non-Algorithm
Algorithm is a systemic method in which a sequence of
steps/instructions are mentions, and each step/instruction can
takes finite amount of time.
Non-algorithm method, we may not have definite sequence of
steps to follow. Example crossing road.
5
"Measure three times before you cut
once" - Proverbs
• Computers takes instructions from human and then do the
task. without thinking if instructions user gave is right or not.
• Garbage in and Garbage out
• Human can take garbage as an input, but may think it twice
before its provide output.
6
Google Prediction API
•
•
•
•
•
Making prediction based on data provided
Machine learning as a Web Service
It is a RESTfull HTTP service
Only HTTPS protocol is supported
Development Warning:
o
o
"Not a crystal ball"
Not fully ready yet, a lot more work to be done.
7
Process
Steps to use Prediction API
1. Prediction API Account access
2. Build a data model
3. Upload training data to Google cloud
4. Train the system with the data
5. Send a query
8
Commands
• $ ./oauth-train.sh
• $ ./oauth-check-training.sh
• $ ./oauth-predict.sh
9
Authentication Types
• clientLogin
• login credentials is validated only once per
session
• clientLogin is designed for desktop application
• oAuth
• Better user interface
• oAuth designed for web applications
• Secure user credential
• Required Account access: Google storage for dev &
Prediction API account
10
Build a data Model
•
•
•
•
Data format: comma separated value format(CSV)
Data can be numeric or unstructured text
Data cannot be more than 100M
……talk more about from Dev paper
11
Upload data
• Create a bucket
• gsutil mb gs://classexample (follow Google guidelines)
• Copy data to bucket
• $ gsutil cp ./language_id gs://classexample/language_id
12
Data Example
• "english" = "The patriots are the best team in the
league"
• "Hindi" = "आज बहुत अच्छा दिन है “
• "English", "Je ne vous parle pas, monsieur."
• "Spanish", "Soneto"
• "English", " * * * * * * *" (Bad data)
• "Spanish", "YO, EL REY."
• "French", "-- Ah! fit d'Artagnan."
• "Spanish", " Non bene pro toto libertas venditur auro."
13
Train system
• To Train
• $ ./oauth-train.sh classexample/language_id
• To check
• $ ./oauth-check-training.sh classexample/language_id
• Return :
•
{"data":{"data":"classexample/language_id","modelinfo":"Training has
not completed."}}
• Try again
• $ ./oauth-check-training.sh classexample/language_id
• Return :
•
{"data":{"data":"classexample/language_id","modelinfo":"estimated
accuracy: 0.95"}}
14
Send Queries
• Send queries
– $ ./oauth-predict.sh classexample/language_id "Today is Monday.
The New york City"
– return {data: {"input" : { "mixture" : [ "mucho bueno"
]}}}{"data":{"kind":"prediction#output",
"outputLabel":"english",}}
• outputLabel value shows best guess
15
Google Recommendation
• Think carefully when uploading train data
16
Summary
• When not following steps and using judgment to solve
problem, then its a field of AI.
• If series of steps can be follow to solve problem, its better to
use Algorithm. Its faster and cheaper way.
• Prediction API is just a proof of concept yet
• Other examples that are equaling to Prediction API
• Email Rules or Filters
• Amazon recommendation
17
References
• http://code.google.com/apis/predict/
• http://en.wikipedia.org/wiki/Artificial_intelligence
18