New answers tagged

0

One method is to use Online Learning as previous answers have suggested. You can use transfer learning to use a pre-trained model (CNN), that has been trained on a large dataset, and use it to generate feature vectors for the members of your system. When an existing user comes in you can use these feature vectors for identifying the user (member) using SVM....


0

In most cases, one shouldn't retrain a trained network with only the new data. Rather, train the network from scratch with the new and old data. Adding new data and retraining the model just on that new set of data, will probably make your model fit to only that new data, thus forgetting general features from the other data it was trained on. Also, ...


1

In many cases in deep learning it works well to start off with a model which has a very high capacity and potentially overfits. From thereon you can reduce the model capacity to narrow the gap between train and validation error. In this chapter of the Deep Learning Book by Goodwell you find a good description of manual hyperparameter selection and how they ...


2

You have a big dataset and you get new instances//data every 2 months. First you should select with which data you want to train. Since your data is big and there is the probability than data from 2 years ago is not as relevant as the data from the last month you can consider doing a Roll out// slidding window validation. This way you will only select the ...


2

From what I understand - your problem is "sample selection bias" problem. Any kind of pattern to select a subset out of large data may lead to bias. This raises two question. How to choose? Random/stratified random (If you have multiple classes) under sampling to obtain a smaller subset. How big to choose? we can set percentage of undersampling. Reducing ...


0

Validation set is basically to understand how your model is behaving in terms of over-fitting, and under-fitting, and also to find the best set of hyper-parameters for your algorithm. If you use some parts of the same training data on your validation set, then this hypothesis would not be justified. Hence, it is suggested to split your data set into train/...


1

Your reasoning is perfectly correct. Augmentation is just a process, which helps you cover your domain better. You should only pick operators that help you. Abusing augmentation can definitely mess up your model. It's always good idea to print data at those limits, to check yourself. Try also to think, how data will be acquired on production. Albumentations ...


1

The definition of your customized training is too vague to be able to implement it: what is the "outcome" of a layer? How do you "train a layer with the outcome of another layer"? Also, note that, while it is possible to freeze layers selectively during training (i.e. not applying any update during the optimization step), the gradients will always propagate ...


1

You have to create multiple training sessions, in which you selectively freeze the layers you don't want to train. Each Sequential() model can be seen as a list of layer objects. Each of these layers have the argument trainable = True/False. You Freeze the layers you don't want to be trained classically, and proceed to Then, using Keras Models, you connect ...


1

Provided that you are in the same scope, will remember not only the learning rate but the current state of all tensor, hyper parameters, gradients and so on. In fact you can call fit many times instead of setting epochs and will work mostly the same.


0

Great answers but the answer also depends on the model usage. A small change in the training data row slice produces a large change in a validation set performance lowers my confidence that this is a good model. When using cross validation, I look at the variance of the performance to gauge if there was a lucky split or general instability. I do not ever ...


0

Most answers fail to address the following problem: even if you split your data into train and test, and perform k-fold cross validation on the training data to obtain the best model, your model's performance on the test data will depend on the initial "split" of training and test data. I can see only two solutions to this: Do not split the data into ...


0

Try this tool. It is very simple and does exactly what you want → assign label(s) to images in a given folder. https://github.com/robertbrada/PyQt-image-annotation-tool


1

As Benj said, there's no general answer since it depends not only on the algorithm but also a lot on the data. It's easy to find examples where the exact same size of data with the same algorithm performs terrible in one case and perfectly in the other. Given a particular dataset and a particular algorithm, there are experimental methods which can help ...


3

That pattern is common in neural networks training. Train performance is an estimate of bias, and validation performance is an estimate of variance. Initially both go down. Bias continues to go down, but variance goes up. That is the classic bias-variance tradeoff. However, in neural networks variance will start to go down again. This is called the “double ...


2

It is expected that accCV < accTrain: the former is the accuracy on the test folds (averaged over all the splits), so represents models' scores on unseen-to-them data. Similarly, you would expect accTrain > accTest. There are two main reasons to evaluate a model, whether by k-fold cross-validation or simple train/test split: for hyperparameter ...


0

I suggest to check out some introductory books on NLP, e.g. Natural Language Processing with Python. This is a very accessible and practical introduction and useful even if you won't be working in Python. Another, more detailed text book is Speech and Language Processing by Jurafsky and Martin. You need to understand the basics first, and these are ...


2

My 2 cents: I'm fan of defying the max_leaf_nodes (in this example 5) and then visualizing it. I suggest starting at 3 and then increasing it slightly (the same applies for your Random Forest). In general, at around 5 I see overfitting. With your large dataset, you might need a bit more (i.e. max_leaf_nodes = 10?). Why? Or the answer to your question... ...


2

By other posts and this one seems what you don't have a clear intuition of the n_estimators of the random forest. I am going to assume that you are referring to the n_estimators (from this other question). n_estimators is the number of trees that your 'forest' has. Not the depth of your tree. That is another parameter. If you are referring to max_depth = ...


0

One thing that wasn't mentioned in other comments regarding the first model is optimistic predictions biased toward the training set. This could be helpful or destructive, depends on the context. With that being said, without any additional information - In a production environment, robustness and consistency (Alongside with latency and throughput) are ...


4

Just to clarify (and I think you've got this right, but I'm just being careful), it is best practice to: 1: Split your data into train and test 2: Split train into train and eval 3: Grid search over hyperparameters, for each combination, train on train, evaluate on eval. Select the hyperparameters which allow you to get the best score on the eval set ...


Top 50 recent answers are included