In case when I am trying to solve classification problem with neural network and classes in a dataset are calculated with k-means. Is it supervised or unsupervised learning?
This may fall into the class of heuristic approach to semi-supervised learning.
Related
I've tried to follow the example provided at mathworks for training a deep sparse autoencoder (4 layers), so i pre-trained the autoencoders separately and then stacked then into a deep network. When i try to finetune this network though, via the
train(deepnet, InputDataset)
instruction, the training stops instantly and i receive a "performance goals met" message.
Is there a way to train and finetune a deep autoencoder network in an unsupervised manner in Matlab (no labels provided)?
Have you set the "MSE" goal? Secondly, for fine tuning of network use a conventional back-propagation algorithm in supervised fashion.
I just want to know if a neural network can be trained with a single class of data set. I have a set of data that I want to train a neural network with. After training it, I want to give new data(for testing) to the trained neural network to check if it can recognize it as been similar to the training sample or not.
Is this possible with neural network? If yes, will that be a supervised learning or unsupervised.
I know neural networks can be used for classification if there are multiple classes but I have not seen with a single class before. A good explanation and link to any example will be much appreciated. Thanks
Of course it can be. But in this case it will only recognize this one class that you have trained it with. And depending on the expected output you can measure the similarity to the training data.
An NN, after training, is just a function. For classification problems you can imagine it as a function that takes data as input and returns an integer indicating to which class it belongs to. That being said, if you have only one class that can be represented by an integer value 1, and if training data is not similar to that class, you will get something like 1.555; It will not tel you that it belongs to another class, because you have introduced only one, but it will definitely give you a hint about its similarity.
NNs are considered to be supervised learning, because before training you have to provide both input and target, i. e. the expected output.
If you train a network with only a single class of data then It is popularly known as One-class Classification. There are various algorithms developed in the past like One-class SVM, Support Vector Data Description, OCKELM etc. Tax and Duin developed a MATLAB toolbox for this and it supports various one-class classifiers.
DD Toolbox
One-class SVM
Kernel Ridge Regression based or Kernelized ELM based or LSSVM(where bias=0) based One-class Classification
There is a paper Anomaly Detection Using One-Class Neural Networks
which combines One-Class SVM and Neural Networks.
Here is source code. However, I've had difficulty connecting the source code and the paper.
I am training a classification neural network for multiple classes. I have very imbalanced classes (80:10:5:5 ratio approximately). I want to use some kind of weight balancing in the loss function to prevent the neural network from overly predicting for the majority class. Does anybody know how to do the class balancing in Tensorflow?
P.S. I cannot solve this by over-sampling the minority classes because I am training a convolutional-deconvolutional neural network that does medical image segmentation. Each pixels is assigned to a distinct class in this task. I cannot over sample pixels in this task.
Thanks a lot!:D
Than
I'm starting a work on Internet traffic prediction (time series prediction) using artificial neural networks, but I have few experience with the matter.
Does anyone knows which method is the best for that? (which type
of neural network to use for time series prediction)
Is Deep Learning with unsupervised training a good idea for time
series learning?
You can do time-series prediction with neural nets, but it can get pretty tricky.
1) The obvious choice is a recurrent neural network (RNN). However, these can be really difficult to train, and I would not recommend RNNs if this is your first time using neural nets. Recently there has been some interesting work on easing the training of RNNs (e.g. Hessian-free optimization), but again - it's probably not for beginners ;-) Alternatively, you could try a scheme where you use a standard neural net (i.e. not a RNN), and try to predict the next frame of data from the previous? That might work.
2) This question is too general, there is no categorical right answer. Yes, you can use unsupervised feature learning as part of your solution (e.g. pre-training your model), but if your end goal is time-series prediction you will need to do some supervised learning too.
Good luck!
I am a student working on an internship project where in we are using Bayesian networks to predict a possible outcome from a given set of discrete parent variables.We now intend to use artificial neural network to do the task.So could any one please help me out with the similarities and differences between Bayesian networks and artificial neural network?Any suggestions as how to proceed with migration would be helpful.
Thanks
Similarity
Both use directed graphs.
Difference
In Bayesian networks the vertices and edges have meaning- The network structure itself gives you valuable information about conditional dependence between the variables. With Neural Networks the network structure does not tell you anything.