How to handle a special case of missing data in Neural Networks?
3 次查看(过去 30 天)
显示 更早的评论
Hello,
I need to train a classifier with a dataset composed of events that occur for only a subset of my records. For instance, suppose there are 100 records. Let Event 1 occur for all records, Event 2 occur for records 1:50, and Event 3 occur for records 51:100. Suppose each Event has 1 dimension of data. So I have a dataset of 3 columns with column 2 and 3 have 50 NaNs each. These records are empty because there is no data. I do not want MATALB to attempt to estimate their values. I would like to build a model that allows for these values to be empty.
I have found one option that forces the bias terms for your connections to be zero, in which case I could make all my missing records zero. However, the non-missing values sometimes have a magnitude of zero and so for these cases the bias needs to be non-zero.
Is there a way to make each input to a neural network two-dimensional, the first dimension being the training data and the second value a 0 or 1 indicating whether to overide the output to be 0 and to have the back-propogaiton ignore that branch of the node?
My actual dataset is high-dimensional with a complex collection of overlapping events. I have built a custom MAP classifier that accounts for the particular nature of the data. I want to compare its performance with a deep ANN and with some other clustering technique. Accordingly, I will have this same quesiton for something like KNN.
0 个评论
采纳的回答
David Willingham
2021-9-1
Hi Miles,
I'd recommend adding additional 2 columns that indicate when Event 2 & 3 are active. I.e. the first column will have a 1 for when Event 2 is active, 0 when it's not. And the next column has the same for Event 3.
Regards,
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Get Started with Deep Learning Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!