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

Reply via email to