Machine Learning

share ›
‹ links

Below are the top discussions from Reddit that mention this online Coursera course from Stanford University.

Machine learning is the science of getting computers to act without being explicitly programmed.

Logistic Regression Artificial Neural Network Machine Learning (ML) Algorithms Machine Learning

Reddsera may receive an affiliate commission if you enroll in a paid course after using these buttons to visit Coursera. Thank you for using these buttons to support Reddsera.

Taught by
Andrew Ng
Instructor
and 8 more instructors

Offered by
Stanford University

Reddit Posts and Comments

9 posts • 1168 mentions • top 50 shown below

r/MachineLearning • post
204 points • zen91
Self-Paced Coursera Machine Learning now available!
r/learnprogramming • comment
118 points • Lesabotsy

This is the only place to learn machine learning online ...

r/learnprogramming • comment
219 points • ziptofaf

First - I suggest you take a look at this book:

https://automatetheboringstuff.com/

Reason - somehow I doubt you actually learnt how to code in Python, you probably only learnt syntax. So might as well look at this one and see if you can do things presented in it as it focuses on real-life tasks.

Second:

\> My ultimate goal with python is to either make a social media type app

Look into Flask or Django. You will find plenty of resources if you google for these.

\> or do something with AI

Coursera, Andrew Ng course: https://www.coursera.org/learn/machine-learning Be warned, you don't really use Python in there. It's a field of math after all, just wrapped with some programming.

r/compsci • comment
51 points • FinxterCom

I would also recommend Andrew Ng's Coursera Course. He is the ML god.

r/Futurology • comment
93 points • StillNoNumb

Stanford is your way to go. Either the raw text material from here (assumes college calculus and linear algebra skills), or Andrew Ng's video course (no prerequisites except basic maths and programming).

r/Futurology • comment
36 points • Rachenlol

You mostly need to take specialized classes during your Masters and get into the research at the University level, or finish the Masters and look for a job specifically in that area. AI is a growing field of study, but it's not so big that every company needs it or wants to pay inexperienced people to work on it.

It doesn't take much to get started in this area of study. I recommend the free online class taught by Andrew Ng at Standford.

r/MachineLearning • comment
34 points • theoneneophyte

Andrew Ng's ML course is absolute gold! https://www.coursera.org/learn/machine-learning

r/AskReddit • comment
28 points • conancat

Hey man! I don't think your degree is an issue, I graduated as a graphic designer lol and now I'm a full stack web developer. My gateway drug was HTML/CSS then Javascript programming... And so it begins, haha.

For machine learning there are plenty of free online courses to get into the field, one that I've completed and is immensely useful for me was this Coursera course by Stanford University professor Andrew Ng, pretty much every single ML/Big Data professionals I've met have completed this course. It doesn't presume any knowledge in computer science or anything, if you can do high school algebra you can do this course, and it's free!

https://www.coursera.org/learn/machine-learning

Once you've completed the course you can then pick a field for your specialization, but must importantly if you want to work in the field you need to demonstrate that you have the skills for it. The industry doesn't look at your degree, they look at your Github or Gitlab for your hard skills, and LinkedIn for your soft skills.

If you're completely new to the field, completing the course should give you an idea what to expect and how to proceed to the next steps. If you dedicate all your time to it and if you have no full time job at the moment, you should be able to get from "unhireable" to "intern/junior" in two months.

I know Taiwan there are courses that help people to change careers in 6 months, and I've seen them gone from knowing nothing about the field to jumping to mid level devs -- I know, I hired some of them.

Tech industry is all about your skills, not your papers. The world is always hiring, but most importantly is dedicating the time to learn those skills needed!

r/day9 • post
28 points • Vilkaz
Do you guys remember Number "J" ?

Day 9 made it, Number J is Offizial part of Maschine Learning :D

Go To

https://www.coursera.org/learn/machine-learning/lecture/6Nj1q/multiple-features

SKIP to 3:03

Enjoy :D

r/DotA2 • post
275 points • klovinup
How we trained Dota 2 chat simulator: why he is so rude and fun

Hi! Yesterday we toured the chains from ROFLAN - Dota 2 chat simulator.

In this article, we will explain how we trained him, why he is so funny and rude.

ROFLAN's chat examples:

One Two Three

How the Roflan works?

We trained so called Recurrent Neural Network on chats taken from 1 million Dota 2 replays. This kind of neural network is used as a language model in machine translation and automatic question answering. Roughly speaking, the input neurons (called “encoders”) eats your sentence word-by-word and build a 50-dimensional numerical vector that represent what you said on network’s strange language. After that, output neurons (called “decoders”) generates the answer word-by-word utilizing mathematical transformations of your question vector.

The Roflan neural network was trained for several hours on single GPU — Nvidia GTX 1080Ti (yes, GPUs are not only useful to accelerate your games). The training process modifies neuron’s behavior step-by-step enforcing them to generate answers similar to real player’s messages.

Roflan Neural Network (RNN)

Why the answers are so strange?

First of all, when you read the chat, you can see a lot of strange in communication between players. Players send different kind of messages to each other, so there's nothing strange about this. There's a principle of "Garbage in, garbage out!'' in computer science, which can be reformulated as ''LoL-RoFl in, RoFl-LoL out'' by Roflan-bot.

Another reason is that the network doesn't take into account the significant part of the communication between the players occurring directly by actions on the map and also in the voice chat.

Why there are so many curse words and why it insults me?

Because this is how the players communicate in chat, ''language model'' doesn't understand what polite communication means and what is verbal abuse. It simply learns how to speak the language, which is spoken by people from the collection.

The neural network isn't alive and doesn't work like a human brain; It doesn't have a purpose to offend, its purpose is — to show the text, that matches the grammar of the language spoken by the players, and the answer has to be combined with the question as good as possible.

Want to create AI

If you want to be a Machine Learning geek and you’re ready for some math, I recommend to look through fast.ai courses. There are lection about RNNs that covers the ideas behind Roflan bot. Also, the Andrew Ng course is a great starting point.

For all comers, we published anonymized chats used for training bot on Kaggle. Use it to make more ROFLs.

And don't forget enjoy ROFLAN

r/learnprogramming • comment
24 points • tomekanco

This is a free Coursera course (all content is available, including tests).

Starts from regression, to logistic regression to NN and further. You're forced to sumbit results in Octave/Matlab. You don't have to learn a lot of syntax, mainly matrix operations (which is a good exercise for vectorisation).

r/argentina • post
49 points • OneOverNever
Grupo de estudio de Machine Learning. Actividad colaborativa y gratuita!

Estimado Foro, si tienen:

1) Buen nivel de ingles (vamos a seguir material en ingles).

2) Conocimiento básico de algebra, cálculo diferencial y estadística.

3) Manejan Python/Javascript/Sql lo suficiente para escribirse un for loop que popule una tabla.

Estoy por arrancar desde cero los cursos de Fast. El curso de FAST tiene dos modulos, el primero de Machine Learning y el segundo de Deep Learning.

Como background, trabajo de Data Scientist y ya pase por el curso de Machine Learning de Andrew Young (el de Stanford/Coursera) hace casi un año y me gustaría retomar desde cero el tema.

Lo ideal es poder armar un grupo simpático con el que podamos competir en Kaggle eventualmente.

La frequencia que se busca es de 1 a 2 veces por semana, la segunda sería relativa al tiempo que dispongamos.

La ubicación sería en CABA, pero se puede ver de trabajar con distintas regiones de Argentina con reuniones por skype... Eso se ve.

Interesados hablenme!

Abrazo,

PD - No hay necesidad de dinero. Solo una (buena) compu y tal vez unos mangos para el café si nos sentamos en algún bar.

Edit - Recién voy a estar en una compu para leer el thread de nuevo a la noche (por si no respondo).

r/learnmachinelearning • post
23 points • TO_DA_MOON
Let's start a Coursera ML group!

Stanford Machine Learning Course is starting this week and I think it would be cool to start a little community of people to help each other out on the course so that way we can ask questions and get quick responses if we're stuck, or to come up with cool ways to apply the stuff we learn.

I've just completed the first week, and this stuff seems super interesting, and I'd love to find a bunch of likeminded people to take it with!

r/artificial • comment
22 points • marcjschmidt

Basic: Machine learning, Natural Language Processing, Voice Recognition, Speech Synthesization. Hard: Common Sense, Self Analysis, Performance.

Start the journey by playing around with Python and Keras. Do https://www.coursera.org/learn/machine-learning, implement all the concepts of Basic. If you did that with good understanding, come back to me in 2 years.

r/learnprogramming • post
272 points • serimachi
Programming advice for CS majors

This week, a classmate approached my friend and I to ask for advice in becoming a better programmer. We're all CS students, but my classmate, despite being a genius, claimed not to feel confident in his programming ability. I was flattered and wrote him this lengthy email. I figured others might like to read it, and would be open to any feedback or additional advice.

Hi! Let's just launch right in.

What's more important is deciding what you want to do. Python is a great general-purpose language, and you can do anything in it. However, more specialized languages exist out there--you're already familiar with Matlab, which is designed for scientists doing matrix shenanigans. (As evidenced by its 1-indexing, wtf.) If your desire is to program for the web, you can hack together a PHP script in a day. If your desire is to do nuts-and-bolts system programming--interacting with the hardware itself--then C and C++ are your game (which may be useful to learn anyway, as you need them for class.) C# (or something) is what they use in game dev. Java is your only realistic choice for Android apps; likewise for C# (I think?) and Swift for iOS. But Python is still amazing, and I recommend it unless you're really set on specializing.

[Codeacademy] has another course that might be more your style. But make sure you install Python on your home computer at some point; don't just do it through the web.

I'm pretty sure the way I started with Python was a textbook I bought in 11th grade. This was silly, and I retained nothing and built nothing (maybe a if-branching and while-loop text adventure game). What really got me started was Python the Hard Way, which you can zip through in approximately no time. (I see now that the author has published an expanded book version--that's not necessary to buy, the link I sent you is the perfect base for anything you want to do.

After that, like I said, it's a matter of specializing.

  • You've expressed an interest in web programming. This is the traditional route, and the way most people get started. However, there's one big drawback to this--programming for the web is not as simple as learning one language. To some extent, you will have to learn HTML, CSS, and SQL. If you want your site to do anything flashy, you'll have to learn Javascript. You'll have a lot of disparate knowledge-gathering to do, and for me, when I was first learning, it wasn't easy to tell what knowledge was extraneous. Your best bet is to:
    • Run through HTML (do not bother with the tables section--table-based layouts are not good practice, I get so annoyed by this!) / CSS / SQL on Codeacademy. Codeacademy will just barely give you enough knowledge to do anything; it is not a thorough course. However, you could spend a year mastering front-end web design or SQL. You'll want to come back at some point to get a better grounding in this stuff, but this is enough to get started.
    • Run through this Flask tutorial.

That's really all you need to build your blog. (I say that's "really all", but in reality I just gave you at least 40 hours of work. Like I said, web dev has some real disparate knowledge requirements.) Ideally, edit what you built in the tutorial (or build the whole thing from scratch for the sheer practice of writing it, and reference what you built in the tutorial.) It won't be a pretty blog. After that, you'll probably want to go back and solidify your knowledge in HTML and especially CSS. Then comes Javascript (and its infinite number of useful libraries), which is a real programming language like Python, which again you could spend years studying and never really "know". And then there's Bootstrap, a thing which hastens CSS development. And so much more--you could not possibly learn it all. It depends how deep you wanna get into web dev.

But, learning web dev will make you useful at hackathons. A lot of jobs out there aren't much more than very simple web dev (or "CRUD: apps). Before long, you'll be able to throw together a blog in just a few hours. It's a really useful thing to learn.

You might consider ignoring everything I just said, and going through a full fledged online course. These exist en masse. This course teaches PHP and SQL--you could conceivably learn HTML and CSS and then hop right into this. There's this. I tried this, but it didn't stick. My first experience with web development, at twelve years old, was actually this. (But I'm not a childhood whiz kid or something; I forgot all of this and had to learn it again a couple years ago. And the website I built at twelve was just HTML/CSS with no backend; I just wanted a place to post my stories and articles.) Finding a university course lectured online might be more your style. I know, though, that I would get bored and never finish it. (When I do do courses, I tend to watch them at 1.5x speed, but I do pause to take very good notes and complete the exercises. I think most people fly through them without really absorbing the material like they would in an actual classroom, which is why they have no respectability whatsoever. That said, a lot of these courses on Coursera (and its ilk) says they should take a month or more to complete, and I like to blast through them over the course of a week or so depending on their difficulty.)

  • You might be into game dev, in which case pygame would be fun to learn (and probably a lot quicker / less overwhelming than web dev.) I was never interested in game dev, but this is how I taught my little brother programming. (Who is waaaaaay smarter than me.)
  • Web scraping is cool--building scripts that can scrape data off the web--and has been surprisingly useful. I've used it both in both of my jobs, and it impresses people. You'll need to know HTML, and it requires a knowledge of how whatever website you're building is structured (requiring research.) But I've built a few fun project that way, including one I'm particularly proud of that automated an assignment in a gen ed course. This tutorial looks fine. (I forget the one I used.)
  • You can build bots that interact with Twitter, Reddit, and most social media sites, if you can think of something clever to do with that. You need nothing more than basic Python for that. You'll have to Google that; "How to build a Twitter bot with Python for beginners" or something. (I have built a twitter bot, but the library I used is no longer supported.)
  • You are a math guy, so you might be interested in the course I'm in now. It's about parsing data and building attractive visualizations out of it using Python libraries. It requires nothing more than Python. (It later gets into machine learning. The usual recommendation for that (which I second) is Machine Learning with Andrew Ng, who is minorly famous, and that goes into the nitty-gritty more than other courses (but less than an actual university class). It uses Matlab, which you might prefer.)

These are just some ideas of directions to go in. By far, the best thing is to decide not on a technology you specifically want to learn for your resume or something, but on a project you want to build, and let your desire to complete that project drive you to learn. I keep a notepad on my computer of projects I want to work on. Keep an open mind and actually write down your ideas, and you'll have more than you could possibly ever act on. (Even if most of them are crazy or not terribly impressive. It's about learning, for us, at this point. We'll likely never have this much creative freedom in our careers.) Then, come to us or somebody relatively experienced for pointers, or look online for how you might get started.

There's something [Friend] and I have disagreeing approaches to. [Friend] is methodical, and like to understand things fully before applying them. He likes to work through courses and get his material in a structured way.

I'm the opposite. I get a creative itch to build something, and learn the bare minimum to build that thing. I learn on the fly, with a billion and a half reference pages usually open.

[Friend]'s way is probably better in some ways, because it doesn't leave one with with massive, fundamental knowledge gaps. I've built projects in languages and with frameworks I don't understand before, just by pattern-matching code, and A) it probably shows and B) I left without learning all that much. (Just recently, I've started a data analytics course in Python, and it kills me that there are libraries out there that would have been extremely useful and time-saving for projects I've worked on, had I researched them.)

The issue lies in actually motivating yourself to learn things thoroughly, and also in remembering it all. If you work through an entire book off HTML5 and CSS, and an entire book of Javascript, and an entire book of Python (with all the esoteric minutia that comes with learning an entire language)--you'll have forgotten the Javascript by the time you finish the Python book, and a year will have passed, and you'll have little to show for it. Also, there's the confidence you get when you build things in the real world, which makes you sure you can build other things, which snowballs. (And I don't want to exaggerate by making the gaps in knowledge you get by not doing courses worse than actually is--programming is a bit like math or like scuba diving in that practicing it really is the only way to learn sometimes.)

Point is, take what I say with a gigantic grain of salt, and follow your own learning style. Do what actually works for you. By far, the biggest learning block most people have is not a lack of resources or a bad teacher, but a lack of motivation to learn. Do what it takes to stay motivated. Even if it's silly. Sometimes, I'll force myself to go to the library only by making a deal with myself to buy chocolate milk from the store along the way.

You'll also want to make sure you've got the general programming skills. This is not stuff you'll want to do right away, for the most part. (You may want to get the basics of Git down, so you can show off your projects and link to them on your resume--but just the basic three commands, not the complex stuff you'll need when you're working as a team. It will take an hour, tops.) You might want to work on applying Data Structures and Algorithms on Leetcode and with Project Euler problems. (Whenever I learn a new language nowadays, I do a few problems on Project Euler rather than running through an entire tutorial. I learned C that way before taking Low-Level, and it gave me an advantage in the class.) You'll want to work through the books Cracking the Coding Interview _and _Clean Code. (The video series Clean Coders goes even more in-depth than the book and is a lot less boring--though it's really wacky in its presentation--I have the first 18 videos of the series if you like.) Plan stuff out, do some pair programming. You'll want to learn Test-Driven Development, SOLID principles, Git, how the Internet really works, etc. You'll want to install some version of Linux, probably Ubuntu, and really learn it, meaning the command-line and bash scripts. (I deleted Windows when I got my first laptop at 16 in order to eliminate the temptation of using it. I did learn Linux, but now I kind of forget how to use Windows.) A lot of people say to read code to learn other programming styles, and contribute to open-source projects. More generally--just stretch yourself a little, and occasionally do things the hard way just for the practice. (For example, it's sometimes okay to copy-paste code when you really want something done--you're essentially doing that every time you use a library--but you don't want to do that all the time.) This is the stuff that will make you a mature programmer. They're a bit boring (unless you're [Friend]), but it's like eating vegetables. You've just gotta do it.

Oh, and it's good to skulk reddit.com/r/cscareerquestions and reddit.com/r/learnprogramming. Probably some others I'm forgetting about. Read the sidebars, sort by top. Read the comments. Take everything you read with a pinch of salt, but try to find the good advice. (And don't get addicted.) This will give you a link into the hacker culture/community, will help you pick up a lot of general knowledge and will inspire a lot of thought/introspection in a way that's hard to define, but is definitely useful. You can do this at any point; there's no particular reason to wait.

It's a lot of work. More work than anyone sees. I spend, on average, about and hour and a half a night on courses or projects on top of my schoolwork, and more since [Friend] and I started on a project that has a large learning curve. Once you get in the habit, and you have something to be focused on, it's not a terrible pace. (It's pretty great that now I am functionally paid to learn for my work. And it's not to hard to build projects based around what you're doing in class--the machine learning course I completed, for example, has gotten me to brush up on linear algebra that has come in useful during our Math Concepts II class.) However, there's no need to go that hard unless you come to really love it, or unless you're aiming for a Big 4 (Google, Facebook, Microsoft, Amazon) sort of position (which you would be well-suited for, with your math-y background.) (We really are in a good field; a lot of anthropology students would envy us only needing to work only a half hour a night to be a competitive graduate with good job prospects.) And while each project is going to be inevitably harder than it seems when you first were planning it out, eventually you'll find yourself doing things in hours that once took you days or weeks. You'll walk into job interviews and they'll comment on how relaxed and confident you seem. And then, at some point, you'll find yourself being the person people come to for advice, and you'll be writing them lengthy emails at one in the morning.

Let us know how we can help. And please come to the hackathon! (And for goodness sake, please force me to come to this stupid CS career stuff, I really should be going. But I'm not wearing a damn suit!)

Sincerely, [ /u/serimachi ]

r/learnprogramming • comment
19 points • FeebleOldMan

I think it's this one.

r/netsec • comment
17 points • iceickle

Do this course: https://www.coursera.org/learn/machine-learning

r/learnmachinelearning • post
122 points • MoistPurchase
Looking for feedback on my Action Plan for Learning Machine Learning

Hello everyone, I am currently building an app and I want to integrate a Recommender system inside the app, so I decided to learn Machine learning. I'm going to be pursuing the Machine Learning course offered by Andrew NG on course era, but before I start it, I wanted to make sure I had the foundation to properly understand the concepts of Machine Learning. So this is the plan I made:

1) Linear Algebra
2) MIT Calculus 1A: Differentiation
3) MIT Calculus 1B: Integration
4) MIT Calculus 1C: Coordinate Systems & Infinite Series
5) Imperial College London: Mathematics for Machine Learning: Multivariate Calculus
5) MIT Fundamentals of Statistics
6) Finally, Stanford Machine Learning by Andrew Ng

I'm a college dropout and I want to get into learning machine learning so that I could start using concepts such as Recommender System in the app I am building, and hopefully eventually work towards getting a job in Machine Learning.

r/computerscience • post
68 points • Nottherealaron
Can we get a online course recommendation thread going?

Hi, since there are a lot of great free online courses, which in many cases are much better than what they teach at your university I thought it would be nice to get some recommendations.

So what online courses are you currently doing? Which are on your to do list? And which do you recommend?

I just started Algorithms Part 1 by Princeton University to prepare for the algorithms course I'm taking in fall.

I just finished part one of Object-Oriented programming with Java by University of Helsinki, good course, I would definitely recommend it if you're getting in to coding or are about to start your first year at uni.

I also just finished Elements of AI by University of Helsinki. It's a bit high level and I already knew a lot of what they talked about, but if you're not familiar with AI it could be a fun intro to Artificial Intelligence.

Machine learning by Andrew Ng

I haven't done this course yet, but a few friends have recommended and it's on my to do list.

r/synapseai • post
14 points • KatherineSynapse
Machine Learning w Andrew Ng
r/datascience • post
57 points • LeVraiPetitRenard
What's a good pathway to developing data science skills?

My background is a B.S. in EE, and this fall I'll be re-starting a Masters in CogSci. I know basic Python, and I'm currently working through "Discovering Statistics with R" by Andy Field. I don't know SQL, and my LinAlg and Calc needs brushing up on.

Frankly, I'm lost in all the online resources. I've spent the better part of a day trying to compare courses like Udacity's Data Analyst Course and Coursera's Data Science Course keeping in mind other things people continue to mention like Peter Ng's Machine Learning Course and free resources like DataQuest. I can't figure out where my time would be best spent.

I realize for job searching the best thing to have is a portfolio of projects, but it'd be nice to have a structured approach for the moment. Any and all advice is appreciated. Thanks!

r/datascience • comment
13 points • ndha1995

I think you can already start with taking an online ML course in which the teacher explains the math (not too deep though) behind the methods. Andrew Ng's ML course is one such course. Students also get a chance implement ML algorithms, not by calling from a library but by writing from scratch.

I think you have a real shot if you apply to a data engineer / data analyst position, prove yourself for a period of time and then ask to transition to a data scientist / ML engineer position.

r/MachineLearning • post
13 points • the_empty
[Discussion] Machine Learning course at Coursera

Hey guys, I am a software developer and I am interested in ML, what do you think about this course?

https://www.coursera.org/learn/machine-learning

r/mlclass • post
13 points • sjforman
Anyone interested in a study group for Andrew Ng's Machine Learning Coursera / Stanford class?

https://www.coursera.org/learn/machine-learning

I'm going to try to make my way through the session that starts on Nov 30. Let me know if you want to join. I was thinking maybe like a weekly virtual meet-up to work on the problem sets. Something along those lines.

r/dubai • post
13 points • ThatGuyOverYonder
Anyone here enrolled in the Machine Learning course on Coursera?

It just started yesterday. Would be nice to have a local study group going. If you're interested in AI, Data and Machine Learning - you should join the class!

It's free, but if you want to get a certificate it will cost AED 300. It's taught by Andrew Ng, professor at Stanford and is widely considered one of the best courses on the topic.

https://www.coursera.org/learn/machine-learning

EDIT: I've sent out messages to everyone who has expressed interest in joining the study group. If anyone else is interested then shoot me a DM or sound off below. Thanks

r/learnpython • comment
40 points • ssingal05

Python is a good place to start for data science and Machine Learning. Are you looking for advice on how to start?

Python - I would try to take some basic introductory classes, even free ones like codeacademy.org

Machine Learning - Are you into math at all? Are you curious about the fundamentals of machine learning? This is probably the most famous ML course, and I can attest it is phenomenal: https://www.coursera.org/learn/machine-learning (I think this is it....) They even go over neural nets. Downside is that it is in Matlab/Octave, so that is a new programming language.

Robots - You should look into Arduinos. Arduinos are microcontrollers and, in a nutshell, is a fantastic stepping stone into the world of robots. I'll have to defer for good sources for this, but you can Google around.

r/learnmachinelearning • comment
12 points • MrNaturalOrganic

Why don't you just try Professor Ng's course: https://www.coursera.org/learn/machine-learning

It is highly regarded in the community and free unless you want the certificate which I believe is $70 usd

r/datascience • post
112 points • aenimaxoxo
Introduction to Data Science

Why?

Data is the closest thing we have to a real world application of truth, and the world is a better place when decisions are made with care.

Now that you know why you should become a data scientist, here is a simple guide to becoming one.

Prerequisites:

Math: You can honestly get really far with little math. That being said, there are far too many people who don't understand the math and end up using analysis techniques with little forethought into why they should be using that model. I will say this much: The more math, the better off you are. It is a beautiful field and directly relevant to you if you want to make the most of your foray into data science.

Beginner: High school algebra, maybe some calculus 1, high school statistics

Intermediate: College stats, Calc 1,2,3, Probability Theory, linear algebra, Statistical Inference

Advanced: Upper undergrad / Grad level statistical inference, bayesian inference, harder probability theory, linear optimization, convex optimization, real analysis, calculus of variations. Math is the limiting factor, remove those obstacles. Learn all the advanced math you can muster.

Reccs: khanacademy if you've never seen the content. MIT OCW has really great self paced math courses for calc 1-3, linear algebra and much more. Eventually you will want to learn the art of grinding through math textbooks while doing problems. The only way to learn math is by doing math. Practice, practice, practice.

If you want to be a true OG, here is Michael I. Jordan's reading list for prospective grad students in ML:

Mike I. Jordan ML Books

Programming

Pick up a language and stick with it for now. It is far easier to pick up a second language once you are very good at one than it is to slowly work through being mediocre at a bunch of languages.

People live and die by their language of choice for some reason. Generally, my thoughts on this are the following:

R is fantastic. R is great for data analysis, and if you use the tidyverse, R is great for everything else too. R is an organically grown language that is not always lexically consistent, so it can be a bit quirky. Due to the community of statistics researchers that use R, generally you will find the most bleeding edge packages on R. R will make you think like a statistician.

Python is great for taking your data a bit farther. It has packages which provide most of the functionality you would need from R. Python is a great choice because it has many more varied packages and capabilities related to software development. Python is a broad, general purpose language that is beautifully designed and consistent. This will make you think more like a programmer.

Over a career, it is wise to know as many tools well as you can. Since you will spend a good amount of time writing code, you should strive to learn both at some point.

Alrighty, now onto the core stuff.

How to:

1. Get Data

This can be done by scraping, downloading a data set, building a data set, making a survey, whatever. There is a lot of data floating around and there are plenty of resources for learning how to scrape. Since data is usually stored in data bases in the real world, it is wise to learn a bit about data bases. Learn some SQL. Since we live in the age of big data, it would also be wise to learn non-relational database query languages like nosql and postgresql

Some good spots for data: /r/datasets, kaggle, data.gov

2. Clean it

Remember: garbage in, garbage out. The quality of the data is the foundation of all your work from here on out. Check out a book or a course that will take you from these early stages into actually playing with the data. For python, Harvard CS109 does this. It also have video lectures. For R, Hadley Wickham (Chief Scientist at RStudio) has a bunch of amazing books out. Check out R for Data Science . It wouldn't hurt to eventually read a book on data cleaning and data interpolation.

3. Take some time to familiarize yourself with your data

What kind of variables are there? Quantitative (numbers)? Categorical / Qualitative (Labels)? Text? Images? Geographical? The types of data present will determine what can be modeled.

Its a good idea to look at the data in list form and plot it out using R or python or excel or whatever. If using other types of data (eg images, geographical), then find the best ways to visualize the data. Now would be a good time to learn about knitr and rmarkdown if using R and jupyter notebooks if using python.

This is the time to do some descriptive statistics. Look at the way the data flows on the plots. What relationships do you think are there? Are there any outliers? Plot, plot, plot, and plot some more. Make the plots look good. Check out ggplot2 in R or matplotlib / seaborn in python.

Learn to dissect your data. Check out feature engineering. Learn to combine data sets to expand what can be done.

If you want to be a true OG, learn some graphic design principles. Learn to use blank space and color. There is nothing more influential than a beautiful graph.

Reccs:

Language Agnostic: The Visual Display of Quantitative Information

GGplot2 book

A book on seaborn / matplotlib if using python.

4. Figure out the questions you want to ask

This is perhaps the hardest part. The questions you ask will determine what you find in the data. When thinking about questions, ponder proactively about what techniques you would use to answer them. This is where a broad set of modeling tools comes handy. That will be gone over in the next section.

5. Analysis

The most satisfying part in my opinion. When you wrote out your questions, hopefully you have some idea of what techniques you would use. That said, there are a lot of techniques to choose from and each technique has its own special niches. You will learn to select models properly from seeing a lot of data and practicing. Like everything else, practice, practice, practice. Try many models, run them on test sets using cross validation and see what works best. Learn about bias-variance trade-off.

Generally statistical analysis is broken into 2 parts:

In descriptive statistics we want to describe the patterns and structure of the data. If you did part 3 well, this will be partially taken care of. You can expand on this as the analysis comes along.

In inferential statistics we want to predict from the data. This is what we are at now.

Broadly speaking, this is the content that seems to be spread around the most. I will post some reccs to different courses / books that you will see floating around this subreddit (because they are great).

Make sure you learn and understand cross validation extremely well.

Make sure to understand the assumptions behind each modeling technique you use. There is no one size fits all technique.

Since this is such a broad topic, go learn data analysis from books and courses. Learn models, figure out why you would want to use them, and then apply them.

Once you have completed your modeling, make sure to create a visualization. If others will be seeing it, learn to explain things in simple terms as if non experts will see it. When you are being paid to be a data scientist, it is not about how intelligent you come across, it is about results and understanding for everyone.

More Stats focused:

Introduction to Statistical Learning

More CS focused:

Andrew Ng Machine Learning

Think Stats: Data Analysis in Python

Harvard CS109 and R for Data Science linked in part 2.

Any other data analysis book you can find.

6. The Great Beyond

After step 5, you are essentially a (good) data analyst. What will differentiate you now will be the extras. Heres some other stuff that you should probably look into:

  • Databases: SQL / Nosql / any query language really.

  • Data Engineering: Create pipelines and automate a lot of the legwork to make raw data usable.

  • Shell: Linux is cool, and bash scripting is useful

  • Hadoop, Mapreduce, Spark, AWS, etc: Big Data

  • Deep Learning : See what the hype is all about

  • Time series analysis: Given the ubiquity of time series data, a book on TSA can't hurt

  • Computer Science: Learn CS rigorously. Check out Structure and Interpretation of Computer Programs, CLRS Algorithms, Concepts, Techniques and Models of Computer Programming, and more. If you learn the concepts underlying the technologies you see, you won't be outdated nearly as easily. Tools may change, but the concepts and math stay the same.

  • Learn to love practicing. This list is daunting, but it is completely achievable one small step at a time. Setting aside time to learn and practice daily will get you farther than you could ever imagine.

Guide to Learning

Like all other things in life, there are exciting things and less exciting things. What you find exciting is unique to you, but for the sake of this guide I will give how I would learn the content (assuming you know basic maths and programming):

  • Learn some data analysis. If using python, think stats is nice. If using R, R for Data Science is nice
  • Learn how to clean and dissect data. If you read one of the books in the bullet above, you will have learned this.
  • Now learn some visualization. Make it pretty with a book on ggplot or seaborn/matplotlib
  • Now learn some better tools for analysis: Read and work through Intro to Statistical Learning or Andrew Ng's Machine Learning course. Ideally you would do both.
  • Learn database query languages. You will come across databases, so its best to be a wizard with them.
  • Learn hadoop / map reduce / spark for big data
  • Learn the theory on a deeper level. Probability Theory is great, Statistical Inference is great, Bayesian Inference and multilevel modeling is great.
  • Never stop learning

Please let me know if there are errors, I wrote this quite late at night. Make sure to give your own reccs and advice in the comments! Data Science is a vast field that can be really intimidating to look into at first, and any input in the comments is helpful for me and others!

r/argentina • comment
11 points • mfalcon

El primer curso que hice fue el famoso de Machine Learning por Andrew Ng https://www.coursera.org/learn/machine-learning

Uno de sus capítulos es de neural networks

r/learnprogramming • comment
10 points • MarvinLazer

I was thinking of the Udemy machine learning course, but that one doesn't appear to be free anymore. This Stanford one, though, seems to be free indefinitely. https://www.coursera.org/learn/machine-learning

r/programming • comment
62 points • techwizrd

You should check out the following courses from fast.ai. They teach them in a top-down approach (rather than bottom-up), don't have a math prerequisite, and they teach practical machine learning (not toy problems) that you could actually use at work.

The courses are structured into weekly 2 hour videos with Jupyter notebooks so that you can actually write code that runs on GPUs. You can work at your own pace and each course is about 7 weeks.

Right now, they've got a few courses.

If you're looking to learn about regular machine learning (not deep learning specifically) from a more theoretical, math-y POV, check out Andrew Ng's Intro to Machine Learning

r/learnprogramming • post
20 points • raybb
Is anyone signing up for this section of Stanford's machine learning course that starts today?

One of Coursera's most popular courses in the Stanford machine learning course. It's free on Coursera.

It looks pretty interesting and had very good reviews.

Anyone else plan on joining this section that starts today?

r/coursera • post
9 points • [deleted]
Has Coursera eliminated the free Statement of Accomplishment?

I took some Coursera classes previously, and I never paid for the "verified" certificate, but I always got a little free PDF "Statement of Accomplishment".

However, I recently signed up for Andrew Ng's Machine Learning course, and there's no mention of any free certificate. I know it doesn't really matter at all, but it was mildly motivating for me to work towards getting that "certificate with distinction" in previous classes.

It seems like Coursera has become more of a cash-grab lately, heavily pushing their verified certificates and specialization tracks.

r/learnmachinelearning • comment
9 points • dan994

Andrew Ng's Coursera course is definitely the go to for theoretical understanding whilst getting your hands dirty

r/totalwar • comment
9 points • BurchaQ

This is obviously how it should be done and very probably how things like this will be done in a few years.

Some people pointed out it would require too many games with specific conditions and they are absolutely wrong. I will try to explain why they are wrong, but English is not my native language and I am somehow bad at explaining things so I am not hopeful.

Machine Learning algorithms learn by analyzing the "features" of the data they were fed. In this instance, the learning algorithm would have to be fed rosters of participants, reinforcements, hero effects etc. and the actual result. When enough of these battles were fed into the algorithm, it would create a "model" and would be able to predict the results of other battles. However, it doesn't work by finding out the same (or very similar) battle and checking it. This would indeed be impossible to implement.

What Data Scientists do is to take these parameters, and program simple transformations on them to create new parameters from the same data. These can be descriptive but not complete parameters. If I were working on this project, it would be things like who has ranged superiority, ranged superiority index on yards (DPS of each army on 10 yards, DPS of each army on 20 yards etc.), specific damage output index, cavalry superiority index etc. You'd have to create a few hundred of these, using simple rules. They don't have to be perfect, they just have to somehow describe the armies in a numeric way. The algorithm won't take these literally anyway, as I will explain later.

Then using data modeling techniques, our "battle rosters and results" database has to be split 80/20. With each algorithm, 80% of the data will be fed and it has to be tested on the remaining 20%. Then how accurate the algorithms needed to be checked and the most accurate ones used. In this process, some features will be left out(this is called feature extraction). And the remaining features (including some of our indexes) will be mandatory for the new model. This model will assign weights to these parameters and predict by doing a calculation, not a comparison to similar battles, using the equation it created. If the precision, accuracy, and recall (the parameters by which models are judged) are deemed unsatisfactory, then new indexes have to be introduced until they are. If they are, then the model is ready to be used. But the model will calculate, not compare, using history from previous battles. Thus the number of battles required using ML techniques is way lower.

Using this system, it is way faster to train models and use them.

My subjective opinion is that I think you are WAY on point in saying that this would yield way better results. But it has to be player battles and AI battles combined, with the results of player battles uploaded from time to time, or even only multiplayer battles. However, I think even a few tens of thousands of games will yield WAY more precise results than the current auto-resolve, since the current system is a joke. It is something someone could have programmed in 1995.

However, this is Data Science and Game Development Companies are not exactly good at it. They are in fact terrible. This is also why they have terrible AI because they still use techniques that were relevant when computers had 640kb memories, and have absolutely no idea on the new developments in Data Science.

Maybe someday I will work in games, and maybe you should, too. If you are interested in Machine Learning you can check out the courses in coursera I will link below. As you have observed, it has to be used in WAY more places than it is. In fact, on this specific subject (of bringing ML into Gaming) I am planning to found a company to just do that sometime in the future. But maybe you can, too!

https://www.coursera.org/learn/machine-learning

r/java • comment
9 points • bjs2

I feel like a more basic intro to machine learning is more appropriate than just diving into a framework like Tensor Flow. Get the math foundation and theory down so you know somewhat the magic behind it first.

Andrew Ng's course on Coursera is a good place to start

r/learnmachinelearning • post
27 points • raymestalez
Best introductory video courses on ML and Deep Learning?

Hi there! I'm looking for an easy way to get started with AI/ML/DL.

I don't necessarily need to go super deep into details, I'm more interested in a practical high-level overview.

I know about Andrew Ng course, 3blue1brown videos, and Berkeley AI course. What else would you recommend?

r/learnpython • comment
8 points • thirdegree

> I'm pretty confident I know most things about python even though I'm still a beginner.

I've been programming in python for 7 years, and professionally for about 7 months. I wouldn't say I know most things about python

> Where can I learn the basics of machine learning, data science etc. with python?

Andrew Ng's coursera course is a very solid resource for this.

r/learnmachinelearning • comment
8 points • Sir_not_sir

Andrew Ng's Coursera course.

https://www.coursera.org/learn/machine-learning

r/datascience • comment
7 points • Blakred
r/learnprogramming • comment
7 points • BrilliantSomewhere

Pretty important as far as I can tell. Many people recommend Andrew Ng's Machine Learning course on Coursera. You definitely need a good algebra foundation, a good understanding of linear algebra, and prior programming experience to do this course. If you know nothing about linear algebra and have no prior programming experience, it will be extremely difficult if not impossible. I've made it into week 3 and have decided to brush up on linear algebra before continuing because it gets really hard to hold some of these concepts in your head and understand them if you don't understand the mathematical context for them.

r/capetown • post
7 points • dnk8n
I'm completing a free self paced online course (a MOOC) on Machine Learning. Was wondering if anyone wanted to meet up as a group and study it together?

Here is a link to the course for more details..

I propose we meet weekly to twice-weekly with this course as the focus.

r/learnprogramming • comment
7 points • Frezzwar

I'm currently following the courses made by Andrew Ng on Coursera, and I really like it. There is no code in python (all is done in MatLab/Octave), but it is great and free.

r/bigdata • comment
7 points • MasterScrat

It's free, it's Andrew Ng's famous course: https://www.coursera.org/learn/machine-learning/home/welcome

r/MachineLearning • post
7 points • heytaytay69
Here's a intro course on Machine Learning by Stanford free starting Nov. 2 Has anyone tried it in the past?
r/Suomi • comment
7 points • aroimak

Esim. Andrew Ng:n kurssi vai meneekö liian syvälle?

r/mlclass • post
6 points • janimator0
How often does the Coursera Stanford Machine Learning class restart?

I know that the Coursera Stanford Machine Learning class keeps opening up new enrolments. The problem is I can't find the schedule for when new enrolments start. Can anyone help me out?

Link to class in question

r/mlclass • post
6 points • well_deserved_karma
A new session started today
r/france • comment
6 points • borbag

participer à des kaggles ou autre concours.

Déjà les datasets sont prêts, complets, nettoyés (alors que le plus gros du boulot d'un datascientist c'est de récupérer les données et les nettoyer). Ensuite ça permet de savoir si ce que tu fais commence à être bien ou pas.

Tous les datascientist que je connais ont fait le cours de Andrew Ng sur coursera. Quelques bases de stats sont utiles aussi (norme L2, analyse en composantes principales...).

Et si tu veux faire du deep learning, regarde les cours que Karpathy donnait à l'université (youtube). C'est mon idole du deeplearning, il est super pédagogue.

r/artificial • comment
6 points • karlpoppery

People usually recommend starting with this course: https://www.coursera.org/learn/machine-learning

There are some prerequisites to learning AI. Mainly, you need to learn a programming language (probably Python) and graduate level math (multivariable calculus, linear algebra and statistics).