On Wednesday 26 June 2002 09:37, you wrote: > Hi, > > I am new to the list and have recently acquired an interest in A.I. with > Perl. I would like, as an initial dip into the water so to speak, to know > what your thoughts on solving the following problem are? (how would you > solve and and using what?) > > Basically, I am interested in monitoring the throughput of an interface on > my computer via MRTG / RRDtool (or _maybe_ even 'raw' data in a > MySQL/Oracle db) and would like to be able to do the following:- > > 1. Assume that my usage curve is a curve of some type, with the X-axis of a > particular graph being time and the Y axis is interface throughput. I want > the system to be able to 'learn' my usage pattern and determine what > 'normal' is for a given hour, day, week, month. > > 2. I want to be able to be alerted when usage strays away from 'normal'. > > What are your thoughts on how to achieve this? Would a neural network with > some appropriate training data be able to recognise a normal pattern and, > more importantly, any deviations from that pattern? > > thanks for any advice, > regards, > Matt.
Well, neural nets are part of machine learning, and machine learning is a part of AI, so the question of whether a NN is useful here is relevant to perl-ai. In this case, it would be useful first to gather data and plot it. Does the resulting histogram look like a simple function? If so, fit that simple function to the histogram using least squares. Then you can compute the difference between current throughput and the function (or even the average histogram if you don't want to bother with the fit) and flag it if the difference goes above a certain threshold. If the function is more complicated, a neural net could be used, but it would be a lot of work. To train a neural network in a supervised fashion, you will need a number of instances of normal and abnormal usage to train the NN against. The quality of your classifier depends on the examples you use, the more the better. In general, if there is a simple rule of thumb you can cobble together to classify your data, I'd recommend you use it. NNs are good at detecting distributed patterns in data, but are overkill for simple decision criteria like difference thresholds. -Mark