Machine learning

374 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
374
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Machine learning

  1. 1. Machine LearningAlgorithms Inmar Givoni
  2. 2. BUT…• There appear to be problems that are really difficult for computers• Many correspond to tasks that are really easy for humans
  3. 3. The face of a child cansay it all…especially the mouth partof the face.
  4. 4. How do you write software tools to solve these problems?
  5. 5. Algorithms 101 sorting a list• Why? Makes other tasks easier – (like finding Commander Riker)• How? 3 13 7 1 52 14
  6. 6. 3 13 7 1 52 14Sorting a list of numbers1. Find for the smallest number in the entire array (from the first to the last position)2. If it’s not already in the 1st position, it is in some other position, k.
  7. 7. 3 13 7 1 52 14Sorting a list of numbers1. Find for the smallest number in the entire array (from the first to the last position)2. If it’s not already in the 1st position, it is in some other position, k3. Swap the number in the 1st position, with that smallest number at position k.
  8. 8. 1 13 7 3 52 14Sorting a list of numbers1. Find for the smallest number in the entire array (from the first to the last position)2. If it’s not already in the 1st position, it is in some other position, k3. Swap the number in the 1st position, with that smallest number at position k.
  9. 9. 1 13 7 3 52 14Sorting a list of numbers1. Find for the smallest number in the entire array (from the first to the last position)2. If it’s not already in the 1st position, it is in some other position, k.3. Swap the number in the 1st position, with that smallest number at position k4. Find the smallest number between the 2nd position, to the last position5. If it’s not already in the 2nd position, it is in some other position k
  10. 10. 1 13 7 3 52 14Sorting a list of numbers1. Find for the smallest number in the entire array (from the first to the last position)2. If it’s not already in the 1st position, it is in some other position, k.3. Swap the number in the 1st position, with that smallest number at position k4. Find the smallest number between the 2nd position, to the last position5. If it’s not already in the 2nd position, it is in some other position k
  11. 11. 1 13 7 3 52 14Sorting a list of numbers1. Find for the smallest number in the entire array (from the first to the last position)2. If it’s not already in the 1st position, it is in some other position, k.3. Swap the number in the 1st position, with that smallest number at position k4. Find the smallest number between the 2nd position, to the last position5. If it’s not already in the 2nd position, it is in some other position k6. Swap the number in the 2nd position with that smallest number at position k
  12. 12. 1 3 7 13 52 14Sorting a list of numbers1. Find for the smallest number in the entire array (from the first to the last position)2. If it’s not already in the 1st position, it is in some other position, k.3. Swap the number in the 1st position, with that smallest number at position k4. Find the smallest number between the 2nd position, to the last position5. If it’s not already in the 2nd position, it is in some other position k6. Swap the number in the 2nd position with that smallest number at position k
  13. 13. 1 3 7 13 52 14Sorting a list of numbers1. Find for the smallest number in the entire array (from the first to the last position)2. If it’s not already in the 1st position, it is in some other position, k.3. Swap the number in the 1st position, with that smallest number at position k4. Find the smallest number between the 2nd position, to the last position5. If it’s not already in the 2nd position, it is in some other position k6. Swap the number in the 2nd position with that smallest number at position k…
  14. 14. 1 3 7 13 14 52Sorting a list of numbers1. Find for the smallest number in the entire array (from the first to the last position)2. If it’s not already in the 1st position, it is in some other position, k.3. Swap the number in the 1st position, with that smallest number at position k4. Find the smallest number between the 2nd position, to the last position5. If it’s not already in the 2nd position, it is in some other position k6. Swap the number in the 2nd position with that smallest number at position k…?. When you are at the last position, you are done – everything is now in place!
  15. 15. But for those hard problems…, ‘common sense’ doesn’t quite work!• Recipe for finding a face in an image?
  16. 16. But for those hard problems…, ‘common sense’ doesn’t quite work!• Recipe for finding a face in an image?
  17. 17. But for those hard problems…, ‘common sense’ doesn’t quite work!• Recipe for finding a face in an image?
  18. 18. But for those hard problems…, ‘common sense’ doesn’t quite work!• Recipe for finding a face in an image?
  19. 19. But for those hard problems…, ‘common sense’ doesn’t quite work!• Recipe for finding a face in an image?
  20. 20. But for those hard problems…, ‘common sense’ doesn’t quite work!• Recipe for finding a face in an image?
  21. 21. But for those hard problems…, ‘common sense’ doesn’t quite work!• Recipe for finding a face in an image?
  22. 22. But for those hard problems…, ‘common sense’ doesn’t quite work!• Recipe for finding a face in an image?
  23. 23. But for those hard problems…, ‘common sense’ doesn’t quite work!• Recipe for finding a face in an image?
  24. 24. But for those hard problems…, ‘common sense’ doesn’t quite work!• Recipe for finding a face in an image?• Too many variations to list down…• We probably don’t actually understand the rules ourselves!
  25. 25. Machine Learning approach 1. Gather data: images with their labels (face, no face) 2. Process them somehow into a machine friendly representation 3. Let the machine figure out the decision rule for itself!
  26. 26. Sounds a bit like magic…? let’s look under the hood• What does it mean to ‘figure out the rule’? Face No Face 𝐴𝑥 2 +𝐵𝑦 + sin 𝐶𝑧 > 0 → 𝑓𝑎𝑐𝑒 𝐴𝑥 2 + 𝐵𝑦 + sin 𝐶𝑧 ≤ 0 → 𝑛𝑜 𝑓𝑎𝑐𝑒 A,B,C – Knobs x,y,z - Numbers (Parameters) from the image
  27. 27. Where do the equations come from? 𝑎𝑥 + 𝑏𝑦 + 𝑐 > 0 𝑎𝑥 + 𝑏𝑦 + 𝑐 < 0 Faces Non-Faces 𝑎𝑥 + 𝑏𝑦 + 𝑐 = 0
  28. 28. How do we set the parameters? Faces Non-Faces
  29. 29. Recap: figureing out the rule• Human decides on a template• Human decides on what criteria to use for finding the parameters• Human figures out the technique required to optimize this function• Human (or human’s graduate students) write code that performs that optimization• ‘Training’ - Computer does the grunt work - calculating parameter values
  30. 30. The dirty details of data representation• What does it mean ‘machine friendly representation’?• Data comes in many shapes & forms• Algorithms crunch numbers• We need to translate things into numbers – Things: images, documents, speech, preferences… – Numbers: <x1,x2,x3,…,xN> (vectors)
  31. 31. From data to vectors• The good news - it’s possible 184, 137, 119• Example 1: Images[0,34,25, 34,52,66, 66,86,24, 4,62,75, …., 184,137,119, …]
  32. 32. From data to vectors• The good news - it’s possible• Example 2: Text A cat and a dog went for a walk, and they stopped by a tree. The cat climbed up the tree. The dog continued to sit under the tree. The cat said to the dog…
  33. 33. From data to vectors• The good news - it’s possible• Example 2: Text 120 100 80 60 40 20 0 word counts a/the cat dog and go/went/going me/my/I tree Commander
  34. 34. From data to vectors• The bad new - – Bad representation → bad performance – vectors are almost always in very high dimensional space → the curse of dimensionality
  35. 35. Supervised Learning• Classification – small set of labels (for every input, attach one of K labels)• Regression – labels are continuous (curve fitting)
  36. 36. Unsupervised learning• Find groups in data (clustering)
  37. 37. Unsupervised learning• Find groups in data (clustering)• Collaborative filtering
  38. 38. Machine Learning Everywhere…• We’ve come a long way! – Computer vision – Speech processing and NLP – Recommendation systems – Computational Biology – Even right here in PowerPoint!!!
  39. 39. Machine Learning Everywhere…• But there’s a long way to go• And we are pretty far off from – “It’s an excerpt from star-trek, Riker’s annoyed, and it’s a pretty entertaining scene”
  40. 40. In conclusion…• Exciting field!• Combines mathematics, computer science, optimization theory, statistics, …• But really – it’s mostly about – Processing the data into a useful representation – Coming up with a good model – Optimizing
  41. 41. Thanks! Questions?

×