2
$\begingroup$

I have a basic understanding about Machine Learning in general. My question is how it is done in the practical applications of it.

If I take the following definition of ML

A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.

It talks about Experience E. What I understand from the above is the more data you give to the algorithm E increases, and that in turn increases P.

Now let's consider a scenario where you build a decision tree model from 10,000 data rows available. Now I have the model, so can I say that my model has learned and just stop there!(use that model for prediction from that point on-wards forever)?

According to the definition, I need to feed more data so the experience increases, and in turn I get a performance improvement.

So is Machine Learning a continuous process so that You cannot build the model and just stop there. Do we need to feed more data to the algorithm time by time and improve the model so that the model actually LEARNS?

$\endgroup$
  • 1
    $\begingroup$ Check out stats.stackexchange.com/tour as that is the SE site for ML. $\endgroup$ – WBT Oct 11 '15 at 4:00
  • 1
    $\begingroup$ @WBT: Cross Validated, the SE site you've referred the OP to, is a site mostly focused on statistics. While some people post ML-related questions there and it's a good idea to check it out, referring to CV as "the SE site for ML" is simply wrong. Please spend some time to browse the Data Science SE site to learn that it contains a wealth of ML-focused information. $\endgroup$ – Aleksandr Blekh Oct 11 '15 at 5:09
  • 1
    $\begingroup$ It's called Cross Validated (an ML reference) and says on the tour page, "Cross Validated is a question and answer site for people interested in... machine learning." It's also a fully graduated (i.e. no longer in beta) site. $\endgroup$ – WBT Oct 11 '15 at 13:38
  • $\begingroup$ Also, my point wasn't that ML questions wouldn't fit here, but that Cross Validated might be a better place to learn about ML as it has almost an order of magnitude more content on the subject. $\endgroup$ – WBT Oct 11 '15 at 23:35
  • $\begingroup$ What happened to my comments? Why did they get deleted? I would love to hear why this happened to improve in the future. Thanks. $\endgroup$ – Vladislavs Dovgalecs Oct 13 '15 at 15:49
2
$\begingroup$

There is not really a "right way" to use machine learning outside of running the algorithms, any more than there is a "right way" to use a sorting algorithm, or any other kind of complex automation.

Some guidelines/thoughts:

  • You can start using your model to make predictions, once those predictions are useful to you. This may be once they pass some threshold in performance that would make the predictions the best way of achieving some other goal. That may just mean "better than the last ML model", but could also mean "cheaper and faster than having some people doing it, even if it is less accurate".

  • Depending on how your training data is collected, and how the model works, it may be possible to both use your model for predictions, and to continue training it on new data as it arrives.

  • However, there is no requirement for continuous learning. Learning systems that continuously adapt to new data are useful in some situations (example might be recommendation systems), but might be inappropriate in others (example might be automatic driver for a vehicle, where you don't want to risk reduction in performance whilst in use).

One thing that is considered very standard practice is to demonstrate how the machine learning system is performing after a period of learning by using a test metric. The simplest variation is to keep some of your precious data to one side, deliberately not training on it, then measure the performance. Often two such sets are kept aside - a cross validation set is used to help decide automatically between variations of your learning algorithm, and a test set is used to assess the end result of that selection.

$\endgroup$
1
$\begingroup$

Do we need to feed more data to the algorithm time by time and improve the model so that the model actually LEARNS?

This is called online learning. It is recommended for any application where the underlying relationships might change, and where feedback is quickly available.

But that isn't always the case. It may be the case that once a model is learned, we don't expect it to change, and so this sort of 'continuing education' is unnecessary, and that feedback could be costly or dangerous. (Imagine playing Rock Paper Scissors with a bot whose updating algorithm you know; you should be able to reliably win by feeding it moves designed to give you an opportunity to know its move and outfox it.)

Or it may be the case that feedback is available periodically, where my experience has been that people often retrain the model from scratch, rather than trying to do a warm start on the previous model.

$\endgroup$
0
$\begingroup$

The "experience" here is the 10000 rows of training data. One expects that with less data, one produces an inferior model (e.g. if there was 1 row of data, or 10 rows).

In practice, it is not uncommon for models to be specified based on some training set and then used for prediction.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.