tomh@proxftl.UUCP (Tom Holroyd) (11/30/88)
The Dec. '88 issue of Computer Language has an article on the PADALINE, a polynomial ADALINE. The only reference given is a Ph.D. dissertation by Donald Specht (Stanford) written in the mid-60's. Are there any more recent references? A brief description of the method: Given two categories of patterns, A and B. Construct a polynomial that will yield a positive number given a vector XA from category A and a negative number given a vector XB from category B. Compute the constants of the polynomial using the general formula: c = 1/(z1!z2!...zp! * s^2h) * z1,z2,...zp m [ 1/m * sum(XA ^z1 * XA ^z2 * ... * EXP ) - i=1 i1 i2 XA i n K/n * sum(XB ^z1 * XB ^z2 * ... * EXP ) ] i=1 i1 i2 XB i where z1...zp are the subscripts for the constants, s^2h is a smoothing factor, XA is the 1st element of the ith vector from the set of m vectors i1 in category A. XB is the 1st element of the ith category B vector; there i1 are n of these. K is computed from the ratio of the number of A vectors to the number of B vectors. EXP is exp(-L/2s^2) where L is the square of the X length of X. What you do is compute each constant using the above formula, and then construct a polynomial which, when given a vector from either category, will yield the correct categorization. You need to have all your vectors pre-categorized, of course. It looks nice since you only run the calculation once, and after that the polynomial just works. You don't have to wait for something to converge. Adding a new pattern vector means re-doing the whole calculation, tho. Anybody actually used this and care to comment? How many terms do you need, say, if you have 1000 10-dimensional vectors? Can you throw away the higher order terms without hurting the categorization too much? Tom Holroyd UUCP: {uflorida,uunet}!novavax!proxftl!tomh The white knight is talking backwards.