• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Practical Machine Learning and Rails Part1
 

Practical Machine Learning and Rails Part1

on

  • 4,779 views

Part 2: http://www.slideshare.net/ryanstout/practical-machine-learning-and-rails-part2

Part 2: http://www.slideshare.net/ryanstout/practical-machine-learning-and-rails-part2

Statistics

Views

Total Views
4,779
Views on SlideShare
3,212
Embed Views
1,567

Actions

Likes
5
Downloads
68
Comments
2

19 Embeds 1,567

http://blog.andrewcantino.com 1134
http://lanyrd.com 292
http://localhost 44
http://192.168.1.101 37
http://feeds.feedburner.com 29
http://kevin.tempel.cc 8
http://www.rxforwealthnetwork.com 6
http://www.onlydoo.com 3
http://192.168.0.234 2
http://www.newsblur.com 2
http://comtel.in 2
http://the-refreshing-sip.blogspot.in 1
http://monique-rgu.tumblr.com 1
http://aemetic.blogspot.com 1
http://gotnhasdoluso.blogspot.com 1
http://www.hanrss.com 1
http://translate.googleusercontent.com 1
http://aaaktab.blogspot.com 1
https://pramati.qontext.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

12 of 2 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Practical Machine Learning and Rails Part1 Practical Machine Learning and Rails Part1 Presentation Transcript

    • Practical MachineLearning and Rails
    • Andrew Cantino VP Engineering, Mavenlink @tectonic Founder, Agile Productions @ryanstout
    • This talk will- introduce machine learning- make you ML-aware- have examples
    • This talk will not- give you a PhD- implement algorithms- cover collaborative filtering, optimization, clustering, advanced statistics, genetic algorithms, classical AI, NLP, ...
    • What is Machine Learning?Many different algorithmsthat predict datafrom other datausing applied statistics.
    • "Enhance and rotate 20 degrees"
    • What data? The web is data. User decisions APIs A/B Tests Databases Logs StreamsBrowser versions Reviews Clicktrails
    • Okay. We have data.What do we do with it?We classify it.
    • Classification
    • Classification OR
    • Classification :) OR :(
    • Classification• Documents o Sort email (Gmails importance filter) o Route questions to appropriate expert (Aardvark) o Categorize reviews (Amazon)• Users o Expertise; interests; pro vs free; likelihood of paying; expected future karma• Events o Abnormal vs. normal
    • Algorithms: Decision Tree Learning
    • Algorithms: Decision Tree Learning Features Email contains word "viagra" no yes Email contains Email contains word "Ruby" attachment? no yes no yes P(Spam)=10% P(Spam)=5% P(Spam)=70% P(Spam)=95% Labels
    • Algorithms: Support Vector Machines (SVMs) Graphics from Wikipedia
    • Algorithms: Support Vector Machines (SVMs) Graphics from Wikipedia
    • Algorithms: Naive Bayes• Break documents into words and treat each word as an independent feature• Surprisingly effective on simple text and document classification• Works well when you have lots of data Graphics from Wikipedia
    • Algorithms: Naive BayesYou received 100 emails, 70 of which were spam.Word Spam with this word Ham with this wordviagra 42 (60%) 1 (3.3%)ruby 7 (10%) 15 (50%)hello 35 (50%) 24 (80%)A new email contains hello and viagra. The probability that itis spam is:P(S|hello,viagra) = P(S) * P(hello,viagra|S) / P(hello,viagra) = 0.7 * (0.5 * 0.6) / (0.59 * 0.43) = 82% Graphics from Wikipedia
    • Algorithms: Neural Nets Hidden layerInput layer (features) Output layer (Classification) Graphics from Wikipedia
    • Curse of DimensionalityThe more features and labels that you have, the more data that you need. http://www.iro.umontreal.ca/~bengioy/yoshua_en/research_files/CurseDimensionality.jpg
    • Overfitting• With enough parameters, anything is possible.• We want our algorithms to generalize and infer, not memorize specific training examples.• Therefore, we test our algorithms on different data than we train them on.