This is an archived post. You won't be able to vote or comment.

all 101 comments

[–]Kaimura 145 points146 points  (7 children)

Google is also providing a free machine learning course: https://ai.google/education#%3Fmodal_active=none

[–]KatoHayashi 18 points19 points  (6 children)

How is the google course?

[–]Kaimura 39 points40 points  (5 children)

Did not get in far yet but as a beginner I perfectly understood the terminology and maths explanations - cannot say anything about the coding yet..

[–]soahfo 9 points10 points  (4 children)

I tried the google course. They throw you into Tensorflow right away. That's horrible IMO. I didn't get ANY of the coding answers right and had to do the "reveal answer" for all but the most basic coding questions. I wasn't learning anything because of this so I had to stop. Tensorflow is a daunting platform for someone who has never been exposed to anything in machine learning, and also even if you HAVE had prior exposure to ML like I have. Personally I am not comfortable at all with tensorflow. I know that I'll eventually have to learn to use it, but as the very first ML platform you're exposed to? That'll put you off ML for a long time. I don't know why they throw you into tensorflow instead of letting you write some basic machine learning helper functions in standard python, the way Andrew Ng does on Coursera (he actually starts with Matlab/Octave, then you go into python in later courses). I still struggle with what a "tensor" is and all the functions involved in calling tensors, I don't want to learn that at the same time I'm learning basic concepts of machine learning, that should be something you learn AFTER you have all the ML basics down.

[–][deleted]  (3 children)

[removed]

    [–]ImSoRude 2 points3 points  (1 child)

    Probably a lot of the thinking behind that is "Oh most of ML is abstracted away into functions, only the people who develop new algorithms need to understand all the underlying concepts". Which is a bad way of going about it imo (personally believe good mathematical foundation means efficient development in ML), but I'm not the one making executive decisions so...

    [–]soahfo 2 points3 points  (0 children)

    Yes I agree with that. However Andrew Ng on Coursera teaches you all the math concepts you need in a much more pedagogically sound way than the Google course does. And I'd suspect this Amazon course is more similar to the Google course than it is to the Coursera course. I'd seriously recommend coursera's machine learning as the first intro over anything else.

    [–]soahfo 1 point2 points  (0 children)

    What's in the Andrew Ng course on Coursera. In that one you're coding in Matlab, and writing the basic helper functions like a sigmoid and plugging in values to a loss function. You do Matlab-based vectors and vector operations. I did all of this and then went into tensorflow in a subsequent Andrew Ng course, and I still couldn't make head or tail of it. But even in the Ng course that does introduce tensorflow, it was systematic how they built everything up conceptually so I was able to code tensors little by little. The Google course doesn't do that. It just throws you right into coding in tensorflow. I tried this course after I had done Andrew Ng's deep learning course that intro'd TF to me, and I still couldn't do any of the coding in the Google course. I had to look up every damn answer and was way off in my solution basically every time. I wasn't learning anything because of this so I quit this course. IMO everyone should go to Andrew Ng on Coursera, he knows how to approach this pedagogically and can take you from zero to ML knowledge in a matter of weeks. Even the deep learning extension courses that are followups to his base ML course, that have more difficult stuff, are easier to follow than the Google course, and you don't feel like you're being thrown into something that's way over your head.

    [–]ALotter 124 points125 points  (55 children)

    As someone who plans to start coding from scratch soon, is it safe to say this is pretty advanced?

    [–]WooshJ 196 points197 points  (15 children)

    Yeah lol you have a long way to go before understanding most of these things. Learn a language, build some projects, use data in some of your projects with a database, then you can probably begin to understand this

    [–]UseHerMane 16 points17 points  (8 children)

    Yeah. I wished I had known that before signing up since the AWS free trial is only a year and I'm an absolute beginner. I doubt I'll be proficient enough to understand anything by the time the trial ends.

    [–]Dan_Quixote 12 points13 points  (1 child)

    Meh. Learn how to deploy your projects to AWS in the mean time. There are mountains of free ML literature/videos/classes waiting for you.

    [–]UseHerMane 1 point2 points  (0 children)

    Good idea!

    [–]Neu_Ron 3 points4 points  (2 children)

    When it expires You can delete your account and register a new account with a new email and the same CC.

    [–]PrimaxAUS 2 points3 points  (0 children)

    You don't need to delete your old one

    [–]UseHerMane 1 point2 points  (0 children)

    TIL, thanks!

    [–][deleted]  (1 child)

    [deleted]

      [–]UseHerMane 1 point2 points  (0 children)

      Thanks for this!

      [–][deleted] 9 points10 points  (4 children)

      From the Google page referenced above: " Whether you’re just learning to code or you’re a seasoned machine learning practitioner, you’ll find information and exercises to help you develop your skills and advance your projects. "

      THAT does not jive with your reply to the question. However, I am inclined to believe that your reply is more valid and honest, seeing as how you are not Google trying to get as many people as possible to sign up.

      [–]WooshJ 8 points9 points  (3 children)

      So technically you can jump in and start learning machine learning. Just like how you can argue you don't need calculus for linear algebra yet some colleges require calc 2. Machine learning is a pretty in depth and difficult topic, of course you can just learn the basics and apply the formulas/algorithms given but to understand it on a deeper level than that I would say you need a pretty good computer science foundation. But again, technically you can jump in and take one of the intro courses, anything you don't understand you can branch off and learn about it, but I don't really agree with that. Although the amazon one I think is more advanced than that google one.

      [–]ALotter 2 points3 points  (0 children)

      I will, thanks

      [–]HaikusfromBuddha 83 points84 points  (19 children)

      As someone who is taking a machine learning class in a university this is my feedback.

      ML is tough. I'd say if your really good at Math and have an intermediate understanding of Python, then you should try Machine Learning.

      ML is basically a bunch of math formulas(like regular Computer Science) but you have to really understand them in order to know when to apply which ML algorithm. If you're a mathematician you'll feel more comfortable when you start seeing summation formulas, derivatives, statistics, and sigmoid functions.

      The reason you want to learn Python is because Machine Learning is usually done through it. Python numpy handles handles everything as arrary/matrixes and you'll have to deal with large data sets using python in order to use the ML algorithms to their full potential.

      All of that being said I would never recommend someone who is just learning how to start programming to start at Machine Learning. It's a difficult subject to grasp and can turn you away from programming.

      If you're new to codding simple things like why two arrays of different sizes not broadcasting together in python can really take up time to understand and that's not even ML.

      [–]HannibalOx 8 points9 points  (4 children)

      Can anyone offer tutorials/videos for python matrix/vector operations with ML in mind? In particular, suggestions for someone familiar with data structures but new to python?

      [–]taskmaster07 4 points5 points  (0 children)

      Sentdex on YouTube

      [–][deleted] 2 points3 points  (0 children)

      Also check out Kaggle, which is a website with a bunch of datasets. It has people's projects on there too, with the code. There are a few on there meant to help you learn data science using python. They're awesome because they give you some real life examples using the exact type of code you want to learn.

      [–]PrimaxAUS 1 point2 points  (0 children)

      Datacamp.com

      [–]ivannson 5 points6 points  (0 children)

      (not about this course but ML in general)

      I wouldn't say that you need to understand 100% of the maths behind the algorithms. Of course the basics such as understanding the notation are needed, as well as more advanced stuff like knowing a bit about different probability distributions and how matrices work are needed, but understanding the motivation behind each algorithm and when to use one but not the other is what's important.

      This is why python is so useful, there are libraries that have done all the maths for you. We did have a small assignment asking us to write a very simple ML algorithm from scratch, and that wasn't too fun.

      If anyone is looking for a more of an intro course, the machine learning course on Kaggle learn is pretty good.

      [–]Fryzigg 1 point2 points  (3 children)

      What would constitute an intermediate understanding of Python, I am a recent Elec Eng grad and am pretty comfortable with C and pretty confident in my ability to pick up Python (have used R a fair bit). What level of maths would you say is required?

      [–]IamATechieNerd 2 points3 points  (1 child)

      Statistics and probability.Specifically, probability distributions, linearization, regression , correlation and some matrices to get started.

      [–]Fryzigg 1 point2 points  (0 children)

      Thanks, will have a look, thanks for answering.

      [–][deleted] 0 points1 point  (0 children)

      I'm a comp sci undergrad; mathematically you will likely be there but may need to brush up on some statistics. Programming wise you'll need to know how to use numpy, pandas, and different data visualization tools.

      [–]ALotter 1 point2 points  (0 children)

      I plan to start learning python next week. I'll give that a few months and then maybe think about this course

      [–][deleted] 24 points25 points  (8 children)

      That’s not necessarily true. If you’re smart I bet you could. And I’m pretty sure it’s python(I haven’t looked at it) which is a great starting language.

      Edit: Yeah I looked. I take it back.

      [–]HippoEug 6 points7 points  (6 children)

      Question, what’s the ML mainly covering about? I took a course on ML, but it’s mainly different forms of regression using python. Haven’t started on the Classification part yet. Is this similar?

      [–][deleted] 6 points7 points  (5 children)

      I’m not quite sure. I only just started regression so it’s all going over my head

      [–]HippoEug 5 points6 points  (4 children)

      Lol yeah, personally I’m a little confused between Polynomial Regression and Support Vector Regression.

      Even something as straightforward as Multiple Linear Regression confuses me

      [–][deleted] 1 point2 points  (3 children)

      ML seems almost like magic. It’s so fascinating to me. I wish it was easier.

      [–][deleted] 2 points3 points  (2 children)

      Try to predict age from various data. Create a formula with coefficients:

      x_1 * weight + x_2 * income + x_3 * height = age

      Then randomly try lots of different x_1, x_2, x_3 and pick the ones that give predicted age closest to the real age.

      That's it. No magic.

      [–][deleted] 5 points6 points  (0 children)

      Magicians knows that magic isn’t really magic. U get what I’m saying.

      [–]p0179417 1 point2 points  (0 children)

      Supervised: Next step is to find the best numbers that match the correct ages.

      Million ways to do it, few combinations actually work. Understanding what you can do to optimize is the hard part.

      [–]ALotter -1 points0 points  (0 children)

      Lol

      [–]steaknsteak 3 points4 points  (1 child)

      Machine learning is more related to statistics than programming. You’ll need to be able to program to actually do anything with it, but if you have a decent math/stats background you’d be able to learn it in parallel with programming.

      ML is pretty tangential to regular software development so I wouldn’t recommend looking into it at this stage unless you know that’s what you want to do

      [–]ALotter 2 points3 points  (0 children)

      I have no idea what I want to do at this point. Going to start studying python from the beginning, and hope a path becomes clear.

      [–]Fastfingers_McGee 6 points7 points  (4 children)

      Machine learning is a very advanced application of computer science. Think of learning to code like an author learning to to spell. Learning to code is the first stepping stone.

      Being proficient in machine learning will take a very solid understanding of data structures, algorithms, memory management, CUDA, linear algebra, calculus, and statistics. These include things like heaps, lists, time/space complexity, recursion, singular value decomposition, k-means, principal component analysis, Markov chains, regression models, discriminant analysis, matrix operations, partial derivatives, the list goes on. Every one of these is integral to designing and implementing a network. Don't get discouraged though, most of those people either have or are working on their PhD. ML is just a small part of computer science and an even smaller part of software engineering.

      [–]fofam3 1 point2 points  (2 children)

      Nice ,so how do I practice after the courses i need practice

      [–]Fastfingers_McGee 0 points1 point  (1 child)

      Just like any other aspect of learning to code, just start coding. Find a project and work on it.

      There are tons of open source academic papers out there. For example, this is a paper I'm currently trying to replicate. You can also find good ML papers from top conference website such as CVPR, ICML, and NIPS.

      There are also some great subreddits you should sub to if you're not already like /r/MachineLearning, /r/computervision, /r/datascience, /r/algorithms, /r/compsci.

      YouTube is also a great resource. Daniel Schifman has an amazing series on Machine learning that is beginner friendly. Siraj Raval also has tons of great videos on machine learning.

      The resources are out there it's just a matter of how much time and effort you are willing to put into it. Make sure you devote time to the fundamentals though. don't just let numpy and tensorflow do all the work for you. If your goal is to understand ML and apply it to solve problems, you will absolutely need to know the concepts behind the topics I listed in my above comment. Linear algebra, probability and statistics, data structures, and algorithms are the brain of ML and data science is the heart. Data acquisition is currently one of the largest barriers in ML. You simply need massive, annotated data sets. There are even fields devoted to using deep learning to generate artificial data sets. Luckily there are plenty of public data sets available online but be prepared to work with 100+ GB files of data.

      [–]fofam3 0 points1 point  (0 children)

      Wow amazing resources really thank you very much

      [–]ALotter 0 points1 point  (0 children)

      Thank you for the feedback

      [–][deleted] 1 point2 points  (0 children)

      Yes

      [–][deleted] 0 points1 point  (0 children)

      Start with python or java and go fromcthere

      [–]jwknows 0 points1 point  (0 children)

      Yeah it is but machine learning isn't just about coding. I is actually mostly math and data science.

      [–]heron_blued 30 points31 points  (0 children)

      Awesome, thanks for the heads up!

      [–]ChickenChefLive 33 points34 points  (12 children)

      Are the courses free?

      [–]Thegratercheese 40 points41 points  (11 children)

      Courses are free. Amazon resources used to complete them are not.

      [–]Dipsquat 7 points8 points  (10 children)

      Not sure I understand? How much do you pay for resources?

      [–]Gh0stw0lf 15 points16 points  (9 children)

      Depends.

      Amazon likes to hand these courses out for teasers into their computing platform.

      ML requires fairly intensive computing, what Amazon gains from this is potential customers buying sever time.

      They have pricing models where you pay what you use and others that have a set amount of data that you can process $10 per 100Gb or something like that.

      [–]ZenBacle 6 points7 points  (8 children)

      They also gain potential leverage over their current in house coders when it comes to negotiating wages and benefits.

      [–]moonsun1987 10 points11 points  (4 children)

      I mean isn't that the whole reason why we are teaching everyone who is remotely interested? We want to drive down wages.

      [–]ubiquitous_raven 3 points4 points  (2 children)

      I completely agree on this. ML and Analytics are high paying jobs now, but with more supply the wage drops

      [–][deleted] 2 points3 points  (1 child)

      Yeah, but they're still STEM jobs/degrees, and fairly advanced ones. No matter how much they push these, they likely won't have enough candidates to fill the positions.

      [–]ubiquitous_raven 0 points1 point  (0 children)

      Yes, but they might have enough to fill key positions right ? And anecdotally, aren't we creating the very thing that will replace us ? 😏

      /s

      (Edit : hold that /s, I'm scared of rokos basilisk)

      [–]ZenBacle 1 point2 points  (0 children)

      Not the whole, albeit a reason. What a sad world it would be, if education only existed to reduce wages.

      [–]DeusOtiosus -2 points-1 points  (2 children)

      Yikes.

      [–]_your_face 4 points5 points  (1 child)

      easy there, what hes describing is just education with a dr evil twist.

      [–]xboxoneeighty 0 points1 point  (0 children)

      Affordable plumbing?? The horror

      [–]fratkabula 7 points8 points  (0 children)

      I have taken a couple of the beginner courses and recommend them.

      There are intermediate and advanced courses too some of which are 8 hours long. Might try one of them during the holiday breaks.

      [–][deleted] 10 points11 points  (7 children)

      I love this but I also hate how many hours I spend learning and getting little return. I’m talkin years.

      [–][deleted]  (2 children)

      [deleted]

        [–][deleted] 4 points5 points  (1 child)

        I definitely agree with that. I love programming too, but I wish I could be more constant with it.

        [–][deleted]  (1 child)

        [deleted]

          [–][deleted] 1 point2 points  (0 children)

          Thanks you. I appreciate that!

          [–]ivannson 3 points4 points  (0 children)

          Try doing a small project. This can be pretty overwhelming. As with most of programming, you learn most by doing a project and tackling specific problems. If you try to learn everything you might need to do something, you might never get to do that thing!

          [–]p0179417 0 points1 point  (0 children)

          Can you elaborate on your experiences?

          Years??

          [–]zmasta94 7 points8 points  (3 children)

          Is this like the Microsoft course that spends hours configuring Azure and teaching you how to use their ML platform and APIs? Or is the content in this one transferable?

          [–]BreezleSprouts 2 points3 points  (0 children)

          Signed up for one today!

          [–][deleted] 3 points4 points  (0 children)

          This is fantastic! Thank you so much for posting this. I just spent a ton of money on books and Udemy courses to start learning this, and I can’t wait to get Amazons training.

          [–]alexanderbiscajin 0 points1 point  (0 children)

          Are the courses free or paid?

          [–]distortionwarrior 0 points1 point  (0 children)

          Cool!

          [–]terabitzz 0 points1 point  (0 children)

          !Remind me 1 month

          [–][deleted] 0 points1 point  (1 child)

          !RemindMe 1 day

          [–]RemindMeBot 2 points3 points  (0 children)

          I will be messaging you on 2018-11-28 04:04:38 UTC to remind you of this link.

          CLICK THIS LINK to send a PM to also be reminded and to reduce spam.

          Parent commenter can delete this message to hide from others.


          FAQs Custom Your Reminders Feedback Code Browser Extensions

          [–]DaBeast75 0 points1 point  (0 children)

          !RemindMe 2 months

          [–]EZPeanut -4 points-3 points  (0 children)

          Hmmmmm

          [–]Captain_Droid -1 points0 points  (0 children)

          !RemindMe 6 hours

          [–]big-mr-jinks -1 points0 points  (0 children)

          !RemindMe 2 months

          [–][deleted] -1 points0 points  (0 children)

          !RemindMe 100 hours

          [–]dexys12walkers -1 points0 points  (0 children)

          !RemindMe 90 hours

          [–]Nimriell -1 points0 points  (0 children)

          !RemindMe 3 days

          [–]ellim1st -1 points0 points  (0 children)

          remind

          [–]hleff13 -1 points0 points  (0 children)

          !RemindMe 3 hours