Please create an account to participate in the Slashdot moderation system


Forgot your password?
AI Businesses Education

Ask Slashdot: How To Get Into Machine Learning? 123

An anonymous reader writes: I know this is a vague question, but hoping to get some useful feedback anyway. I'm an experienced SW Engineer/Developer who is looking to get into the Machine Learning arena. I have an MS in CS and a solid 15 years of experience in a variety of areas, but no experience in Machine Learning.With that as background, my question is: What is the most time-efficient (and reasonable cost) way to:
(1) Decide whether Machine Learning is for me and
(2) Make myself employable in the field.
An additional constraint is that I can't afford to quit my full-time day job. Thanks.
This discussion has been archived. No new comments can be posted.

Ask Slashdot: How To Get Into Machine Learning?

Comments Filter:
  • by Anonymous Coward

    Coursera have a bunch of free courses in ms that start 4th of jan.

    • Re:Coursera (Score:5, Interesting)

      by ShanghaiBill ( 739463 ) on Monday December 28, 2015 @03:58PM (#51197187)

      MIT has a good free intro to AI and ML [] by Patrick Winston. I watched it for an hour a day while I was on the treadmill. I learned a lot, and burned off a few pounds.

      You should also learn CUDA and/or OpenCL. That will not only help you with ML, but also with any other HPC, and make you more employable.

  • by Anonymous Coward

    First start small like a game.
    Teach a computer how to win a Tic-Tac-Toe, or 8 queens.

    • "First start small like a game.
      Teach a computer how to win a Tic-Tac-Toe, or 8 queens."

      Then teach it Poker and run it on 250 Online Poker sites and forget that job change.

  • by Anonymous Coward

    ....Coursera, MIT Distance learning classes, etc. to get a feel for what "machine learning" actually is. Also, bone up on your math's a math intensive field.

    this is how I'm approaching things and I'm looking at it from a doctoral programme standpoint.

    my 2 cents

    • by Gorobei ( 127755 )

      The courses are pretty far lagging the state of the art.

      Watch every youtube video by Hinton, LeCun, etc. Read the fundamental papers.

      Once you understand the ideas, write a simple NN program. It's like 100 lines of python/numpy. Train in on MNIST. Compare your results with the published results. Understand where your code is failing. Try to make it better. Get a 2-layer RBM to actually learn better than a 1-layer RBM.

      That's like two months of evenings total work. Do that, and you can at least know if you lik

      • Once you understand the ideas, write a simple NN program.

        How can I put this politely? Err... this is extremely bad advice. If you want to get into machine learning, steer clear of neural networks for the foreseeable future.

        They're just not that useful for the vast majority of problems. For problems of simple-to-moderately complexity, their performance (both accuracy and speed) is atrocious compared to other methods, but more to the point, the model itself is uninformative. You almost always want to use a technique where examining the model will give you insight i

        • by KGIII ( 973947 )

          As an outsider looking in and with great curiosity, I'd say that NN would *really* be something that they'd need to steer clear of assuming they had the chops to get back into academia. Barring that, I'd agree entirely. There might be some big hitters (e.g Google, Microsoft, Apple) poking in that direction and with a limited interested but, from what I'm seeing, they're pulling those employs from academia and not off the street.

          I suppose, with some work, they could *build* something and then seek to hawk it

          • There might be some big hitters (e.g Google, Microsoft, Apple) poking in that direction and with a limited interested but, from what I'm seeing, they're pulling those employs from academia and not off the street.

            The main reason why it's the big hitters working in the neural network space is that they have ambitious problems (where there is no "understanding" that can be applied), more data to throw at the problem than we mere mortals, and more people to assign to one project than you do.

            • by KGIII ( 973947 )

              Absolutely. It's actually a little something that I miss about my old company. I am biased but I like to say that I built the greatest traffic simulation game of all time. It lacked graphics (though we* did add that eventually but it was on smaller data sets, limited in scope, and very compute cycle expensive). It was great having that much horsepower to play with.

              I had a whole server room full of clustered blade servers with giant blinking switches and pretty lights. I had disk arrays that were mind blowin

              • I can't say I really work in AI as such, but I am the sort of person who gets paid to (amongst other things) apply machine learning to real-world problems, so I'm not really sure that I could say where all this is headed.

                Right now, I'm more scared of people than I am of machines. The biggest forseeable risk of having a crapload of data and a lot of hardware to throw at it is that it will be used against people by people.

                • by KGIII ( 973947 )

                  Thanks. When I was young, I was born in 1957, there was actually a group of people who were scared of "the big brain." The worried about things like automation taking over their jobs, taking over their lives, and making choices for them. This was not just a recurring theme in science fiction of that era but there were several television shows that touched on it and even a few non-science fiction works. Well, not traditional, era-specific, or hard science fiction works...

                  I remember one show, I think it was a

                  • I remember one show, I think it was a movie, where there were a couple of office ladies who worked in accounting. They were losing their jobs due to computers taking over the industry.

                    I think you're talking about Desk Set. Katharine Hepburn and Spencer Tracy.

                    It's certainly true that technology is a challenge for some jobs, but it also creates new jobs. The speed of revolution just happens to be faster than it ever was. Some industries (e.g. service industries, such as aged care) are booming.

                    My biggest concern of all, and it's a concern shared by a lot of Slashdotters I suspect, is that the promise of a better tomorrow won't happen (or won't happen until much later) for reasons unrelated

    • Also, bone up on your math's a math intensive field.

      Although ML has a lot of math, the math is not all that deep. If you have taken calculus (up to partial derivatives) and linear algebra (matrices), you have enough math to get started. But you need to be comfortable quickly reading and understanding a lot of mathematical notation. Many of the important ML research papers have more math than text.

      • What you really need for ML is statistics. Lots of statistics.

        How much statistics do you need? It's hard to say, but a good rule of thumb is that if you know what a conjugate prior is and where to look them up, then you certainly have enough.

  • Certification? (Score:5, Informative)

    by MAXOMENOS ( 9802 ) <maxomai AT gmail DOT com> on Monday December 28, 2015 @03:03PM (#51196825) Homepage
    Have you considered online education towards a certificate in machine learning? For example, The University of Washington, via Coursera, offers a certificate in Machine Learning [] after about 30 weeks of study and a capstone project. You'll need some background in statistics, and familiarity with Python, and you'll have to put in several hours a week. Total cost is about $500.
    • Re: (Score:2, Informative)

      by Anonymous Coward

      Coursera's Data Science track, through Johns Hopkins' Biostatistics department, has a machine learning course late in the 10-course program. Lot of work to get there; you learn a good bit of R and some statistics along the way. Depends on whether you want to pursue it in such a context.

  • Coursera, Andrew Ng (Score:5, Interesting)

    by Billy the Mountain ( 225541 ) on Monday December 28, 2015 @03:03PM (#51196831) Journal
    Sign up for Coursera and take Andrew Ng's Machine Learning course. It's excellent (took it twice).
    • by wonkey_monkey ( 2592601 ) on Monday December 28, 2015 @03:08PM (#51196861) Homepage

      It's excellent (took it twice).

      If it was that good, you'd've only had to take it once!


      • It is a good course, I took it once. I gives a pretty good idea of many aspects of ML. It is a good introductory course.
    • by Anonymous Coward

      I agree. It's one that I wouldn't mind taking again. You may need to hone up your maths a bit, back to high school level (some calculus and matrices/vectors). Fortunately I took Calculus One also on Coursera just before the machine learning course.

    • by pr100 ( 653298 )

      Yup - I did it way back when moocs where a new thing. It was a good course then. Presumably the content is much the same now.

    • After looking at TensorFlow [], I realized I'm not very prepared to use it, so I started taking Ander Ng's course and I'm in my 5th week now, and I feel like I'm getting a lot of it. I like the way he seems to have created this course to be fairly self-contained. Fors instance, although calculus shows frequently in the course, he is fairly open that he doesn't consider it to be a prerequisite and derived version of the equation is usually given whenever it comes up. Linear algebra is certainly required in the

  • by Anonymous Coward

    Andrew Moore's Data Mining Tutorials are a great resource.

  • Get a H1B to get the job!

  • by wjcofkc ( 964165 ) on Monday December 28, 2015 @03:10PM (#51196869)
    You pretty much answered your own question, especially with criteria number three: Get involved in Open Source AI.

    I am sure there is more than OpenCog. Google is your friend on this one.
  • by SJrX ( 703334 ) on Monday December 28, 2015 @03:11PM (#51196883)
    I might recommend the following along with the associated free textbook: [] Textbook: [] Afterwards you can look at the more advanced free textbook: []
  • If you want to earn money with it, forget it. A software engineer is a completely different type of computer scientist than data mining and machine learning. You could get another master program on that. But why wasting your 15 years of experience? You need to relearn all the logic stuff from university and couple it with statistics and signal processing. All in all this is heavy duty math stuff.

  • I happen to know these guys are hiring [] regular programmers. Start working at a company like that, and you'll soon learn whether you like it or not.

    If you actually want to do research, you'll probably need a PhD, no matter where you start working though.
    • I read that YCombinator startups that do AI do not like job candidates who have interest in machine learning -- they want good programmers interested in solving a problem, where AI happens to be a means to an end. So maybe the best thing to do would actually be to quit your day job and get a job at a place that does AI and hires regular programmers!

    • I'm curious about the applications of Machine Learning. What some examples of applied solutions using Machine Learning?
      • To decide which ad to show you. That's the biggest use I've seen for it recently.
        In the 80s, there was a huge push to use machine learning in automated diagnosis in medicine, although I don't know if anything practical ever came of that.
        I've also read that machine learning has been effective in determining what chemicals are in unknown substances using a spectrometer.
      • Look at the competitions on Kaggle to see what people are up too.
        ML can be used to do OCR, detect diseases from scans or measurements, use sensor data to figure out preventive maintenance, optimize the navigation of websites, voice recognition, marketing (duh, but there's a lot to it), recommendation systems (like netflix and amazon), network analysis (social, electrical...).
        That's all I got right now, but there's more.

  • If you really want to be employable then I recommend getting a nanodegree in Machine Learning through Udacity. [] One of the things that makes their program stand out is that they use project based learning. Upon completion you have projects that you can present to perspective employers.
  • by BoRegardless ( 721219 ) on Monday December 28, 2015 @03:17PM (#51196925)

    Turn off the TV. Go into online learning fast & hard.

    Bust your ass and eventually join some of the OSS project/s and volunteer to help.

    It gets your name out there and the right people do notice that.

    • Turn off the TV. Go into online learning fast & hard.

      I've been thinking about this comment all day. I can't endorse the sentiment more. Especially when machine learning is looming on the horizon.

      Everyone reading this now better be continually expanding their skill set and experience. The promise of machine learning is to make those who aren't doing this obsolete in the workforce. If you think domain knowledge makes you irreplaceable, that's exactly the target of machine learning.

      Udemy has really we

  • The single most motivating thing for me, personally, was to find real problems to solve and real examples and help on how to solve them. Bonus points for variety and competition and even prizes.

    Enter Kaggle [] -- data mining competitions with an absurd amount of examples, datasets, community posts, forums, curated examples. I really cannot emphasize how much I've learned in this community. Join and try one of the example competitions -- the Titanic one is popular, follow the getting started guides and go fr

  • What language are you currently using? Try to start getting into the machine learning languages like R and/or Python. Take some of the stat stuff into your day to day job. Like processing some metrics about the dev process/install process/web stats/etc. Take a udacity course. By combining the two you should be able to write a pretty decent resume that shows your education and some practical applications.
  • by Blaskowicz ( 634489 ) on Monday December 28, 2015 @03:39PM (#51197051)

    Machine learning is meant to learn itself on its own, right?

  • Try searching the 'net using "PDF Machine Learning." And read the results.

    Ask the question, "what will get me hired?" Easiest way to find that out is searching the 'net using "Jobs Machine Learning"
  • Learn xyz because you have a passion in it; job security or employable should not be the reason. xyz will be replaced by abc the moment you are ready. Also the jobs needing xyz may be off-shored.

    If you have already worked 15 years, life is short; start enjoying things which money can't bring. Cut down expenses, manage finances better and hope we reach post-scarcity and you can live off with less money. The point is ..there is only 24 hours in a day -- don't learn something and waste those hours unless y
  • I would view this ACM webinar on the five sub-disciplines in machine learning (assuming you can) and then investigate the listed resources:


  • The hardest part in machine learning is that while we frequently use the same tools as software engineers, the thinking process is quite different. I work and have worked with some great software engineers as clients, and I hire software engineers as staff. And anyone can learn an API or figure out how to run Hadoop or Spark. This doesn't matter. The main differentiator is math. Projects live and die by the mathematical capacity of the engineers and data scientists working on them. In the end, machine le
  • You might look into the netflix data set. Its been well analyzed and deals with a realistic problem. There is quite a bit of info on approaches available, and you can get the set yourself, so you can experiment on it. The best results are known, so you have something to compare your personal ideas against. Getting the set is a bit of a hassle, but should be doable.
  • by mrlibertarian ( 1150979 ) on Monday December 28, 2015 @05:37PM (#51197909)

    If you want to start playing with some deep learning models, I would highly recommend this [] page. It provides some basic examples that run right in your browser. Also, this [] page provides a great guide to working with neural networks without getting bogged down in a bunch of mathematical equations.

    Another great resource is Caffe []. Caffe is a deep learning framework that will let you define a wide variety of neural networks by just writing a text file. You can run Caffe applications in CPU or GPU mode (a lot of open source deep learning code will only work with GPUs, so being able to run things either way is a nice feature).

    If you want to do computer vision, make sure that you read up on fully convolutional neural networks, because they are the big thing right now.

    Remember that story about a program that was able to learn how to play just about any Atari game? That is called reinforcement learning, and that's a big thing right now too. Udacity has a great course [] on reinforcement learning.

    • Very nice pointers. I also recommend the other two intro ML courses at Ga Tech on supervised and unsupervised learning (that precede the reinforcement learning course you recommended). IMHO these three are perhaps the most comprehensive and in-depth video intro to ML available.

      Another great resource is the intro to ML video series (course) from Tom Mitchell at Carnegie Mellon. His textbook remains my favorite intro to ML for those who aren't math whizzes.

  • Machine learning is a pretty big field. What other subjects do you like? That will definitely help figure out what part of Machine Learning would be more interesting to you. Statistics: The core of conceptual clustering is finding data that relate to each other. Both supervised (you define the concepts and say what the data is) and unsupervised (the machine identifies clusters based on proximity to each other) are heavy into using all of those statistics functions on your calculator. Probability: Bay
  • by melchoir55 ( 218842 ) on Monday December 28, 2015 @07:04PM (#51198381)

    I worked in a machine learning shop for 2 years (doing machine learning...). In my experience, which is entirely anecdotal and limited, machine learning shops resembled academia more closely than industry. By that I mean:

    1) They valued credentials that most software shops find almost meaningless (PhD level credentials, Masters at least)
    2) The ones I encountered were extremely clique-y. They didn't associate with non-machine learning people.
    3) There was an insane amount of dead weight (people doing lots of work but accomplishing nothing) and a general disinterest in practical application. The cliche of "herding cats" was extremely relevant here.

    I got away from machine learning and more general AI as quickly as I could because I didn't like the culture. It reminded me too much of academia.

  • by jmcbain ( 1233044 ) on Monday December 28, 2015 @07:28PM (#51198485)
    I was in the same position as OP about 5 years ago. I have a PhD in CS from many years back but in operating systems and programming languages. Around 2010 I wanted to get into machine learning and decided to enroll part-time in a university to take some classes. Currently, I am leading a small team of engineers that work on ML-related topics.

    Here are some points that the OP needs to understand.

    1. There are two different levels of expertise with working on machine learning: either as a library/tool user, or as a ML algorithm developer. It is EXACTLY analogous to how one approaches SQL: You can make a great living being a SQL user and knowing how to write efficient queries and build indexes, or you can go deeper and build the SQL engine itself along with its query optimizer, storage layer, etc. If you want to use ML as a library/tool user, you can have a great career as long as you know what tools and algorithms to use. If you want to be a ML algorithm developer, that means you want to work on the innards, such as using new SVM kernels or building new deep learning networks; for this role, you'll usually need a PhD-calibre background heavy in math. I personally started out as a library/tool user with Weka and Mallet, but as I used them more, I was able to understand the math behind them.

    2. ML is an abstract field, and it's best to approach it from an applications point of view. Pick a problem that needs ML, such as natural language processing or image recognition. It's important to pick a problem that has an abundant amount of labelled data. There are some fields such as voice recognition where it is terribly difficult to get real labelled data. For NLP (aka computational linguistics), you can start with some basic problems such as document classification (e.g. for this document, is it about sports, business, entertainment, etc.?) or sentiment analytics (e.g. for this Twitter tweet, is it positive or negative?). There are lots of good datasets in the NLP field.

    3. You can explore datasets from the Kaggle competitions and the University of California, Irvine, repository: []

    4. Pick a tool and stick with it. I have used Weka, Mallet, and R. You can also use Python and Matlab.

    5. When you read the literature, you will find two nearly-synonymous terms: "machine learning" and "data mining". Both are closely related. Machine learning historically comes from the AI community and generally focuses on building better ML algorithms and solving supervised ML problems. Data mining historically comes from the database community and generally focuses on using tools and solving unsupervised ML problems (e.g. finding clusters of similar customers).

    6. At the end of the day, creating a better solution does not come down to the ML algorithms themselves. Rather, the better solution comes from the amount of data and what features you are able to extract. As for the many ML algorithms for supervised learning: at the end of the day, your main responsibility will come down to picking the one that best suits your application. It is just like picking which sorting algorithm to use: when do you use Quicksort, and when do you use Mergesort?

    7. Here are some really good books that I have personally read:

    Beginner level:
    - Programming Collective Intelligence by T. Segaran.
    - Introduction to Data Mining by P.-N. Tan and M. Steinbach.

    Intermediate level:
    - Data Mining: Practical Machine Learning Tools by I. Witten and E. Frank. (goes with the Weka tool)

    Advanced level:
    - Artificial intelligence: A Modern Approach by S. Russell and P. Norvig. (touches on all aspects of AI, such as tic-tac-toe algorithms with minimax and First Order Logic)
    - Introduction to Machine Learning by E. Alpaydin

    PROTIP: How to tell if you're reading an advanced machine learning book -- if the index contains reference to Vapnik–Chervonenkis dimension or shattering, then the book is hardcore.

  • Look back at what the US gov/mil was doing in the 1960's, 1970's with advanced digital databases and what it expected from big data sets and emerging AI funding.
    1980's 1990's with grants, funding, emerging private sector, academia. The onto the huge early data sets with internet search results been offered for sale.
    Follow the data, cash, science and projects. What was done, was expected, never worked, was never mentioned much in public again but got a lot of funding...
    Back over the decades that end u
  • Microsoft has a browser Ml app GUI that is useful and slick. Makes it easy to try many different approaches and get a feel for munging your own data quickly. Find a free trial as part of azure and or Cortana analyics

  • About a year ago I completed the Weka Mooc ( Weka is an opensource machine learning / data mining tool that has many different machine learning tools and algorithms.

    The mooc part is the course. It was free at the time I did it, but I don't know if it still is. The mooc is run by an experienced machine learning professor. Weka is also maintained and developed in the same department as his.

    I highly recommend this course, it was informative, gave me a grasp of machine l

  • Take your hand and hit it with a hammer. Still here? Ok. You passed the first test. Next test is hit your head with that hammer.

    Machine is very unforgiving. Those that are good at it are close to being artists. They're also very cleaver. The reason for my first comments is because it'll beat you. Everything has to be exactly right or you get nothing.

    My advice is to start with something small. A 6502, if they're still around. An IBM AT class machine is wonderful. Start with a keyboard driver. You can replac

Perfection is acheived only on the point of collapse. - C. N. Parkinson