36
FAUST Analytics FAUST Analytics X(X X(X 1 ..X ..X n )R n , |X|=N. If X is a classified training set with , |X|=N. If X is a classified training set with classes=C={C classes=C={C 1 ..C ..C K }, X((X }, X((X 1 ..X ..X n ,C}. ,C}. d=(d d=(d 1 ..d ..d n ), |d|=1. p=(p ), |d|=1. p=(p 1 ..p ..p n )R n . We have functionals, F:R . We have functionals, F:R n R, F=L, S, R (as well R, F=L, S, R (as well as others, but these are the focus here). as others, but these are the focus here). PCC: Precipitous Count Change Clusterer PCC: Precipitous Count Change Clusterer If DT isn't reached, cut C at PCC If DT isn't reached, cut C at PCC s L d,p d,p &C &C using the next (d,p) from using the next (d,p) from dpSet dpSet TKO: Top K Outlier TKO: Top K Outlier Detector Detector Use Use D 2 NN NN =rank =rank 2 S x for TopKOutlier for TopKOutlier -slider -slider. LIN: Linear Classifier LIN: Linear Classifier y yC k iff y iff y LH LH k k {z | minL {z | minL d,p,k d,p,k L L d,p,k d,p,k (z) (z) maxL maxL d,pd,k d,pd,k } } (d,p) (d,p) dpSet dpSet LH LH k is a Linear hull around C is a Linear hull around C k . . dpSet dpSet is a set of is a set of (d,p) pairs, e.g., (Diag,DiagStartPt). (d,p) pairs, e.g., (Diag,DiagStartPt). or use Rk or use Rk i Ptr(x,Ptr Ptr(x,PtrRank Rank i S x ). Rk ). Rk i SD(x,Rank SD(x,Rank i S x ) ordered as ) ordered as constructing desc on rank constructing desc on rank i S x . What should we pre-compute besides XoX? stats(min/avg/max/std); Xop; p=class_Avg/Med; Xod; Xox; d 2 (X,x); Rk i d 2 (X,x); L d,p , R d,p LSR: Linear Spherical Radial Classifier LSR: Linear Spherical Radial Classifier y C k k iff y iff y LSRH LSRH k {z | minF {z | minF d,p,k d,p,k F F d,p,k d,p,k (z) (z) maxF maxF d,p,k d,p,k d,p d,p dpSet dpSet , , F=L,S,R} F=L,S,R} L d,p d,p (X-p) (X-p)o d = X d = Xo d - p d - po d = d = L d d - p - pod , , (where L (where L D =X =Xo D for any vector, D) D for any vector, D) S p p (X-p) (X-p)o (X-p) = X (X-p) = Xo X + X X + Xo (-2p) + p (-2p) + po p = p = L -2p -2p + X + Xo X+p X+pop R d,p d,p S S p p - L - L 2 d,p d,p = X = Xo X+L X+L -2p -2p +p +po p-(L p-(L d ) 2 -2p -2po d*X d*Xo d+(p d+(po d)d d)d 2 2 = = L -2p-(2p -2p-(2p o d)d d)d - - (L (L d ) 2 +p +po p+(p p+(po d) d) 2 +X +XoX GAP: Gap GAP: Gap Clusterer Clusterer If DensityThreshold, DT, isn't reached, cut C mid-gap of L If DensityThreshold, DT, isn't reached, cut C mid-gap of L d,p d,p &C &C using the next (d,p) from using the next (d,p) from dpSet dpSet FPCC FPCC d,p,k,j d,p,k,j = j = j th th precipitous count change (from precipitous count change (from left-to-right) of F left-to-right) of F d,p,k d,p,k . . Same notation for PCI Same notation for PCI s and PCD and PCD s (incr/decr) (incr/decr) We need a "Basic pTree Operations Timing Manual" to show users the cost of various pTree computations. Fusion step may be required? Use density, proximity, or use Fusion step may be required? Use density, proximity, or use Pillar pkMeans (next slide). Pillar pkMeans (next slide). (Examine and remove outliers first, then use first PCI instead of min and last PCD instead of max?) Express the Hulls as decision trees, one for every d. Then y isa k iff y isa k in every d-tree. Build each d-tree using L d at the root and then from any multi-class inode use F=L,R,S with d=AvC i AvC j and p=AvC i distinct pair C i , C j , where C i ,C j have nonempty restrictions at that node, using every F=L,S,R except the parent. This assumes convex classes. If it's known/suspected there are non-convex classes, judicious use of PCCs may provide tighter hulls. Fmin Fmin d,p,k d,p,k = min(F = min(F d,p d,p &C &C k ), Fmax ), Fmax d,p,k d,p,k = = max(F max(F d,p d,p &C &C k ) Assuming X Assuming Xo X is pre-calculated, for all 3, calculate L X is pre-calculated, for all 3, calculate L d , L , L -2p -2p and do pTree arithmetic and do pTree arithmetic (if just L and R, calculate L (if just L and R, calculate L d , L , L -2p-(2p -2p-(2po d)d d)d ). ).

FAUST Analytics X(X 1..X n ) R n, |X|=N. If X is a classified training set with classes=C={C 1..C K }, X((X 1..X n,C}. d=(d 1..d n ), |d|=1. p=(p 1..p

Embed Size (px)

Citation preview

Page 1: FAUST Analytics X(X 1..X n )  R n, |X|=N. If X is a classified training set with classes=C={C 1..C K }, X((X 1..X n,C}. d=(d 1..d n ), |d|=1. p=(p 1..p

FAUST Analytics FAUST Analytics X(XX(X11..X..Xnn))RRnn, |X|=N. If X is a classified training set with classes=C={C, |X|=N. If X is a classified training set with classes=C={C11..C..CKK}, X((X}, X((X11..X..Xnn,C}.,C}.d=(dd=(d11..d..dnn), |d|=1. p=(p), |d|=1. p=(p11..p..pnn))RRnn. We have functionals, F:R. We have functionals, F:RnnR, F=L, S, R (as well as others, but these are the focus here).R, F=L, S, R (as well as others, but these are the focus here).

PCC: Precipitous Count Change ClustererPCC: Precipitous Count Change Clusterer If DT isn't reached, cut C at PCCIf DT isn't reached, cut C at PCCssLLd,pd,p&C using the next (d,p) from &C using the next (d,p) from dpSetdpSet

TKO: Top K OutlierTKO: Top K Outlier DetectorDetector Use Use DD22NNNN=rank=rank22SSxx for TopKOutlier for TopKOutlier-slider-slider..

LIN: Linear ClassifierLIN: Linear Classifier y yCCkk iff y iff yLHLHk k {z | minL {z | minLd,p,k d,p,k L Ld,p,kd,p,k(z) (z) maxL maxLd,pd,kd,pd,k} } (d,p) (d,p)dpSetdpSet

LHLHkk is a Linear hull around C is a Linear hull around Ckk. . dpSetdpSet is a set of (d,p) pairs, e.g., (Diag,DiagStartPt). is a set of (d,p) pairs, e.g., (Diag,DiagStartPt).

or use Rkor use RkiiPtr(x,PtrPtr(x,PtrRankRankiiSSxx). Rk). RkiiSD(x,RankSD(x,RankiiSSxx) ordered as constructing desc on rank) ordered as constructing desc on rank iiSSxx..

What should we pre-compute besides XoX? stats(min/avg/max/std); Xop; p=class_Avg/Med; Xod; Xox; d2(X,x); Rkid2(X,x); Ld,p, Rd,p

LSR: Linear Spherical Radial ClassifierLSR: Linear Spherical Radial Classifier yyCCk k iff y iff yLSRHLSRHkk{z | minF{z | minFd,p,kd,p,k F Fd,p,kd,p,k(z) (z) maxF maxFd,p,kd,p,k d,pd,pdpSetdpSet, , F=L,S,R}F=L,S,R}

LLd,p d,p (X-p) (X-p)ood = Xd = Xood - pd - pood = d = LLd d - p- poodd, , (where L(where LDD=X=XooD for any vector, D)D for any vector, D)

SSp p (X-p) (X-p)oo(X-p) = X(X-p) = XooX + XX + Xoo(-2p) + p(-2p) + poop = p = LL-2p -2p + X+ XooX+pX+poopp

RRd,p d,p S Sp p - L- L22d,p d,p = X= XooX+LX+L-2p-2p+p+poop-(Lp-(Ldd))22-2p-2pood*Xd*Xood+(pd+(pood)dd)d2 2 = = LL-2p-(2p-2p-(2pood)d d)d - (L- (Ldd))22

+p+poop+(pp+(pood)d)22+X+XooXX

GAP: GapGAP: Gap ClustererClusterer If DensityThreshold, DT, isn't reached, cut C mid-gap of LIf DensityThreshold, DT, isn't reached, cut C mid-gap of Ld,pd,p&C using the next (d,p) from &C using the next (d,p) from dpSetdpSet

FPCCFPCCd,p,k,jd,p,k,j = j = jthth precipitous count change (from left-to-right) of F precipitous count change (from left-to-right) of Fd,p,kd,p,k. .

Same notation for PCISame notation for PCIss and PCD and PCDss (incr/decr) (incr/decr)

We need a "Basic pTree Operations Timing Manual" to show users the cost of various pTree computations.

Fusion step may be required? Use density, proximity, or use Pillar pkMeans (next slide).Fusion step may be required? Use density, proximity, or use Pillar pkMeans (next slide).

(Examine and remove outliers first, then use first PCI instead of min and last PCD instead of max?) Express the Hulls as decision trees, one for every d. Then y isa k iff y isa k in every d-tree. Build each d-tree using Ld at the root and then from any multi-class inode use F=L,R,S with d=AvC iAvCj

and p=AvCi distinct pair Ci, Cj, where Ci,Cj have nonempty restrictions at that node, using every F=L,S,R except the parent. This assumes convex classes. If it's known/suspected there are non-convex classes, judicious use of PCCs may provide tighter hulls.

FminFmind,p,kd,p,k= min(F= min(Fd,pd,p&C&Ckk), Fmax), Fmaxd,p,kd,p,k= max(F= max(Fd,pd,p&C&Ckk))

Assuming XAssuming XooX is pre-calculated, for all 3, calculate LX is pre-calculated, for all 3, calculate Ldd, L, L-2p-2p and do pTree arithmetic (if just L and R, calculate L and do pTree arithmetic (if just L and R, calculate Ldd, L, L-2p-(2p-2p-(2pood)dd)d).).

Page 2: FAUST Analytics X(X 1..X n )  R n, |X|=N. If X is a classified training set with classes=C={C 1..C K }, X((X 1..X n,C}. d=(d 1..d n ), |d|=1. p=(p 1..p

Nest we consider ways of clustering these MOTHER GOOSE stories (used to construct MG44docs60words)1. Three blind mice! See how they run! They all ran after the farmer's wife, who cut off their tails with a carving knife. Did you ever see such a thing in your life as three blind mice?2. This little pig went to market. This little pig stayed at home. This little pig had roast beef. This little pig had none. This little pig said Wee, wee. I can't find my way home.3. Diddle diddle dumpling, my son John. Went to bed with his breeches on, one stocking off, and one stocking on. Diddle diddle dumpling, my son John.4. Little Miss Muffet sat on a tuffet, eating of curds and whey. There came a big spider and sat down beside her and frightened Miss Muffet away.5. Humpty Dumpty sat on a wall. Humpty Dumpty had a great fall. All the Kings horses, and all the Kings men cannot put Humpty Dumpty together again.6. See a pin and pick it up. All the day you will have good luck. See a pin and let it lay. Bad luck you will have all the day.7. Old Mother Hubbard went to the cupboard to give her poor dog a bone. When she got there the cupboard was bare and so the poor dog had none. She went to the baker to buy him some bread. When she came back the dog was dead.8. Jack Sprat could eat no fat. His wife could eat no lean. And so between them both they licked the platter clean.9. Hush baby. Daddy is near. Mamma is a lady and that is very clear.10. Jack and Jill went up the hill to fetch a pail of water. Jack fell down, and broke his crown and Jill came tumbling after. When up Jack got and off did trot as fast as he could caper, to old Dame Dob who patched his nob with vinegar and brown paper.11. One misty moisty morning when cloudy was the weather, I chanced to meet an old man clothed all in leather. He began to compliment and I began to grin. How do you do And how do you do? And how do you do again12. There came an old woman from France who taught grown-up children to dance. But they were so stiff she sent them home in a sniff. This sprightly old woman from France.13. A robin and a robins son once went to town to buy a bun. They could not decide on plum or plain. And so they went back home again.14. If all the seas were one sea, what a great sea that would be! And if all the trees were one tree, what a great tree that would be! And if all the axes were one axe, what a great axe that would be! And if all the men were one man what a great man he would be! And if the great man took the great axe and cut down the great tree and let it fall into the great sea, what a splish splash that would be!15. Great A. little a. This is pancake day. Toss the ball high. Throw the ball low. Those that come after may sing heigh ho!16. Flour of England, fruit of Spain, met together in a shower of rain. Put in a bag tied round with a string. If you'll tell me this riddle, I will give you a ring.17. Here sits the Lord Mayor. Here sit his two men. Here sits the cock. Here sits the hen. Here sit the little chickens. Here they run in. Chin chopper, chin chopper, chin chopper, chin!18. I had two pigeons bright and gay. They flew from me the other day. What was the reason they did go? I can not tell, for I do not know.21. The Lion and the Unicorn were fighting for the crown. The Lion beat the Unicorn all around the town. Some gave them white bread and some gave them brown. Some gave them plum cake, and sent them out of town.22. I had a little husband no bigger than my thumb. I put him in a pint pot, and there I bid him drum. I bought a little handkerchief to wipe his little nose and a pair of little garters to tie his little hose.23. How many miles is it to Babylon? Three score miles and ten. Can I get there by candle light? Yes, and back again. If your heels are nimble and light, you may get there by candle light.25. There was an old woman, and what do you think? She lived upon nothing but victuals, and drink. Victuals and drink were the chief of her diet, and yet this old woman could never be quiet.26. Sleep baby sleep. Our cottage valley is deep. The little lamb is on the green with woolly fleece so soft and clean. Sleep baby sleep. Sleep baby sleep, down where the woodbines creep. Be always like the lamb so mild, a kind and sweet and gentle child. Sleep baby sleep.27. Cry baby cry. Put your finger in your eye and tell your mother it was not I.28. Baa baa black sheep, have you any wool? Yes sir yes sir, three bags full. One for my master and one for my dame, but none for the little boy who cries in the lane.29. When little Fred went to bed, he always said his prayers. He kissed his mamma and then his papa, and straight away went upstairs.30. Hey diddle diddle! The cat and the fiddle. The cow jumped over the moon. The little dog laughed to see such sport, and the dish ran away with the spoon.32. Jack come and give me your fiddle, if ever you mean to thrive. No I will not give my fiddle to any man alive. If I should give my fiddle they will think that I've gone mad. For many a joyous day my fiddle and I have had33. Buttons, a farthing a pair! Come, who will buy them of me? They are round and sound and pretty and fit for girls of the city. Come, who will buy them of me? Buttons, a farthing a pair!35. Sing a song of sixpence, a pocket full of rye. Four and twenty blackbirds, baked in a pie. When the pie was opened, the birds began to sing. Was not that a dainty dish to set before the king? The king was in his counting house, counting out his money. The queen was in the parlor, eating bread and honey. The maid was in the garden, hanging out the clothes. When down came a blackbird and snapped off her nose.36. Little Tommy Tittlemouse lived in a little house. He caught fishes in other mens ditches.37. Here we go round the mulberry bush, the mulberry bush, the mulberry bush. Here we go round the mulberry bush, on a cold and frosty morning. This is the way we wash our hands, wash our hands, wash our hands. This is the way we wash our hands, on a cold and frosty morning. This is the way we wash our clothes, wash our clothes, wash our clothes. This is the way we wash our clothes, on a cold and frosty morning. This is the way we go to school, go to school, go to school. This is the way we go to school, on a cold and frosty morning. This is the way we come out of school, come out of school, come out of school. This is the way we come out of school, on a cold and frosty morning.38. If I had as much money as I could tell, I never would cry young lambs to sell. Young lambs to sell, young lambs to sell. I never would cry young lambs to sell. 39. A little cock sparrow sat on a green tree. And he chirped and chirped, so merry was he. A naughty boy with his bow and arrow, determined to shoot this little cock sparrow. This little cock sparrow shall make me a stew, and his giblets shall make me a little pie, too. Oh no, says the sparrow, I will not make a stew. So he flapped his wings and away he flew.41. Old King Cole was a merry old soul. And a merry old soul was he. He called for his pipe and he called for his bowl and he called for his fiddlers three. And every fiddler, he had a fine fiddle and a very fine fiddle had he. There is none so rare as can compare with King Cole and his fiddlers three.42. Bat bat, come under my hat and I will give you a slice of bacon. And when I bake I will give you a cake, if I am not mistaken.43. Hark hark, the dogs do bark! Beggars are coming to town. Some in jags and some in rags and some in velvet gowns.44. The hart he loves the high wood. The hare she loves the hill. The Knight he loves his bright sword. The Lady loves her will.45. Bye baby bunting. Father has gone hunting. Mother has gone milking. Sister has gone silking. And brother has gone to buy a skin to wrap the baby bunting in.46. Tom Tom the piper's son, stole a pig and away he run. The pig was eat and Tom was beat and Tom ran crying down the street.47. Cocks crow in the morn to tell us to rise and he who lies late will never be wise. For early to bed and early to rise, is the way to be healthy and wealthy and wise.48. One two, buckle my shoe. Three four, knock at the door. Five six, ick up sticks. Seven eight, lay them straight. Nine ten. a good fat hen. Eleven twelve, dig and delve. Thirteen fourteen, maids a courting. Fifteen sixteen, maids in the kitchen. Seventeen eighteen. maids a waiting. Nineteen twenty, my plate is empty.49. There was a little girl who had a little curl right in the middle of her forehead. When she was good she was very very good and when she was bad she was horrid.50. Little Jack Horner sat in the corner, eating of Christmas pie. He put in his thumb and pulled out a plum and said What a good boy am I!

Page 3: FAUST Analytics X(X 1..X n )  R n, |X|=N. If X is a classified training set with classes=C={C 1..C K }, X((X 1..X n,C}. d=(d 1..d n ), |d|=1. p=(p 1..p

Clustering MG44d60w

.18 .14 3 <-Gaps Always Avg to ffa 0 .28 .52 3.6 mn .1 .39 .55 3.6 mx 27 14 2 1 Ct C1 C2 DO1 SO1 44 Mother Goose Rythmes Vocab(60 content terms) 1 0 0 0 01TBM Three blind mice! See how they run! They all 1 0 0 0 02TLP This little pig went to market. This little pi 1 0 0 0 03DDD Diddle diddle dumpling my son John. Went to be 1 0 0 0 04LMM Little Miss Muffet sat on a tuffet, eating of 0 1 0 0 05HDS Humpty Dumpty sat on a wall. Humpty Dumpty ha 1 0 0 0 06SPP See a pin and pick it up. All the day you will 0 0 1 0 07OMH Old Mother Hubbard went to the cupboard to giv 1 0 0 0 08JSC Jack Sprat could eat no fat. His wife could ea 1 0 0 0 09HBD Hush baby. Daddy is near. Mamma is a lady and 1 0 0 0 10JAJ Jack and Jill went up the hill to fetch a pail 0 1 0 0 11OMM One misty moisty morning when cloudy was the w 1 0 0 0 12OWF There came an old woman from France who taught 1 0 0 0 13RRS A robin and a robins son once went to town to 1 0 0 0 14ASO If all the seas were one sea, what a great sea 0 1 0 0 15PCD Great A. little a. This is pancake day. Toss t 1 0 0 0 16PPG Flour of England, fruit of Spain, met together 1 0 0 0 17FEC Here sits the Lord Mayor. Here sit his two me 1 0 0 0 18HTP I had two pigeons bright and gay. They flew fr 0 1 0 0 21LAU The Lion and the Unicorn were fighting for the 0 1 0 0 22HLH I had a little husband no bigger than my thumb 1 0 0 0 23MTB How many miles is it to Babylon? Three score m 1 0 0 0 25WOW There was an old woman, and what do you think? 1 0 0 0 26SBS Sleep baby sleep. Our cottage valley is deep. 1 0 0 0 27CBC Cry baby cry. Put your finger in your eye and 0 1 0 0 28BBB Baa baa black sheep, have you any wool? Yes si 1 0 0 0 29LFW When little Fred went to bed, he always said h 0 0 1 0 30HDD Hey diddle diddle! The cat and the fiddle. The 1 0 0 0 32JGF Jack, come give me your fiddle, if ever you me 1 0 0 0 33BFP Buttons, a farthing a pair! Come, who will buy 0 0 0 1 35SSSffa Sing a song of sixpence a pocket full of rye 0 1 0 0 36LTT Little Tommy Tittlemouse lived in a little hou 0 1 0 0 37MBB Here we go round the mulberry bush, the mulber 0 1 0 0 38YLS If I had as much money as I could tell, I neve 0 1 0 0 39LCS A little cock sparrow sat on a green tree. And 0 1 0 0 41OKC Old King Cole was a merry old soul. And a merr 0 1 0 0 42BBC Bat bat, come under my hat and I will give you 1 0 0 0 43HHD Hark hark, the dogs do bark! Beggars are comin 1 0 0 0 44HLH The hart he loves the high wood. The hare she 1 0 0 0 45BBB Bye baby bunting. Father has gone hunting. Mot 1 0 0 0 46TTP Tom Tom the pipers son, stole a pig and away h 1 0 0 0 47CCM Cocks crow in the morn to tell us to rise and 0 1 0 0 48OTB One two, buckle my shoe. Three, four, knock at 1 0 0 0 49WLG There was a little girl who had a little curl 0 1 0 0 50LJH Little Jack Horner sat in the corner, eating o

C1 .28 2.2 .3 .72 3.06 .44 .82 3.06 20 6 1 C11 C12 SO2 1 0 0 1 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0ffa0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0

.05 0.05 .07 . 05 .05 .05 .14 .05 .05 .05 0.11 .05 .14 .07 .05 .07 .07 .09 .05 .07 .11 0.05 07 .05 .05 .07 .05 .05 .05 hill house king lady lamb maid men merry money morn mother nose old pie pig plum round run sing son three thumb town tree two way wife woman wool

Av: 0.05 0.11 0.09 0.07 0.05 0.05 0.07 0.07 0.07 0.07 0.05 0.05 0.09 0.05 0.05 0.05 0.07 0.07 0.05 0.09 0.05 .09 .05 .07 .11 .07 .07 .05 .05 .05 0.05 always away baby back bad bag bake bed boy bread bright brown buy cake child clean cloth cock crown cry cut day dish dog eat fall fiddle full girl green high

C11 .42 .31 1.3 .14 .68 .99 2.3 .26 .68 1.01 2.3 15 2 2 1C111 DO2 DO3 SO3 0 0 1 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0ffa0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0

C111 .36 1.8 .33 .80 2.6 .44 .85 2.6 11 3 1C1111 TO1 SO4 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0ffa0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0

C1111 .3 1.3 .32 .83 2.2 .43 .86 2.6 7 3 1C11111 TO2 SO5 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0ffa0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0

C11111 .5 2.5 .36 .99 2.4 .47 .99 2.6 5 1 1C111111 SO6 SO7 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0ffa1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0

Page 4: FAUST Analytics X(X 1..X n )  R n, |X|=N. If X is a classified training set with classes=C={C 1..C K }, X((X 1..X n,C}. d=(d 1..d n ), |d|=1. p=(p 1..p

MG44d60w A-FFA dendogram

07OMH Old Mother Hubbard30HDD Hey diddle diddle

35SSS Sing a song of sixpence

05HDS Humpty Dumpty11OMM One misty moisty morning15PCD Great A. little a21LAU The Lion and the Unicorn22HLH I had a little husband28BBB Baa baa black sheep36LTT Little Tommy Tittlemouse37MBB Here we go round mulberry bush38YLS If I had as much money as I could tell39LCS A little cock sparrow41OKC Old King Cole42BBC Bat bat, come under my hat48OTB One two, buckle my shoe50LJH Little Jack Horner

01TBM Three blind mice02TLP This little pig went to market03DDD Diddle diddle dumpling my son John04LMM Little Miss Muffet06SPP See a pin and pick it up08JSC Jack Sprat could eat no fat09HBD Hush baby. Daddy is near10JAJ Jack and Jill went up the hill12OWF There came an old woman from France13RRS A robin and a robins son14ASO If all the seas were one sea16PPG Flour of England17FEC Here sits the Lord Mayor18HTP I had two pigeons bright and gay23MTB How many miles is it to Babylon25WOW There was an old woman26SBS Sleep baby sleep27CBC Cry baby cry29LFW When little Fred went to bed32JGF Jack, come give me your fiddle33BFP Buttons, a farthing a pair43HHD Hark hark, the dogs do bark44HLH The hart he loves the high wood45BBB Bye baby bunting46TTP Tom Tom the pipers son47CCM Cocks crow in the morn49WLG There was a little girl

.18 .143C1

C2 ffa=39LCS

DO1SO1

08JSC Jack SpratSO209HBD Hush baby. Daddy is near12OWF There came old woman France26SBS Sleep baby sleep27CBC Cry baby cry29LFW When little Fred went to bed45BBB Bye baby bunting

C12

01TBM Three blind mice02TLP This little pig went to market03DDD Diddle diddle dumpling my son John04LMM Little Miss Muffet06SPP See a pin and pick it up10JAJ Jack and Jill went up the hill13RRS A robin and a robins son14ASO If all the seas were one sea16PPG Flour of England17FEC Here sits the Lord Mayor18HTP I had two pigeons bright and gay23MTB How many miles is it to Babylon25WOW There was an old woman32JGF Jack, come give me your fiddle33BFP Buttons, a farthing a pair43HHD Hark hark, the dogs do bark44HLH The hart he loves the high wood46TTP Tom Tom the pipers son47CCM Cocks crow in the morn49WLG There was a little girl

C11

.28 2.2

02TLP This little pig04LMM Little Miss Muffet

DO201TBM Three blind mice17FEC Here sits the Lord Mayor

DO3 46TTP Tom Tom pipersSO3

03DDD Diddle diddle dumpling my son John06SPP See a pin and pick it up10JAJ Jack and Jill went up the hill13RRS A robin and a robins son14ASO If all the seas were one sea16PPG Flour of England18HTP I had two pigeons bright and gay23MTB How many miles is it to Babylon25WOW There was an old woman32JGF Jack, come give me your fiddle33BFP Buttons, a farthing a pair43HHD Hark hark, the dogs do bark44HLH The hart he loves the high wood47CCM Cocks crow in the morn49WLG There was a little girl

C111 .42

.31 1.3

03DDD Diddle diddle dumpling my son John06SPP See a pin and pick it up13RRS A robin and a robins son16PPG Flour of England18HTP I had two pigeons bright and gay23MTB How many miles is it to Babylon32JGF Jack, come give me your fiddle33BFP Buttons, a farthing a pair43HHD Hark hark, the dogs do bark47CCM Cocks crow in the morn49WLG There was a little girl

C1111

14ASO If all the seas 25WOW There was an old woman44HLH The hart he loves

TO1

10JAJ Jack and Jill went up the hillSO4

.361.8

03DDD Diddle diddle dumpling my son John06SPP See a pin and pick it up16PPG Flour of England18HTP I had two pigeons bright and gay32JGF Jack, come give me your fiddle47CCM Cocks crow in the morn49WLG There was a little girl

C11111

23MTB How many miles to Babylon33BFP Buttons, a farthing a pair43HHD Hark hark, the dogs do bark

TO2 13RRS A robin andSO5.3 1.3

06SPP See a pin and pick it up16PPG Flour of England18HTP I had two pigeons bright and gay32JGF Jack, come give me your fiddle49WLG There was a little girl

C111111

47CCM Cocks crow in the mornSO7 03DDD Diddle diddle dumpling

SO6

05HDS Humpty Dumpty11OMM One misty moisty morning15PCD Great A. little a21LAU The Lion and the Unicorn22HLH I had a little husband36LTT Little Tommy Tittlemouse37MBB Here we go round mulberry38YLS If I had as much money42BBC Bat bat, come under my hat48OTB One two, buckle my shoe

C21 ffa=21LAU

28BBB Baa baa black sheep41OKC Old King Cole

DO4

50LJH Little Jack HornerSO8

.46.26

39LCS A little cock sparrowSO9

.19

05HDS Humpty Dumpty15PCD Great A. little a22HLH I had a little husband36LTT Little Tommy Tittlemouse38YLS If I had as much money48OTB One two, buckle my shoe

C211 ffa=37

42BBC Bat bat, come undertSO10

21LAU The Lion and the UnicornSO11

.41

205HDS Humpty Dumpty11OMM One misty moisty morning15PCD Great A. little a22HLH I had a little husband36LTT Little Tommy Tittlemouse37MBB Here we go round mulberry38YLS If I had as much money48OTB One two, buckle my shoe

C2111 ffa=15

11OMM One misty moistySO12

37MBB Here we go rnd mulberrySO13

.38.1.6

no gaps C2111 seems to focus on extremes? (big and small)

09HBD Hush baby. Daddy is near26SBS Sleep baby sleep27CBC Cry baby cry45BBB Bye baby bunting

C121 ffa=29

12OWF The came ol woman FranceSO14

29LFW When little Fred went bedSO15

.421.53

C2111 seems to be lullabys?

Notes:In text mining, just about any document is eventually going to be an outlier due to the fact that we are projecting high dimension (44 here) onto dimension=1. Thus the ffa will almost always be an outlier in LAvgffa.

Page 5: FAUST Analytics X(X 1..X n )  R n, |X|=N. If X is a classified training set with classes=C={C 1..C K }, X((X 1..X n,C}. d=(d 1..d n ), |d|=1. p=(p 1..p

Thanksgiving Clustering MG44d60w using word similarity (q is similar to p if q shares many of p's words) Select p, then count the number of p-words the others have in common with p (I'm selecting randomly from max wc).If that number (call it "x=p") >= Thr*wc(p), include that other word in the p-cluster. Carve off each p-cluster as it is created and repeat. Thr= ¼

p=35SSSSing a Song of Sixpence0 share ½*wc(p) =½*13=4 pwds

p=07OMHOld Mother Hubbard2 share ~ ¼*7 2 pwds

35SSS Sing a song of sixpence

07OMH Old Mother Hubbard went to cupboard to give her poor dog a bone. When she got there cupboard was bare and so poor dog had none. She went to baker to buy him some bread. When she came back dog was dead13RRS A robin and a robins son once went to town to buy a bun. They could not decide on plum or plain. And so they went back home again45BBB Bye baby bunting. Father has gone hunting. Mother has gone milking. Sister has gone silking. And brother has gone to buy a skin to wrap the baby bunting in. Cluster Theme=Someone went out to buy something

p=26SBSSleep Baby Sleep0 share ~ ¼*7 2 pwds

26SBS Sleep baby sleep

p=39LCSLittle cock sparrow1 shares ~ ¼*7 2 pwds

39LCS little cock sparrow sat on a green tree. And he chirped and chirped, so merry was he. A naughty boy with his bow and arrow, determined to shoot this little cock sparrow. This little cock sparrow shall make me a stew50LJH Little Jack Horner sat in the corner, eating of Christmas pie. He put in his thumb and pulled out a plum and said What a good boy am I Cluster Theme: boy and Little???

p=21LAULion And Unicorn

1 shares ~ ¼*6 2 pwds

21LAU Lion and the Unicorn were fighting for the crown. The Lion beat the Unicorn all around the town. Some gave them white bread and some gave them brown. Some gave them plum cake, and sent them out of town 10JAJ Jack and Jill went up hill to fetch pail of water. Jack fell down, broke his crown Jill came tumbling after. When up Jack got and off did trot as fast as he could caper, to old Dame Dob who patched his nob with vinegar and brown paper. ???? (the words "crown" and "brown" but it's used in a different context)

p=28BBBBaa baa black sheep0 share ~ ¼*6 2 pwds

28BBB Baa baa black sheep

p=46TTPTom tom piper's son2 share ~ ¼*6 2 pwds

46TTP Tom Tom the piper's son, stole a pig and away he run. The pig was eat and Tom was beat and Tom ran crying down the street 04LMM Little Miss Muffet sat on a tuffet, eating of curds and whey. There came a big spider and sat down beside her and frightened Miss Muffet away30HDD Hey diddle diddle! The cat and the fiddle. The cow jumped over the moon. The little dog laughed to see such sport, and the dish ran away with the spoon (all share "away". 2 shre "eat" "run")

p=41OKCOld King Cole0 share ~ ¼*5 2 pwds

41OKC Old King Cole

p=14ASOAll seas were one sea6 share ~ ¼*4 1 pwds

14ASO If all the seas were one sea, what a great sea that would be! And if all the trees were one tree, what a great tree that would be! And if all the axes were one axe, what a great axe that would be! And if all the men were one man what a great man he would be! And if the great man took the great axe and cut down the great tree and let it fall into the great sea, what a splish splash that would be01TBM Three blind mice! See how they run! They all ran after the farmer's wife, who cut off their tails with a carving knife. Did you ever see such a thing in your life as three blind mice 05HDS Humpty Dumpty11OMM One misty moisty morning when cloudy was weather, I chanced to meet a old man clothed all in leather. He began to compliment and I began to grin. How do you do And how do you do? And how do you do again17FEC Here sits the Lord Mayor. Here sit his two men. Here sits the cock. Here sits the hen. Here sit the little chickens. Here they run in. Chin chopper, chin chopper, chin chopper, chin32JGF Jack come give me your fiddle, if ever you mean to thrive. No I will not give my fiddle to any man alive. If I should give my fiddle they will think that I've gone mad. For many a joyous day my fiddle and I 'e had36LTT Little Tommy Tittlemouse lived in a little house. He caught fishes in other mens ditches weak cuting off theme???

p=29LFWLil Fred went to bed4 share ~ ¼*4 1 pwds

29LFW When little Fred went to bed, he always said his prayers. He kissed his mamma and then his papa, and straight away went upstairs 03DDD Diddle diddle dumpling, my son John. Went to bed with his breeches on, one stocking off, and one stocking on. Diddle diddle dumpling, my son John09HBD Hush baby. Daddy is near. Mamma is a lady and that is very clear 27CBC Cry baby cry. Put your finger in your eye and tell your mother it was not I47CCM Cocks crow in the morn to tell us to rise and he who lies late will never be wise. For early to bed and early to rise, is the way to be healthy and wealthy and wise Sleep theme?

p=37MBBgo round Mulberry bush3 share ~ ¼*4 1 pwds

37MBB Here we go round mulberry bush, mulberry bush, mulberry bush. Here we go round mulberry bush, on a cold and frosty morning. This is way we wash our hands, wash our hands, wash our hands. This is way we wash our hands, on a cold and frosty morning. This is way we wash our clothes, wash our clothes, wash our clothes. This is way we wash our clothes, on a cold and frosty morning. This is way we go to school, go to school, go to school. This is the way we go to school, on a cold and frosty morning. This is way we come out of school, come out of school, come out of school. This is the way we come out of school, on a cold and frosty morning02TLP This little pig went to market. This little pig stayed at home. This little pig had roast beef. This little pig had none. This little pig said Wee, wee. I can't find my way home16PPG Flour of England, fruit of Spain, met together in a shower of rain. Put in a bag tied round with a string. If you'll tell me this riddle, I will give you a ring33BFP Buttons, a farthing a pair! Come, who will buy them of me? They are round and sound and pretty and fit for girls of the city. Come, who will buy them of me? Buttons, a farthing a pair ?????

p=44HLHHart loves hi wood2 share ~ ¼*4 1 pwds

44LIH hart he loves the high wood. The hare she loves the hill. The Knight he loves his bright sword. The Lady loves her will15PCD Great A. little a. This is pancake day. Toss the ball high. Throw the ball low. Those that come after may sing heigh ho18HTP I had two pigeons bright and gay. They flew from me the other day. What was the reason they did go? I can not tell, for I do not know high/low theme???

p=12OWFOld woman f framce1 shares ~ ¼*3 1 pwds

08JSC Jack Sprat

12OWF There came an old woman from France who taught grown-up children to dance. But they were so stiff she sent them home in a sniff. This sprightly old woman from France25WOW There was an old woman, and what do you think? She lived upon nothing but victuals, and drink. Victuals and drink were the chief of her diet, and yet this old woman could never be quiet (old woman theme)

p=48OTBOne Two Buckle my shoe1 shares ~ ¼*3 1 pwds

48OTB One two, buckle my shoe. Three four, knock at the door. Five six, ick up sticks. Seven eight, lay them straight. Nine ten. a good fat hen. Eleven twelve, dig and delve. Thirteen fourteen, maids a courting. Fifteen sixteen, maids in the kitchen. Seventeen eighteen. maids a waiting. Nineteen twenty, my plate is empty23MTB How many miles is it to Babylon? Three score miles and ten. Can I get there by candle light? Yes, and back again. If your heels are nimble and light, you may get there by candle light numbers???

p=06SPPSee a pin. pick it up 1 shares ~ ¼*2 1 pwds

06SPP See a pin and pick it up. All the day you will have good luck. See a pin and let it lay. Bad luck you will have all the day49WLG There was a little girl who had a little curl right in the middle of her forehead. When she was good she was very very good and when she was bad she was horrid ????

22HLH I had a little husband

38YLS If I had as much money 42BBC Bat bat, come under my hat 43HHD Hark hark, the dogs do bark

Page 6: FAUST Analytics X(X 1..X n )  R n, |X|=N. If X is a classified training set with classes=C={C 1..C K }, X((X 1..X n,C}. d=(d 1..d n ), |d|=1. p=(p 1..p

Thanksgiving clustering (carve off clusters as one would carve a thanksgiving turkey)Let m be a furthest point from aAvgX (i.e., pt in X that maximizes SPTS, Sa=(X-a)o(X-a) )

If m is an outlier, carve {m} off from X. Repeat until m is a non-outlier.

Repeat until no new clusters carve off. If X (not completely carved up) use pkmeans on the remains with initial centroids,

CCS

Construct L=Ld where d is next in dSetCarve off L-gapped cluster(s). Pick centroid, cc=mean of slice, SL: A. If (PCC2=PCD1) declare L-1[PCC1,PCC2] to be a cluster and carve it off (mask it off) of X; else (PCC2=PCI2 ) SLL-1[(3PCC1+PCC2)/4 ,PCC2) and look for a Scc or Rd,cc gap. If one is found, declare it to be a cluster and carve it off of X;

Else add cc to the Cluster Centroid Set, CCS.B. Do A. from the high side of L also.

2.62 AvgDNN2.44 MedDNNDNNS (top)16.0 i397.34 i76.32 i10 6.24 s425.56 i95.38 i365.38 i354.89 i154.89 e134.58 s234.35 i204.24 e154.24 i14.12 i324.12 i194.12 i18

IRIS: Carve off outliers with DNN>=5: i39 i7 i10 s42 i9 i36 i35. GT=4

Le4 PCC=90% L Ct Gp 1 6 1 2 28 1 3 6 1 4 7 1 5 1 1 6 1 410 7 111 3 112 5 113 13 114 7 115 12 116 4 117 1 118 10 119 5 120 6 121 6 122 3 123 7 124 3 125 2

49s

49e 3i

1e 41i

e8 49 24 33 10e11 50 20 35 10e44 50 23 33 10e49 51 25 30 11

emn 49 20 30 10emx 70 34 51 18eav 59.36 27.7 42.6 13.26

taking Sp1=S(Av(last 4)= 50 23 32.75 10.25the 4 are gapped away from the other 47 by 3

Sp1 Ct Gp 1 1 2 3 2 3 6 1 1 7 2 1 8 2 1 9 3 211 2 112 6 113 2 114 1 115 3 116 1 117 4 118 3 119 1 120 2 121 7 122 2 123 1 124 2 226 3 834 1

Discovered there is a Versicolor plume led by {e8 e11 e44 e49} (I checked S centered at their average and found they are gapped away from all other by 3 and a scatter of other versicolor connect them to versicolor central).

e21 59 32 48 18

i20 60 22 50 15i30 72 30 58 16i34 63 28 51 15

Sp Ct Gp 2 1 1 3 1 1 4 3 1 5 7 1 6 4 1 7 3 1 8 2 1 9 4 110 3 111 4 112 4 113 2 114 1 115 2 116 3 117 2 118 2 624 3 125 1where p=Av(¾,1)=

64.4 30.8 50.2 16.2

Page 7: FAUST Analytics X(X 1..X n )  R n, |X|=N. If X is a classified training set with classes=C={C 1..C K }, X((X 1..X n,C}. d=(d 1..d n ), |d|=1. p=(p 1..p

Thanksgiving clustering-2Let m be a furthest point from aAvgX (i.e., pt in X that maximizes SPTS, Sa=(X-a)o(X-a) )If m is an outlier, carve {m} off from X. Repeat until m is a non-outlier.

Repeat until no new clusters carve off. Recurse using a different d on each slice where a PCC was skipped.If X (not completely carved up) use pkmeans starting with a pillar set.

Construct L=Ld where d is next in dSetIf a PCI is followed by another PCI, skip the second one. Same for a PCD. Therefore PCI1 will be followed by a PCD. A. declare each L-1[PCC,PCD] to be a cluster and carve it off (mask it off) of X;

B. Do A. from the high side of L also.

2.62 AvgDNN2.44 MedDNNDNNS (top)16.0 i397.34 i76.32 i10 6.24 s425.56 i95.38 i365.38 i354.89 i154.89 e134.58 s234.35 i204.24 e154.24 i14.12 i324.12 i194.12 i18

IRIS: Carve off outliers with DNN>=5: i39 i7 i10 s42 i9 i36 i35. GT=4 Le4 PCC=75% L Ct Gp 1 6 1 2 28 1 3 6 1 4 7 1 5 1 1 6 1 410 7 111 3 112 5 113 13 114 7 115 12 116 4 117 1 118 10 119 5 120 6 121 6 122 3 123 7 124 3 125 2

49s

C1 49e 3i

1e 41i

i20 60 22 50 15i34 63 28 51 15i30 72 30 58 16

e21 59 32 48 18

PCI1

PCD1PCD2PCI2

PCD3Le3 on C130 1 333 2 235 2 136 1 137 1 138 1 139 3 140 5 141 3 142 4 143 2 144 4 145 7 146 3 147 5 148 1 149 2 150 2 151 2 758 1i30 72 30 58 16

Le1 PCC=75% L Ct Gp43 1 144 3 246 4 147 2 148 5 149 5 150 10 151 9 152 4 153 1 154 6 155 7 156 6 157 8 158 7 159 3 160 5 161 5 162 4 163 9 164 7 165 5 166 2 167 7 168 3 169 4 170 1 171 1 172 2 173 1 174 1 276 1 177 3 279 1

38s 5e

C1 11s 44e 34i

PCI1

PCD1

PCD2

PCI2

Page 8: FAUST Analytics X(X 1..X n )  R n, |X|=N. If X is a classified training set with classes=C={C 1..C K }, X((X 1..X n,C}. d=(d 1..d n ), |d|=1. p=(p 1..p

We set OT=5 and carve off outliers: i7, i9, i10, i35, i36, i39, s42

FAUST LSR classifier on IRISFAUST LSR classifier on IRIS X=X(X X=X(X11,...,X,...,Xnn,C); oultiers are O=O(O,C); oultiers are O=O(O11,...,O,...,Onn,OC),OC)X initially empty; OT=Outlier_Threshold; X initially empty; OT=Outlier_Threshold; Carve off outliers from X into O (O:=OCarve off outliers from X into O (O:=O{x|Rank{x|Rankn-1n-1DNN(x,X)DNN(x,X)OT; O:=OOT; O:=O{x|D2NN(X,x)>OT )... {x|D2NN(X,x)>OT )... DkNN=distance to the kDkNN=distance to the kthth Nearest Neighbor, meaning, in the distribution, UDR(dis(x,X)) it is the k+1 Nearest Neighbor, meaning, in the distribution, UDR(dis(x,X)) it is the k+1 stst value, since 0 is always value, since 0 is always

the first value). In the future, we'll use SQDNN...SQDkNN, for the SPTS of squares of such distances.the first value). In the future, we'll use SQDNN...SQDkNN, for the SPTS of squares of such distances.Define class hulls: HDefine class hulls: Hkk{z{zRRnn | minF | minFd,p,k d,p,k F Fd,p,kd,p,k(z) (z) maxF maxFd,p,kd,p,k (d,p)(d,p)dpSetdpSet, F=L,S,R}. In the future, we'll call each pair of , F=L,S,R}. In the future, we'll call each pair of boundary pieces boundary pieces boundary plate pairsboundary plate pairs..If y is in just one hull, declare y to be in that class.If y is in just one hull, declare y to be in that class.Elseif y is in multiple hulls, MH, declare yElseif y is in multiple hulls, MH, declare y the C the Ckk that minimizes dis(y,C that minimizes dis(y,Ckk), k), kMH (note dis(y,CMH (note dis(y,Ckk)=dis(y,X)&C)=dis(y,X)&Ckk).).Else (y is in no hulls), Else (y is in no hulls),

if dis(y,O)if dis(y,O)min{dis(y,o)|omin{dis(y,o)|oO}=dis(y,oO}=dis(y,oii)<OT, declare y to be in the class of o)<OT, declare y to be in the class of o ii, else declare y to be other., else declare y to be other.1. This algorithm deals with singleton outliers but ignores doubleton and tripleton outliers etc.1. This algorithm deals with singleton outliers but ignores doubleton and tripleton outliers etc.2. In Elseif, rather than compute dis(y,C2. In Elseif, rather than compute dis(y,Ckk) (single link distance) one could use dis(y,meanC) (single link distance) one could use dis(y,meanCkk) for the pre-computed class ) for the pre-computed class

means.means.Ld d=e4 S 1 6 E 10 18I 15 25

Ld d=e1 S43 58 E 49 70I 56 79

Ld d=e3 S 10 19 E 30 51I 48 69

Ld d=e2 S 29 44E 20 34I 22 38

Ld d=e1+e2 S 51.6 71.5 E49 72.2I 58 82.7

Ld d=e1-e2 S7 15 E 16 28.3I 19.7 37

Ld d=e1+e3 S38 53 E 57 83I 74 104

Ld d=e1-e3 S 20 33 E 6.3 16.3I 2 12.8

Ld d=e1+e4 S31 43.2 E 41 59.4I 53 71

Ld d=e1-e4 S 29.6 39.6 E 26.8 39.6I24 42

Ld d=e2+e3 S28 41.8 E 38.8 56.6I 50.9 75

Ld d=e2-e3 S 9 21 E -3.6 -16.9I-31 -13.4

Ld d=e2+e4 S 21.9 34 E21 35.4I 26.1 43

Ld d=e2-e4 S 19 29E 4.9 12.8I2 12.8

Ld d=e3+e4 S8 16 E 28 47.4I 45.9 66

Ld d=e3-e4 S5 12E 13 24.8I 19 34

3 5

48.49766.972

60.62186.025

76.210105.07

Le1+e2+e3

42.72360.621

46.18866.972

56.00279.096

Le1+e2+e4

31.75444.455

53.11677.364

72.16897.572

Le1+e3+e4

24.24836.373

37.52756.580

50.22973.323

Le2+e3+e4

11.54721.361

32.33150.806

44.45569.282

Le1-e2+e3

6.928213.856

20.20731.754

27.13542.723

Le1-e2+e4

17.89727.712

13.27921.361

14.43323.671

Le1-e3+e4

9.237619.052

-5.1963.4641

-11.541.7320

Le2-e3+e4

34.06349.652

20.20731.754

18.47530.599

Le1+e2-e3

40.99156.002

34.64150.806

35.79556.002

Le1+e2-e4

30.59940.991

40.41459.467

49.07471.591

Le1+e3-e4

23.09431.754

25.40337.527

31.75447.920

Le2+e3-e4

-3.4644.0414

-12.12-1.154

-17.32-6.928

Le1-e2-e3

4.61810.39

5.19616.16

2.88616.74

Le1-e2-e4

15.58825.403

-4.0416.9282

-12.70-1.154

Le1-e3-e4

6.350815.011

-23.09-9.237

-38.10-21.36

Le2-e3-e4

42.5 60

57.5 82

73.5 102

e1+e2+e3+e4

41.5 56

47.567.5

5680.5

e1+e2+e3-e4

30.5 45

22.534.5

23.536.5

e1+e2-e3+e4

11 20

33.5 52

48.571.5

e1-e2+e3+e4

28.5 42

1020.5

5.516.5

e1+e2-e3-e4

917.5

22.5 37

28.548.5

e1-e2+e3-e4

-1.5 4.5

-3 5

-3 5

e1-e2-e3+e4

-5 2.5

-19.5 -6

-27.5-13.5

e1-e2-e3-e4 e21 59 32 48 18e28 67 30 50 17e34 60 27 51 16i20 60 22 50 15i24 63 27 49 18i27 62 28 48 18i28 61 30 49 18i34 63 28 51 15

I didn't check every pair of boundary plates but many of them. It appears that the 6 samples are so tight that we do not separate them with Linear plates along! So FAUST-L-TP-accuracy = 96%Looking at the numbers, I don't expect S or R plates to help much.

Page 9: FAUST Analytics X(X 1..X n )  R n, |X|=N. If X is a classified training set with classes=C={C 1..C K }, X((X 1..X n,C}. d=(d 1..d n ), |d|=1. p=(p 1..p

We set OT=5 and carve off outliers: i7, i9, i10, i35, i36, i39, s42

6

14

1019

3051

4869

d=e3

There is TP purity except in Le2[48,51] so restricting to that interval: ( i.e., X = L-1[48,51] )

5969

5669

d=e1

6

9

2532

2232

d=e2

6

13

1418

1524

d=e4

5

6

Count reductions are insufficient for e1 and e3, so use e4,

so restricting to Le4-1[15,18]:

61.570.7

57.964.3

e1+e2

3

5

75.679.1

77.780.6

e1+e3

2

4

restrict to Le1+e2-1[61,64.3]:

53.755.1

54.457.2

e1+e4

1

1

restrict to Le1+e3-1[77.7,79.1]:

79.079.0

80.880.8

e1+e2+e3

1

1

restrict Le1+e4-1[55.1,54.4]: No overlap! So 100% TP accuracy already.

This doesn't address FP rates, however.

A first cut description of the FAUST Linear Hull - Recursive algorithm:

At any node in the Hull Tree, create children by:At any node in the Hull Tree, create children by:Moving to next d,Moving to next d,dSetdSet in each non-pure region, L in each non-pure region, L-1-1[opt[optii,opt,optjj], until the sum of the counts decreases by at least ], until the sum of the counts decreases by at least

THRESHOLD, then restrict to that region and recurse, until purity is reach.THRESHOLD, then restrict to that region and recurse, until purity is reach.

FAUST LSR Hull classifier, recursiveFAUST LSR Hull classifier, recursive X=X(X X=X(X11,...,X,...,Xnn,C); oultiers are O=O(O,C); oultiers are O=O(O11,...,O,...,Onn,OC),OC)X initially X initially ; OT=Outlier_Thres; ; OT=Outlier_Thres; Carve off outliers from X into O (O:=OCarve off outliers from X into O (O:=O{x|Rank{x|Rankn-1n-1DNN(x,X)DNN(x,X)OT; O:=OOT; O:=O{x|D2NN(X,x)>OT )....{x|D2NN(X,x)>OT )....

X=X(XX=X(X11,...,X,...,Xnn,C); oultiers are O=O(O,C); oultiers are O=O(O11,...,O,...,Onn,OC),OC)X initially X initially ; OT=Outlier_Thres; ; OT=Outlier_Thres; Carve off outliers from X into O ( O:=OCarve off outliers from X into O ( O:=O{x|Rank{x|Rankn-1n-1DNN(x,X)DNN(x,X)OT; O:=OOT; O:=O{x|D2NN(X,x)>OT .... ){x|D2NN(X,x)>OT .... )

Page 10: FAUST Analytics X(X 1..X n )  R n, |X|=N. If X is a classified training set with classes=C={C 1..C K }, X((X 1..X n,C}. d=(d 1..d n ), |d|=1. p=(p 1..p

Thanksgiving clustering (carve off clusters as one would carve a thanksgiving turkey)Let m be a furthest point from aAvgX (i.e., pt in X that maximizes SPTS, Sa=(X-a)o(X-a) )

If m is an outlier, carve {m} off from X. Repeat until m is a non-outlier.

Repeat until no new clusters carve off. If X (not completely carved up) use pkmeans on the remains with initial centroids,

CCS

Construct L=Ld where d=am/|am|Carve off L-gapped cluster(s). Pick centroid, cc=mean of slice, SL: A. If (PCC2=PCD1) declare L-1[PCC1,PCC2] to be a cluster and carve it off (mask it off) of X; else (PCC2=PCI2 ) SLL-1[(3PCC1+PCC2)/4 ,PCC2) and look for a Scc or Rd,cc gap. If one is found, declare it to be a cluster and carve it off of X;

Else add cc to the Cluster Centroid Set, CCS.B. Do A. from the high side of L also.

One can also continue to carve using other vectors (e.g., m imj using pillars), before going to pkmeans.

2.62 AvgDNN2.44 MedDNNDNNS (top)16.0 i397.34 i76.32 i10 6.24 s425.56 i95.38 i365.38 i354.89 i154.89 e134.58 s234.35 i204.24 e154.24 i14.12 i324.12 i194.12 i18

IRIS: Carve off outliers i39 i7 i10 s42 i9 i36 i35 i15 e13 s23 i20 e15 i1 i32 i19 i18m = i23 = 77 28 67 20 is furthest point from AvgX = 57.89 3 0.70 36.18 11.38)Construct L=Ld where d=am/|am|= -0.12 -0.17 0.811 0.545 UDR[L(X)]gap 1 1 1 1 1 1 1 15 3 2 2 1 1 1 1 1 1 1 1 2 1 1count 1 1 6 10 14 10 2 4 1 3 2 3 3 5 6 2 6 7 5 1 4 3L+3_val 0 1 2 3 4 5 6 7 22 25 27 29 30 31 32 33 34 35 36 37 39 40

Carve off cluster C1=L-1[0,7] (s=48) No PCCs remain (except 1st and last) so add Avg(X) to CCS={(57.8 30.7 36.1 11.3)}

1 1 1 1 1 1 1 1 1 3 1 2 3 5 5 4 1 4 4 4 1 1 141 42 43 44 45 46 47 48 49 50 53 54

Construct L=Ld where d=am/|am| = 0.58 0.01 0.80 0.08 UDR(LX)gap 1 2 4 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1count 1 1 1 3 1 3 2 4 4 2 2 3 5 3 4 7 4 2 2 3 4 1value 0 1 3 7 8 10 11 12 13 14 15 17 18 19 20 21 22 23 24 25 26 27

1 1 1 1 1 1 1 2 2 5 3 2 3 1 1 1 2 1 228 29 30 31 32 33 34 35 37 39

UDR(C2)L CT GP17 1 118 4 119 4 120 4 121 2 122 3 123 2 124 3 226 4 127 4 128 2 129 2 130 1 131 2 132 1 133 1 no gap orPCCs

UDR(C3)L CT GP 0 2 2 2 1 1 3 1 1 4 2 1 5 2 1 6 1 410 1 111 2 213 1 114 1

APPENDIXAPPENDIX

Page 11: FAUST Analytics X(X 1..X n )  R n, |X|=N. If X is a classified training set with classes=C={C 1..C K }, X((X 1..X n,C}. d=(d 1..d n ), |d|=1. p=(p 1..p

We create hull boundaries for the d=ek=(0..1at k..0) standard basis and check for overlaps. Then the goal is to reduce False Positives.We set OT=5 and carve off outliers: i7, i9, i10, i35, i36, i39, s42

Start here

FAUST LSR classifier on IRISFAUST LSR classifier on IRIS X=X(X X=X(X11,...,X,...,Xnn,C); oultiers are O=O(O,C); oultiers are O=O(O11,...,O,...,Onn,OC),OC)X initially empty; OT=Outlier_Threshold; X initially empty; OT=Outlier_Threshold;

Carve off outliers from X into O (O:=OCarve off outliers from X into O (O:=O{x|Rank{x|Rankn-1n-1Dis(x,X)Dis(x,X)OT; O:=OOT; O:=O{x|Rank{x|Rankn-2n-2Dis(X,x)>OT );...;Dis(X,x)>OT );...;

Define class hulls: HDefine class hulls: Hkk{z{zRRnn | minF | minFd,p,k d,p,k F Fd,p,kd,p,k(z) (z) maxF maxFd,p,kd,p,k (d,p)(d,p)dpSetdpSet, F=L,S,R}, F=L,S,R}

If y is in just one hull, declare y to be in that class.If y is in just one hull, declare y to be in that class.Elseif y is in multiple hulls, MH, declare yElseif y is in multiple hulls, MH, declare y the C the Ckk that minimizes dis(y,C that minimizes dis(y,Ckk), k), kMH (note dis(y,CMH (note dis(y,Ckk)=dis(y,X)&C)=dis(y,X)&Ckk).).

Else (y is in no hulls), Else (y is in no hulls), if dis(y,O)if dis(y,O)min{dis(y,o)|omin{dis(y,o)|oO}=dis(y,oO}=dis(y,oii)<OT, declare y to be in the class of o)<OT, declare y to be in the class of o ii

else declare y to be other.else declare y to be other.

Notes:Notes:1. This algorithm deals with singleton outliers but ignores doubleton and tripleton outliers etc.1. This algorithm deals with singleton outliers but ignores doubleton and tripleton outliers etc.2. In Elseif, rather than compute dis(y,C2. In Elseif, rather than compute dis(y,Ckk) (single link distance) one could use dis(y,meanC) (single link distance) one could use dis(y,meanCkk) for the pre-computed class ) for the pre-computed class

means.means.

Ld d=e4=SW p=origin S 1 6 E 10 18I 15 25

49 15 12 3235

Ld d=e1=PL p=origin S43 58 E 49 70I 56 79 15 3 13 5 31 11 26 29

Ld d=e3=SL p=origin S 10 19 E 30 51I 48 69

49 6 14 30 44

Ld d=e2=PW p=origin S 29 44E 20 34I 22 38

1 15 2 26 16 6 28 23 2610

5 65 6 5 6e3 69 31 49 15e21 59 32 48 18e23 63 25 49 15e28 67 30 50 17e34 60 27 51 16i20 60 22 50 15i24 63 27 49 18i27 62 28 48 18i28 61 30 49 18i34 63 28 51 15i50 59 30 51 18

Ld d=e1+e2 p=origin E 61.5 70.7I57.9 64.4

3 5

Ld d=e1-e2 p=origin E 19 26.9I 20.5 25.5

1 5

Ld d=-e1+e2 p=origin E 17I 13.4 16.3

5 1

Note that these last 3 are applied recursively.We get 100% TP accuracy quickly with recursion (building hull trees).

This isn't what the algorithm says to do so we need to make this "LSR Hull Tree" algorithm precise. First, let's see how FAUST-L along as described does wrt TPs.

Page 12: FAUST Analytics X(X 1..X n )  R n, |X|=N. If X is a classified training set with classes=C={C 1..C K }, X((X 1..X n,C}. d=(d 1..d n ), |d|=1. p=(p 1..p

Finding the Pillars of X (So, e.g., the k can be chosen intelligently in k-means)

m1

m2

m3

m4

:Let m1 be a point in X that maximizes the SPTS, dis2(X,a)=(X-a)o(X-a) where aAvgXIf m1 is an outlier (Check using Sm1

or better using D2NN?), repeat until m1 is a non-

outlier.

In general, if non-outlier pillars m1..mi-1 have been chosen, choose mi from nop(X,{m1,...,mi-1}) (i.e., mi maximizes k=1..i-1dis2(X,mk) and is a non-outlier).

(Instead of using Smi or D2NN to eliminate outliers each round, one might get better pillars

by constructing Lmi-1mi:XR, eliminating outliers that show up on L, then picking the

pillar to be the mean (or vector of medians) of the slice L-1[(3PCC1+PCC2)/4 , PCC2) ? )

Let m2 nop(X,m1)A point, m1, found in this manner is called a non-outlier pillar of X wrt a, or nop(X,a) )

AvX1

A PCC Pillar pkmeans clusterer: Assign each (object, class) a ClassWeightReals (all CW init at 0) Classes numbered as they are revealed. As we are identifying pillar mj's, compute Lmj

= Xo(mj-mj-1) and1. For the next larger PCI in Ld(C), left-to-right.

1.1a If followed by PCD, CkAvg(Ld-1[PCI,PCD]) (or VoM). If Ck is center of a sphere-gap (or barrel gap), declare Classk and mask off.

1.1b If followed by another PCI, declare next Classk=the sphere-gapped set around Ck=Avg( Ld-1[ (3PCI1+PCI2)/4,PCI2) ). Mask it off.

2. For the next smaller PCD in Ld from the left side.2.1a If preceded by a PCI, declare next Classk= subset of Ld

-1[PCI, PCD] sphere-gapped around Ck=Avg. Mask off.2.1b If preceded by another PCD declare next Classk=subset of same, sphere-gapped around Ck=Avg(Ld

-1( [PCD2,(PCD1+PCD2)/4] ). Mask off

A potential advantage of the classifier:A potential advantage of the classifier:

FAUST FAUST Linear-Spherical-RadialLinear-Spherical-Radial ((LSRLSR))

E.g., in a linear step, if we not only use min and max but also PCIs and PCDs, potentially we could do the following on class=@:

@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @

@ @@ @@ @@ @@ @@ @@ @@ @@ @@ @

@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @

dminL = pci1L

maxL = pcd2L

pcd1L

pci2L

On each PCC interval (ill-defined but here [pci1L,pcd1L] (pcd1L,pci2L) [pci2L,pcd2L] Build hull segments on each interval and OR them?

Whereas the convex hull in orange (lots of false positives)

The parallel part lets us build a pair of L,S,R hull segments The parallel part lets us build a pair of L,S,R hull segments for every pTree computation (the more the merrier) for every pTree computation (the more the merrier)

Serial part allows possibility of better hull than ConvexHullSerial part allows possibility of better hull than ConvexHull

Page 13: FAUST Analytics X(X 1..X n )  R n, |X|=N. If X is a classified training set with classes=C={C 1..C K }, X((X 1..X n,C}. d=(d 1..d n ), |d|=1. p=(p 1..p

DNN or D2NN or D2NNS are powerful constructs 3.87 e103.60 e11 3 e124.89 e131.41 e144.24 e151.41 e16 2 e172.44 e182.64 e191.73 e20 3 e213.31 e223.60 e232.23 e24 2 e251.41 e263.16 e273.16 e28 2 e292 e402.64 e411.41 e421.41 e431.41 e441.73 e451.41 e461.41 e47 2 e483.87 e491.41 e504.24 i12.64 i23.87 i32.44 i4 3 i52.64 i67.34 i72.64 i85.56 i96.32 i102.23 i113.46 i121.73 i132.64 i144.89 i15 3 i161.41 i174.12 i184.12 i194.35 i202.23 i213.16 i222.64 i231.73 i24 3 i253.46 i261.73 i272.44 i28 1 i293.46 i302.64 i314.12 i32 1 i333.31 i345.38 i362.44 i371.41 i3816.0 i391.73 i402.44 i412.44 i422.64 i432.23 i442.44 i452.44 i462.44 i472.23 i482.44 i492.82 i50

DNN =1 s11.41 s21.41 s31.41 s41.41 s53.31 s62.23 s7 1 s81.41 s91.73 s10 1 s112.23 s121.41 s132.44 s144.12 s153.60 s163.46 s17 1 s183.31 s191.41 s202.82 s211.41 s224.58 s23 2 s24 3 s25 2 s26 2 s271.41 s281.41 s291.41 s301.41 s312.82 s323.46 s333.46 s341.73 s352.23 s36 3 s371.73 s381.41 s39 1 s401.41 s416.24 s42 2 s432.23 s443.60 s451.41 s461.41 s471.41 s48 1 s491.41 s502.64 e12.64 e22.64 e3 2 e42.44 e5 3 e62.64 e71.41 e82.44 e9

DNNS =DistancetoNearestNeighborSorted

16.0 i397.34 i76.32 i106.24 s425.56 i95.38 i365.38 i354.89 i154.89 e134.58 s234.35 i204.24 e154.24 i14.12 i324.12 i194.12 i184.12 s153.87 e493.87 e103.87 i33.74 e363.60 s163.60 s453.60 e113.60 e233.46 e303.46 s333.46 s343.46 i123.46 i263.46 i303.46 s173.31 s193.31 i343.31 e223.31 s63.31 e343.16 e273.16 i223.16 e28 3 e6 3 s37 3 i5 3 e21 3 i16 3 s25 3 e12 3 i252.82 e372.82 s322.82 i502.82 s212.64 e412.64 i312.64 i432.64 e22.64 i22.64 i82.64 e382.64 i232.64 e32.64 i142.64 e72.64 e192.64 i62.64 e12.44 i372.44 e52.44 i42.44 i45

2.44 i282.44 i422.44 i492.44 i472.44 i412.44 i462.44 e182.44 e92.44 s142.23 i212.23 i482.23 i112.23 s72.23 e242.23 i442.23 s122.23 s362.23 s44 2 s24 2 e35 2 e29 2 s43 2 s27 2 e17 2 e48 2 e40 2 s26 2 e4 2 e251.73 i131.73 i271.73 i241.73 s381.73 e451.73 i401.73 e391.73 e201.73 s351.73 s101.41 e261.41 s411.41 e501.41 s471.41 s41.41 e441.41 s461.41 e421.41 e471.41 e331.41 e461.41 e311.41 s51.41 e161.41 s391.41 e81.41 s311.41 s31.41 s301.41 s131.41 s291.41 i171.41 i381.41 s21.41 s281.41 s501.41 s221.41 e431.41 s201.41 e141.41 e321.41 s481.41 s9 1 s40 1 i33 1 i29 1 s18 1 s11 1 s8 1 s49 1 s1

2.62 AvgDNN2.44 MedianDNNDNNS (top portion) 16.0 i39 GAP7.34 i7 8.686.32 i10 1.026.24 s42 0.075.56 i9 0.675.38 i36 0.185.38 i35 04.89 i15 0.484.89 e13 04.58 s23 0.314.35 i20 0.224.24 e15 0.114.24 i1 04.12 i32 0.114.12 i19 04.12 i18 0

outlierslider

REMEMBER!

1. The pTree Rule: Never throw a pTree away!

2. In the process of creating D2NN we create, for each xX, the mask pTree of all nearest neighbors of x (all those points that tie as being nearest to x), which BTW, in high dimension is likely to be a large number. This is useful information (reason #1: no ties, maybe that one point is also an outlier? or?)

In RANKk(x) pTree code, you may be able to see how we can compute all

RANKk(x)s (all k) in parallel with efficiency (sharing sub-procedures).

If not, we can (serially) mask off the ties and apply RANKn-1 again to get RANKn-2 ( those points that are next nearest neighbors to x. I believe this has value too, e.g., if DNN(x)=1 and y is the only point in that mask of points distance=1 from x, and DNN(y)=1 and x is the only point distance=1 from y, then if RANKn-2(x)>outlier threshold+1, {x,y} is a doubleton outlier.

With a little more work, tripleton and quadrupleton outliers can be identified, etc. At some point we have to stop and call the set a "small cluster" rather than an outlier polyton.

If we construct tables, RANKk(x, Rkn-1Dis(x), PtrToRkn-1Mask(x),...,Rkn-kDis(x), PtrToRkn-kMask(x) ), we have a lot of global information about our dataset. It is a version of the "neighbor" network that is studied so actively for social networks, etc. (i.e., Rankn-1Mask(X) is a bit map of the edges emanating from x in the "nearest neighbors" network.

Task: Construct a theory of large networks (or engineering handbook) using pTrees to identify edges (nearest nbrs). Rkn-2Mask(x) gives all pts "straight line distance" second closest to x, which we don't get in standard network theory. If y is 2 hops from x, we know y is a nearest nbr of a nearest nbr of x . We don't know how far away it is.

Next we suggest that the Rkk calculations may be more efficiently done using UDR in one fell swoop. Why?1. the UDR provides all of them. 2. UDR takes care of the duplicate problem (e.g., if looking for Nearest Nbr, it may not be Rankn-1 due to duplicates). 3. In the process of building UDR we get the Distribution Tree, which has lots of useful approximation information.We note that we still have to build DNN, D2NN, D2NNS one row at a time.

Page 14: FAUST Analytics X(X 1..X n )  R n, |X|=N. If X is a classified training set with classes=C={C 1..C K }, X((X 1..X n,C}. d=(d 1..d n ), |d|=1. p=(p 1..p

X P4,3 P4,2 P4,1 P4,0

1

0

0

0

1

1

0

0

1

1

1

0

0

0

1

0

1

1

1

0

1

0

1

0

1

1

1

1

{0}

{1}

{0}

{1}

(n=3) c=Count(P&P4,3)= 3 < 6

p=6–3=3; P=P&P’4,3 masks off highest 3 (val 8)

(n=2) c=Count(P&P4,2)= 3 >= 3

P=P&P4,2 masks off lowest 1 (val 4)

(n=1) c=Count(P&P4,1)=2 < 3

p=3-2=1; P=P&P'4,1 masks off highest 2 (val8-2=6 )

(n=0) c=Count(P&P4,0 )=1 >= 1

P=P&P4,0

10

5

6

7

11

9

3

{0} {1} {0} {1}

RankKval=0; p=K; c=0; P=Pure1; /*Note: n=bitwidth-1. The RankK Points are returned as the resulting pTree, P*/

For i=n to 0 {c=Count(P&Pi); If (c>=p) {RankVal=RankVal+2i; P=P&Pi }; else {p=p-c; P=P&P'i }; return RankKval, P; /* Above K=7-1=6 (looking for the Rank6 or 6th highest vaue (which is also the 2nd lowest value) */

5 P=MapRankKPts= ListRankKPts={2}

0100000

23 * + 22 * + 21 * + 20 * =

RankKval=

Computing the Rank values and Rank pTrees, one at a time, using our pTree code.

Page 15: FAUST Analytics X(X 1..X n )  R n, |X|=N. If X is a classified training set with classes=C={C 1..C K }, X((X 1..X n,C}. d=(d 1..d n ), |d|=1. p=(p 1..p

(n=1) c=Count(P&P4,1)=2 >= 1

P=P&P 4,1 masks off 0s (none)

(n=2) c=Count(P&P4,2)= 2 < 3

p=3-2=1 P=P&P'4,2 masks off 1s

X P4,3 P4,2 P4,1 P4,0

1

0

0

0

1

1

0

0

0

1

1

0

0

0

1

1

1

1

1

0

1

0

1

0

1

1

1

1

{0}

{0}

{1}

{1}

(n=3) c=Count(P&P4,3)= 3 < 6

p=6–3=3; P=P&P’4,3 masks off 1s

(n=0) c=Count(P&P4,0 )=2 >= 1

P=P&P4,0

10

3

6

7

11

9

3

(n=1) c=Count(P&P4,1)=2 >= 2

P=P&P 4,1 masks off 0s (none)

(n=2) c=Count(P&P4,2)= 2 >= 2

P=P&P4,2 masks off 0s

X P4,3 P4,2 P4,1 P4,0

1

0

0

0

1

1

0

0

0

1

1

0

0

0

1

1

1

1

1

0

1

0

1

1

1

1

1

1

{0}

{1}

{1}

{1}

(n=3) c=Count(P&P4,3)= 3 < 5

p=5–3=2; P=P&P’4,3 masks off 1s

(n=0) c=Count(P&P4,0 )=2 >= 2

P=P&P4,0

10

3

7

7

11

9

3

What if there ar duplicates?

Page 16: FAUST Analytics X(X 1..X n )  R n, |X|=N. If X is a classified training set with classes=C={C 1..C K }, X((X 1..X n,C}. d=(d 1..d n ), |d|=1. p=(p 1..p

(n=1) c=Count(P&P4,1)=2 >= 1

P=P&P 4,1 masks off 0s (none)

(n=2) c=Count(P&P4,2)= 2 >= 1

P=P&P4,2 masks off 0s

X P4,3 P4,2 P4,1 P4,0

1

0

0

0

1

1

0

0

0

1

1

0

0

0

1

1

1

1

1

0

1

0

1

1

1

1

1

1

{0}

{1}

{1}

{1}

(n=3) c=Count(P&P4,3)= 3 < 4

p=4–3=1; P=P&P’4,3 masks off 1s

(n=0) c=Count(P&P4,0 )=2 >= 1

P=P&P4,0

10

3

7

7

11

9

3

(n=1) c=Count(P&P4,1)=2 < 3

p=3-2=1 P=P&P' 4,1 masks off 1s

(n=2) c=Count(P&P4,2)= 0 < 3

p-3-0=3 P=P&P'4,2 masks off 1s (none )

X P4,3 P4,2 P4,1 P4,0

1

0

0

0

1

1

0

0

0

1

1

0

0

0

1

1

1

1

1

0

1

0

1

1

1

1

1

1

{1}

{0}

{0}

{1}

(n=3) c=Count(P&P4,3)= 3 >= 3

P=P&P4,3 masks off 0s

(n=0) c=Count(P&P4,0 )=1 >= 1

P=P&P4,0

10

3

7

7

11

9

3

Page 17: FAUST Analytics X(X 1..X n )  R n, |X|=N. If X is a classified training set with classes=C={C 1..C K }, X((X 1..X n,C}. d=(d 1..d n ), |d|=1. p=(p 1..p

(n=1) c=Count(P&P4,1)=2 >=2

P=P&P 4,1 masks off 0s

(n=2) c=Count(P&P4,2)= 0 < 2

p-2-0=2 P=P&P'4,2 masks off 1s (none )

X P4,3 P4,2 P4,1 P4,0

1

0

0

0

1

1

0

0

0

1

1

0

0

0

1

1

1

1

1

0

1

0

1

1

1

1

1

1

{1}

{0}

{1}

{0}

(n=3) c=Count(P&P4,3)= 3 >= 2

P=P&P4,3 masks off 0s

(n=0) c=Count(P&P4,0 )=1 < 2

P=P&P4,0 mask off 1s

10

3

7

7

11

9

3

(n=1) c=Count(P&P4,1)=2 >=1

P=P&P 4,1 masks off 0s

(n=2) c=Count(P&P4,2)= 0 < 1

p-1-0=1 P=P&P'4,2 masks off 1s (none )

X P4,3 P4,2 P4,1 P4,0

1

0

0

0

1

1

0

0

0

1

1

0

0

0

1

1

1

1

1

0

1

0

1

1

1

1

1

1

{1}

{0}

{1}

{1}

(n=3) c=Count(P&P4,3)= 3 >= 1

P=P&P4,3 masks off 0s

(n=0) c=Count(P&P4,0 )=1 <= 1

P=P&P'4,0 mask off 0s

10

3

7

7

11

9

3

So what we get is really the same output as the UDR but it seems more expensive to calculate.Unless all we need is Rank(n-1), but then we won't know for sure that there are no duplicates. We have to check Rank(n-2), Rank(n-3), ... until we see a non-duplicate.

Page 18: FAUST Analytics X(X 1..X n )  R n, |X|=N. If X is a classified training set with classes=C={C 1..C K }, X((X 1..X n,C}. d=(d 1..d n ), |d|=1. p=(p 1..p

p6' 1 1 1 1 1 0 0 0 0 0 0 0 0 0 05/64 [0,64)

p6' 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0

p6' 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0

p6' 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0

p6' 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0

p6' 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0

p6' 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0

p6' 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0

p6 0 0 0 0 0 1 1 1 1 1 1 1 1 1 110/64 [64,128)

p6 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1

p6 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1

p6 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1

p6 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1

p6 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1

p6 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1

p6 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1

Y y1 y2y1 1 1y2 3 1y3 2 2y4 3 3y5 6 2y6 9 3y7 15 1y8 14 2y9 15 3ya 13 4pb 10 9yc 11 10yd 9 11ye 11 11yf 7 8

yofM 11 27 23 34 53 80118114125114110121109125 83

p6 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1

p5 0 0 0 1 1 0 1 1 1 1 1 1 1 1 0

p4 0 1 1 0 1 1 1 1 1 1 0 1 0 1 1

p3 1 1 0 0 0 0 0 0 1 0 1 1 1 1 0

p2 0 0 1 0 1 0 1 0 1 0 1 0 1 1 0

p1 1 1 1 1 0 0 1 1 0 1 1 0 0 0 1

p0 1 1 1 0 1 0 0 0 1 0 0 1 1 1 1

p6' 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0

p5' 1 1 1 0 0 1 0 0 0 0 0 0 0 0 1

p4' 1 0 0 1 0 0 0 0 0 0 1 0 1 0 0

p3' 0 0 1 1 1 1 1 1 0 1 0 0 0 0 1

p2' 1 1 0 1 0 1 0 1 0 1 0 1 0 0 1

p1' 0 0 0 0 1 1 0 0 1 0 0 1 1 1 0

p0' 0 0 0 1 0 1 1 1 0 1 1 0 0 0 0

p3' 0 0 1 1 1 1 1 1 0 1 0 0 0 0 1

0[0,8)

p3 1 1 0 0 0 0 0 0 1 0 1 1 1 1 0

1[8,16)

p3' 0 0 1 1 1 1 1 1 0 1 0 0 0 0 1

1[16,24)

p3 1 1 0 0 0 0 0 0 1 0 1 1 1 1 0

1[24,32)

p3' 0 0 1 1 1 1 1 1 0 1 0 0 0 0 1

1[32,40)

p3 1 1 0 0 0 0 0 0 1 0 1 1 1 1 0

0[40,48)

p3' 0 0 1 1 1 1 1 1 0 1 0 0 0 0 1

1[48,56)

p3 1 1 0 0 0 0 0 0 1 0 1 1 1 1 0

0[56,64)

p3' 0 0 1 1 1 1 1 1 0 1 0 0 0 0 1

p3 1 1 0 0 0 0 0 0 1 0 1 1 1 1 0

p3' 0 0 1 1 1 1 1 1 0 1 0 0 0 0 1

2[80,88)

p3 1 1 0 0 0 0 0 0 1 0 1 1 1 1 0

0[88,96)

p3' 0 0 1 1 1 1 1 1 0 1 0 0 0 0 1

0[96,104)

p3 1 1 0 0 0 0 0 0 1 0 1 1 1 1 0

2[194,112)

p3' 0 0 1 1 1 1 1 1 0 1 0 0 0 0 1

3[112,120)

p3 1 1 0 0 0 0 0 0 1 0 1 1 1 1 0

3[120,128)

p4' 1 0 0 1 0 0 0 0 0 0 1 0 1 0 0

1/16[0,16)

p4' 1 0 0 1 0 0 0 0 0 0 1 0 1 0 0

p4 0 1 1 0 1 1 1 1 1 1 0 1 0 1 1

2/16[16,32)

p4 0 1 1 0 1 1 1 1 1 1 0 1 0 1 1

p4' 1 0 0 1 0 0 0 0 0 0 1 0 1 0 0

1[32,48)

p4' 1 0 0 1 0 0 0 0 0 0 1 0 1 0 0

p4 0 1 1 0 1 1 1 1 1 1 0 1 0 1 1

1[48,64)

p4 0 1 1 0 1 1 1 1 1 1 0 1 0 1 1

p4' 1 0 0 1 0 0 0 0 0 0 1 0 1 0 0

0[64,80)

p4' 1 0 0 1 0 0 0 0 0 0 1 0 1 0 0

p4 0 1 1 0 1 1 1 1 1 1 0 1 0 1 1

2[80,96)

p4 0 1 1 0 1 1 1 1 1 1 0 1 0 1 1

p4' 1 0 0 1 0 0 0 0 0 0 1 0 1 0 0

2[96,112)

p4' 1 0 0 1 0 0 0 0 0 0 1 0 1 0 0

p4 0 1 1 0 1 1 1 1 1 1 0 1 0 1 1

6[112,128)

p4 0 1 1 0 1 1 1 1 1 1 0 1 0 1 1

p5' 1 1 1 0 0 1 0 0 0 0 0 0 0 0 1

3/32[0,32)

p5' 1 1 1 0 0 1 0 0 0 0 0 0 0 0 1

p5' 1 1 1 0 0 1 0 0 0 0 0 0 0 0 1

p5' 1 1 1 0 0 1 0 0 0 0 0 0 0 0 1

p5' 1 1 1 0 0 1 0 0 0 0 0 0 0 0 1

2/32[64,96)

p5' 1 1 1 0 0 1 0 0 0 0 0 0 0 0 1

p5' 1 1 1 0 0 1 0 0 0 0 0 0 0 0 1

p5' 1 1 1 0 0 1 0 0 0 0 0 0 0 0 1

p5 0 0 0 1 1 0 1 1 1 1 1 1 1 1 0

2/32[32,64)

p5 0 0 0 1 1 0 1 1 1 1 1 1 1 1 0

p5 0 0 0 1 1 0 1 1 1 1 1 1 1 1 0

p5 0 0 0 1 1 0 1 1 1 1 1 1 1 1 0

p5 0 0 0 1 1 0 1 1 1 1 1 1 1 1 0

¼[96,128)

p5 0 0 0 1 1 0 1 1 1 1 1 1 1 1 0

p5 0 0 0 1 1 0 1 1 1 1 1 1 1 1 0

p5 0 0 0 1 1 0 1 1 1 1 1 1 1 1 0

f=

UDR Univariate Distribution Revealer (on Spaeth:)

Pre-compute and enter into the ToC, all DT(YPre-compute and enter into the ToC, all DT(Ykk) plus those for selected Linear Functionals (e.g., d=main diagonals, ModeVector .) plus those for selected Linear Functionals (e.g., d=main diagonals, ModeVector .Suggestion: In our pTree-base, every pTree (basic, mask,...) should be referenced in ToC( pTree, pTreeLocationPointer, pTreeOneCount ).and these Suggestion: In our pTree-base, every pTree (basic, mask,...) should be referenced in ToC( pTree, pTreeLocationPointer, pTreeOneCount ).and these OneCts should be repeated everywhere (e.g., in every DT). The reason is that these OneCts help us in selecting the pertinent pTrees to access - and in OneCts should be repeated everywhere (e.g., in every DT). The reason is that these OneCts help us in selecting the pertinent pTrees to access - and in

fact are often all we need to know about the pTree to get the answers we are after.).fact are often all we need to know about the pTree to get the answers we are after.).

0 0 1 1 1 1 0 1 01 1 1 1 0 1 0 00 0 0 2 0 0 2 3 32 0 0 2 3 3

1 2 1 1 0 2 2 6 1 2 1 1 0 2 2 6

3 2 2 8 3 2 2 8

5 105 10

depthDT(S)depthDT(S)bb≡≡BitWidth(S) h=depth of a node k=node offsetBitWidth(S) h=depth of a node k=node offsetNodeNodeh,kh,k has a ptr to pTree{x has a ptr to pTree{xS | F(x)S | F(x)[k2[k2b-h+1b-h+1, (k+1)2, (k+1)2b-h+1b-h+1)} and )} and

its 1countits 1count

applied to S, a column of numbers in bistlice format (an SpTS), will applied to S, a column of numbers in bistlice format (an SpTS), will produce the produce the DistributionTree of S DT(S)DistributionTree of S DT(S)

1515 depth=h=0depth=h=0

depth=h=1depth=h=1

nodenode2,32,3

[96.128)[96.128)

Page 19: FAUST Analytics X(X 1..X n )  R n, |X|=N. If X is a classified training set with classes=C={C 1..C K }, X((X 1..X n,C}. d=(d 1..d n ), |d|=1. p=(p 1..p

FAUST Oblique LSR Classification on IRIS150FAUST Oblique LSR Classification on IRIS150

Ld d=0001 p=origin S 1 6 E 10 18.1I 14 26

50 22 16 3428

Ld d=1000 p=origin S43 59 E 49 71I 49 80 16 26 32 34 24 6 12

Ld d=0010 p=origin S 10 19 E 30 51.1I 18 69

48 50 15 2 1 34 0

Ld d=0100 p=origin S 23 44 E 20 34.1I 22 38.1

1 15 3 2 1 6 29 47 46

We create hull boundaries for the d=ek standard basis vectors and check for overlaps. Then the only goals is to reduce False Positives.

i2 58 27 51 19i7 49 25 45 17i11 65 32 51 20i14 57 25 50 20i15 58 28 51 24i20 60 22 50 15i22 56 28 49 20i24 63 27 49 18i27 62 28 48 18i28 61 30 49 18i34 63 28 51 15i42 69 31 51 23i43 58 27 51 19i47 63 25 50 19i50 59 30 51 18

6 of the 16 occur.

i4 63 29 56 18i7 49 25 45 17i8 73 29 63 18i9 67 25 58 18i17 65 30 55 18i20 60 22 50 15i24 63 27 49 18i26 72 32 60 18i27 62 28 48 18i28 61 30 49 18i30 72 30 58 16i34 63 28 51 15i35 61 26 56 14i38 64 31 55 18i39 60 30 18 18

What does this tell us about FAUST LSR on IRIS?The LSR hulls are 96% True Positive accurate on IRIS using only the pre-computed min and max of each given column, PL, PW, SL, SW as cut points (no further pTree calculations beyond the attribute min and max pre-calculations). That's pretty good! Note i7 and i20 are prominent outlies (see IRIS_DNNS on slide 4) so if we had eliminated outliers first using DNNS, the TPaccuracy is 97.3%

Next we address False Positives. How does one measure FP accuracy? One way would be to measure the area of Hull-Class for each Class. That would give us a FP accuracy for each Class. The sum of those would give us an FP accuracy for the model. These areas are difficult numbers to calculate however, for many reasons.

First, what do we mean by Class? The mathematical convex hull of the Class? How do we calculate area?

An easier way would be to measure up a large set of IRIS samples, none of which are Setosa, Versicolor or Virginica. The problem with this approach is that other varieties may well share some or all measurements with S, E and I, so we would not expect to be able to separate them into an "other" class using the data we have.

So a vector space based FP assessment might be preferable. Since area of the symmetric difference is hard to calculate, how about measuring the maximum distance from any hull corner to it's closest class point (or the sum of those distances?)? Easier, use max distance to the main corners only. That's easy enough for strictly linear hulls but what about hulls that have S and R components? Since the above is a linear hull, we use it. The main corners are:

i1 63 33 60 25i7 49 25 45 17i14 57 25 50 20i15 58 28 51 24i22 56 28 49 20i43 58 27 51 19

1 of the 6 occurs, i7.

i4 63 29 56 18i9 67 25 58 18i17 65 30 55 18i20 60 22 50 15i24 63 27 49 18i27 62 28 48 18i28 61 30 49 18i34 63 28 51 15i35 61 26 56 14i38 64 31 55 18i39 60 30 18 18i50 59 30 51 18

5 of the 6 occur.

6 of the 6 occur.

MIN VECTOR MAX VECTOR MnVecDis MxVecDiss 43 23 10 1 59 44 19 6 4.1 4.9e 49 20 30 10 71 34 51 18 4.4 5.1i 49 22 18 14 80 38 69 26 14.2 5.4

The sum of the distances to class corner vectors is 38.1, average is 6.4.

Page 20: FAUST Analytics X(X 1..X n )  R n, |X|=N. If X is a classified training set with classes=C={C 1..C K }, X((X 1..X n,C}. d=(d 1..d n ), |d|=1. p=(p 1..p

FAUST LSR Classification on IRIS150, a new versionFAUST LSR Classification on IRIS150, a new version

p=AvgS

50 34 15 2

Ld d=1000 p=originMinL, MaxL for classes S,E,IS43 58 E 49 70I 49 79 16 26 32 34 24 6 12

p=AvE 270792 26 51558 2568

099 393 1096 1217 1826

if 43 L1000(y)=y1 < 49 {y isa S }elseif 49 L1000(y)=y1 58 {y isa SEI}1elseif 59 < L1000(y)=y1 70 {y isa EI}2 elseif 70 < L1000(y)=y1 79 {y isa I}else {y isa O }This is the {y isa SEI)1 recursive step pseudo code:if 0 R1000,AvgS(y) 99 {y isa S }elseif 99 < R1000,AvgS(y) < 393 {y isa O }elseif 393 < R1000,AvgS(y) 1096 {y isa E }elseif 1096 < R1000,AvgS(y) < 1217 {y isa O }elseif 1217 R1000,AvgS(y) 1826 {y isa I}else {y isa O }

This is the {y isa EI)2 recursive step pseudo code:if 270 R1000,AvgS(y) < 792 {y isa I}elseif 792 R1000,AvgS(y) 1558 {y isa EI}3elseif 1558 R1000,AvgS(y) 2568 {y isa I}else {y isa O}

Ld d=avgI-avgE p=origin E 5.74 15.9I 13.6 16.6

24,0 2,4 0,1

Ld d=avgI-avgE p=origin E 1.78I 6.26

1,0 0,1

p=AvgE22.69 31.021 135.51 54.32

This is the {y isa EI}3 recursive step:if 5.7 LAvE-AvI(y) < 13.6 {y isa E }elseif 13.6 LAvE-AvI(y) 15.9 {y isa EI}4elseif 15.9 < LAvE-AvI(y) 16.6 {y isa I} else {y isa O }

This is the {y isa EI)4 recursive step pseudo code:if 22.69 RAvE-AvI,AvgE(y)<31.02 {y isa E }elseif 31.02 RAvE-AvI,AvgE(y)35.51 {y isa EI}5elseif 35.51 RAvE-AvI,AvgE(y)54.32 {y isa I}else {y isa O }This is the {y isa EI}5 recursive step:if 1.78=LAvgE-AvgI,origin(y) {y isa E }elseif 6.26=LAvgE-AvgI,origin(y) {y isa I} else {y isa O }

1. If you're classifying individual unclassified samples one at a time, applying these formulas gives 100% accuracy in terms of true positives (assuming the given training set fully characterizes the classes). We have used just d=1000 so many more edges could be placed on these hulls to eliminate false positives.

2. If there is a whole table of unclassified samples to be classified (e.g., millions or billions) then it might be time-cost effective to convert that table to a pTreeSet and then convert these inequalities to pTree inequalities (EIN Ring technology) to accomplish the classification as one batch process (no loop required).

L1000,origin(y)[43,49)[49,58](58,70](70,79]else OTHERyS yI

R1000,AvgE(y)[0,99][399,1096][1217,1826]else OTHER

yS yE yI

R1000,AvgE(y)[270,792)[792,1558](1558,2568]else OTHER yEyI

LAvEAvI,origin(y)[5.7,13.6)[13.6,15.9](15.9,16.6]else OTHERyE yI

LAvEAvI,origin(y)=1.78 yE 6.26 yI else OTHER

RAvEAvI,AvgE(y)[22.7,31)[31,35.52](35.52,54.32]else OTHERyE

yI

LSR Decision Tree algorithm is, Build decision tree for each ek (also for some ek combos?). Build branches to 100% TP (no class duplication exiting). Then y isa C iff y isa C in every tree else y isa Other. node build a branch for each pair of classes in each interval.

Page 21: FAUST Analytics X(X 1..X n )  R n, |X|=N. If X is a classified training set with classes=C={C 1..C K }, X((X 1..X n,C}. d=(d 1..d n ), |d|=1. p=(p 1..p

FAUST LSR DT Classification on IRIS150, d= 0100FAUST LSR DT Classification on IRIS150, d= 0100L 0100.Origin(y)S 23 44 E20 34I 22 38

1

21

294746

15 3

6

Instead of calculating R's wrt a freshly calculated Avg in each slice, wecalculate R0100,AvgS R0100,AvgE R0100,AvgI once then & w mask, P20L0100,0rigin<22

and later & with masks, P22L0100,0rigin<23 , P23L0100,0rigin34 , P34<L0100,0rigin38

and P38<L0100,0rigin44

On 22L0100,O<23 R0100,AvgE

15 18 58 59

On 23L0100,O34R0100,AvgS

0 66 310 1750 352 4104 46,12

On 23L0100,O34R0100,AvgE

793 1417 3 234 58 1103

On 23L0100,O34 R0100,AvgI

1892 1824 36 929 23 1403

On 34<L0100,O38 R0100,AvgS

0 55 3139 3849

On 34<L0100,O38 R0100,AvgI

1776 2746 96 273

On 23L0100,O34 &352R0100,AvgS1750LAvgEAvgI,Origin

53 79 50 77 44,11

On 23L0100,O34 &352R0100,AvgS1750 &53LAvgEAvgI,Origin77RAvgEAvgI,AvgE

0 75.2 2.8 134 40,10

On 23L0100,O34 &352R0100,AvgS1750 &53LAvgEAvgI,Origin77RAvgEAvgI,AvgI

0 75.2 2.8 134 40,10

On 23L0100,O34 &352R0100,AvgS1750 &53LAvgEAvgI,Origin77 &2.8RAvgEAvgI,AvgE75.2LAvgEAvgI,Origin

53.7 76.2 74.1 77 7,7

On 23L0100,O34 &352R0100,AvgS1750 &53LAvgEAvgI,Origin77 &2.8RAvgEAvgI,AvgE75.2 &74.1LAvgEAvgI,Origin76.2RAvgEAvgI,AvgE

15.4 75.2 2 57.3 6,4

It takes 7 recursive rounds to separate E and I (build this branch to 100% TP) in this branch of the e2=0100 tree 0100 (Pedal Width).It seems clear we are mostly pealing off outliers a few at a time.Is it because we are not revising the Avg Vectors as we go (to get the best angle)?

On the next slide we make a fresh calculation of Avg for each subcluster.

It also appears to be unnecessary to position the starting point of the AvgEAvgI vector to both AvgE and AvgI

On 23L0100,O34 &352R0100,AvgS1750 &53LAvgEAvgI,Origin77 &2.8RAvgEAvgI,AvgE75.2 &74.1LAvgEAvgI,Origin76.2 &15.4RAvgEAvgI,AvgE57.3LAvgEAvgI,Origin

74.2 75.6 74.1 75.9 6,1

On 23L0100,O34 &352R0100,AvgS1750 &53LAvgEAvgI,Origin77 &2.8RAvgEAvgI,AvgE75.2 &74.1LAvgEAvgI,Origin76.2 &15.4RAvgEAvgI,AvgE57.3 &74.2LAvgEAvgI,Origin75.6RAvgEAvgI,AvgE

15 37 57 6,0 0,1

Page 22: FAUST Analytics X(X 1..X n )  R n, |X|=N. If X is a classified training set with classes=C={C 1..C K }, X((X 1..X n,C}. d=(d 1..d n ), |d|=1. p=(p 1..p

FAUST LSR DT Classification on IRIS150FAUST LSR DT Classification on IRIS150L 0100.Origin(y)S 23 44 E20 34I 22 38

1

21

294746

15 3

6

On 23L0100,O34R0100,AvgS

0 43 320 1820 399 4213 45,12

On 23L0100,O34 &320R0100,AvgS1820LAvgEAvgI,Origin

23 34 25 30 24,9

On 23L0100,O34 &320R0100,AvgS1820 &25LAvgEAvgI,Origin30RAvgEAvgI,AvgE

0 88 4 108 24,6

On 23L0100,O34 &320R0100,AvgS1820 &25LAvgEAvgI,Origin30 &4RAvgEAvgI,AvgE88LAvgEAvgI,Origin

3133 4961 3411 4397 18,5

On 23L0100,O34 &320R0100,AvgS1820 &25LAvgEAvgI,Origin30 &4RAvgEAvgI,AvgE88 &3411LAvgEAvgI,Origin4397RAvgEAvgI,AvgE

1 26 5.9 20.5 10,5

On this slide we do the same as on the last but make a fresh calculation of Avg for each recursive steps.

On 23L0100,O34 &320R0100,AvgS1820 &25LAvgEAvgI,Origin30 &4RAvgEAvgI,AvgE88 &3411LAvgEAvgI,Origin4397 &5.9RAvgEAvgI,AvgE20.5LAvgEAvgI,Origin

38 54.4 54 57 1,1

It takes 7 recursive rounds again to separate E and I in this branch of the e2=0100 tree 0100 (Pedal Width).

From this incomplete testing, it seems not to be beneficial to make expensive fresh Avg calculations.

L 0100.Origin(y)S 23 44 E20 34I 22 38

1

21

294746

15 3

6

On 23L0100,O34R0100,AvgE

793 14173 234 58 1103 13,21

On 23L0100,O34 &58R0100,AvgS234LAvgEAvgI,Origin

52 79 66 83 7,13

We pause the algorithm and try SBarrelAvgE and SBarrelAvgI in addition to LAvEAvI,O

On 23L0100,O34 &58R0100,AvgS234SBarrelAvgE

68 241.158.6 272 13,18

23L0100,O34 &58R0100,AvgS234SBarrelAvgI

36.1 9515.9 417 7,14

Next try inserting SLinearAvgE and SLinearAvgI in serial w LAvEAvI,O instead of parallel.

On 23L0100,O34 &58R0100,AvgS234 &25LAvEAvI,O32SLinearAvgE

2 66.1 27.8 357 1,5

On 23L0100,O34 &58R0100,AvgS234 &25LAvEAvI,O32SLinearAvgI

7.4 1712.4 135 6,11

Seems very beneficial! Use only LinearAvg with the smallest count, in this case LinearAvgE?

On 23L0100,O34 &58R0100,AvgS234 &25LAvEAvI,O32 &27SLinearAvgE66.1Sp

0 11 231,0 0,5

On 30L0010,O51R0010,AvgE

2.8 157.6 16.3 199 33,14

On 30L0010,O51 &16.3R0100,AvgS157.6LAvEAvI,O

52.7 78.4 66.3 80 19,13

On 30L0100,O51 &16.3R0100,AvgS157.6 &66.3LAvEAvI,O78.4RAvgEAcI,AvE

1416 2522.2 936.4 1748.2 5,6

L 0010.Origin(y)S10 19 E 30 51I 18 69

2

1

5015

On 30L0100,O51 &16.3R0100,AvgS157.6 &66.3LAvEAvI,O78.4 &1416RAvgEAcI,AvE1449 &L

1416 2522.2 936.4 1748.2 5,6

Page 23: FAUST Analytics X(X 1..X n )  R n, |X|=N. If X is a classified training set with classes=C={C 1..C K }, X((X 1..X n,C}. d=(d 1..d n ), |d|=1. p=(p 1..p

FAUST Oblique LSR Classification IRIS150FAUST Oblique LSR Classification IRIS150

Ld d=0001 p=origin S 1 6 E 10 18I 14 26

4954 482422 118134 9809

5 3617 7 152 611

0 2522 12 4541397

50 22 16 3428

p=AvgS

50 34 15 2

p=AvgE

59 28 43 13

p=AvgI

66 30 55 20

Ld d=1000 p=origin S43 59 E 49 71I 49 80 16 26 32 34 24 6 12

270792 26 51558 2568

099 393 1096 1217 1826

1 517, 4 79 633

0 279 5 171 186748998 24 126 2 1 132 73016222281

0 3426 10 388 1369

Ld d=0010 p=origin S 10 19 E 30 51I 18 69

3000 331547 146120 6251

2.8 1633 14158 199

5.9 1146 14319 453

48 50 15 2 1 34 0

Ld d=0100 p=origin S 23 44 E 20 34.1I 22 38

055 3139 3850

066 310 35246 12 1750 4104

712 636 9, 3 9831369

3 5813 21 234793 110321 3

1417 5 36 47 23 1403 92918922824

96 27317762747

1 15 3 2 1 6 29 47 46

In pTree psuedo-code:Py<43=PO

P43y<49=PS

P49y58=PSEI

P59<y70=PEI P70<y79=PI

PO:= PO or Py>70

Page 24: FAUST Analytics X(X 1..X n )  R n, |X|=N. If X is a classified training set with classes=C={C 1..C K }, X((X 1..X n,C}. d=(d 1..d n ), |d|=1. p=(p 1..p

This first example suggests that recursion can be important. A different example suggests that recursion order can also be important:

Ld,p=(X-p)od (if p=origin we use Ld=Xod) is a distance dominated functional, meaning dis(Ld,p(x),Ld,p(y)) dis(x, y) x,yX.

Therefore there is no conflict between Ld,p gap enclosed clusters for different d's. I.e., consecutive Ld,p gaps a separate cluster always (but not necessarily vice versa). A PCI followed by a PCD a separate cluster (with nesting issues to be resolved!).

Recursion solves problems, e.g., gap isolating point4 is revealed by a Le1(X)=Attr1 gap.

Recursively restricting to {123 5678} and applying Le2(X)=Attr2 reveals the 2 other gaps

XRow      Attr1       Attr21             0            02             0            1003             0            04             110        1105             0            1146             0            1237             0            1458             0            0

1, 3, 8

42

65

7

Row         Attr1      Attr21               0             02               0             253               0             504               75          755               0             1006               0             1257               0             150

1

2

6

4

7

3

5

Using ordering, d=e2, e1 recursively, Le2

=Attr2 reveals no gaps, soLe1

=Attr1 is applied to all of X and reveals only the gap around point4.

Using ordering d=e1, e2 instead:

Le1=Attr1 on X reveals a gap of at least 100 around point4 (actual gap: 103.078)

Le2=Attr2 is applied to X-{4} reveals a gap of 50 between {123} and {567} also.

StD: ~30 ~55Note StD doesn't always reveal best order!

100

25 103.078

What about the other functionals? Sp=(X-p)o(X-p) and Rd,p=Sp-L2d,p In an attempt to be more careful,

we can only say that Sp (and therefore also Rd,p) is eventually distance dominated meaning dis (Sp(x), Sp(y))dis(x, y) provided 1dis(p,x)+dis(p,y) Letting r=dis(p,x)=Sp(x), s=dis(p,y)=Sp(y) and r>s, then r-s dis(x,y) and dis(Sp(x),Sp(y)) = r2-s2 = (r-s)*(r+s) dis(x,y)*[dis(p,x)+dis(p,y)]

When does FAUST Gap suffice for clustering? For text mining?

Page 25: FAUST Analytics X(X 1..X n )  R n, |X|=N. If X is a classified training set with classes=C={C 1..C K }, X((X 1..X n,C}. d=(d 1..d n ), |d|=1. p=(p 1..p

LSR IRIS150-LSR IRIS150-.. Consider all 3 functionals, L, S and R. What's the most efficient way to calculate all 3?\

LLp,d p,d (X - p) (X - p) o o d = Ld = Lo,d o,d - [p- [pood] minLd] minLp,d,k p,d,k = min[L= min[Lp,d p,d & C& Ckk] maxL] maxLp,d,k p,d,k = max[L= max[Lp,d p,d & C& Ckk[ [

= [minL= [minLo,d,ko,d,k]] - p- pood = [maxLd = [maxLo,d,ko,d,k] - p] - poodd

= min(X= min(Xood & Cd & Ckk)) - p- pood = max(Xd = max(Xood & Cd & Ckk) - p) - poodd OROR

= min(X&C= min(X&Ckk) ) o o dd - p- pood = max(X&Cd = max(X&Ckk) ) o o d - pd - poodd

SSp p = (X - p)= (X - p)oo(X - p) = -2X(X - p) = -2Xoop+Sp+Soo+p+poop = p =

LLo,-2p o,-2p + (S+ (Soo+p+poop) minSp) minSp,kp,k=minS=minSpp&C&Ckk maxS maxSp,k p,k = maxS= maxSpp&C&Ckk

= min[(X = min[(X o (o (-2p) &C-2p) &Ckk)])] + (X+ (XooX+pX+poop)p) =max[(X =max[(X o (o (-2p) &C-2p) &Ckk)] + (X)] + (XooX+pX+poop)p)

OROR = min[(X&C= min[(X&Ckk))oo-2p]-2p] + (X+ (XooX+pX+poop)p) =max[(X&C=max[(X&Ckk))oo-2p] + (X-2p] + (XooX+pX+poop)p)

RRp,d p,d S Sp,p, - L - Lp,dp,d22 minR minRp,d,kp,d,k=min[R=min[Rp,dp,d&C&Ckk] maxR] maxRp,d,kp,d,k=max[R=max[Rp,dp,d&C&Ckk]]

o=origin; pRn; dRn, |d|=1; {Ck}k=1..K are the classes; An operation enclosed in a parallelogram, , means it is a pTree op, not a scalar operation (on just numeric operands)

I suggest that we use each of the functionals with each of the pairs, (p,d) that we select for application (since, to get R we need to compute L and S anyway).So it would make sense to develop an optimal (minimum work and time) procedure to create L, S and R for any (p,d) in the set.

Page 26: FAUST Analytics X(X 1..X n )  R n, |X|=N. If X is a classified training set with classes=C={C 1..C K }, X((X 1..X n,C}. d=(d 1..d n ), |d|=1. p=(p 1..p

LSR on IRIS150LSR on IRIS150

Dse 9 -6 27 10 495 802 S 1270 2010 E 1061 2725 I L H C1,3: 0 s49 e11 i

Dei -3 -2 3 3 -117 -44 E y isa O if yoDei (-,-117)(-3,) -62 -3 I y isa O or E or I if yoDei C2,1 [-62 ,-44] L H y isa O or I if yoDei C2,2 [-44 , -3]

C2,1:2 e4 i

Dei 6 -2 3 1 420 459 E y isa O if yoDei (-,420)(459,480)(501,) 480 501 I y isa O or E if yoDei C3,1 [420 ,459] L H y isa O or I if yoDei C3,2 [480 ,501] Continue this on clusters with OTHER + one class, so the hull fits tightely (reducing false positives), using diagonals?

400 1000 1500 2000 2500 3000

y isa OTHER if yoDse (-,495)(802,1061)(2725,)y isa OTHER or S if yoDse C1,1 [ 495 , 802]y isa OTHER or I if yoDse C1,2 [1061 ,1270]

y isa OTHER or I if yoDse C1,4 [2010 ,2725]y isa OTHER or E or I if yoDse C1,3 [1270 ,2010

C13

C1,1: D=1000

43 58 y isa O if yoD(-,43)(58,) L H y isa O|S if yoD C2,3 [43,58]

C2,3: D=0100

23 44 y isa O if yoD(-,23)(44,) L H y isa O|S if yoD C3,3 [23,44]

C3,3: D=0010

10 19 y isa O if yoD(-,10)(19,) L H y isa O|S if yoD C4,1 [10,19]

C4,1: D=0001

1 6 y isa O if yoD(-,1)(6,) L H y isa O|S if yoD C5,1 [1,6]

C5,1: D=1100

68 117 y isa O if yoD(-,68)(117,) L H y isa O|S if yoD C6,1 [68,117]

C6,1: D=1010

54 146 y isa O if yoD(-,54)(146,) L H y isa O|S if yoD C7,1 [54,146]

C7,1: D=1001

44 100 y isa O if yoD(-,44)(100,) L H y isa O|S if yoD C8,1 [44,100]

C8,1: D=0110

36 105 y isa O if yoD(-,36)(105,) L H y isa O|S if yoD C9,1 [36,105]

C9,1: D=0101

26 61 y isa O if yoD(-,26)(61,) L H y isa O|S if yoD Ca,1 [26,61]

Ca,1: D=0011

12 91 y isa O if yoD(-,12)(91,) L H y isa O|S if yoD Cb,1 [12,91]

Cb,1: D=1110

81 182 y isa O if yoD(-,81)(182,) L H y isa O|S if yoD Cc,1 [81,182]

Cc,1: D=1101

71 137 y isa O if yoD(-,71)(137,) L H y isa O|S if yoD Cd,1 [71,137]

Cd,1: D=1011

55 169 y isa O if yoD(-,55)(169,) L H y isa O|S if yoD Ce,1 [55,169]

Ce,1: D=0111

39 127 y isa O if yoD(-,39)(127,) L H y isa O|S if yoD Cf,1 [39,127]

Cf,1: D=1111

84 204 y isa O if yoD(-,84)(204,) L H y isa O|S if yoD Cg,1 [84,204]

Cg,1: D=1-100

10 22 y isa O if yoD(-,10)(22,) L H y isa O|S if yoD Ch,1 [10,22]

Ch,1: D=10-10

3 46 y isa O if yoD(-,3)(46,) L H y isa O|S if yoD Ci,1 [3,46]

The amount of work yet to be done., even for only 4 attributes, is immense.. For each D, we should fit boundaries for each class, not just one class.

D, not only cut at minCoD, maxCoD but also limit the radial reach for each class (barrel analytics)? Note, limiting the radial reach limits all other directions [other than the D direction] in one step and therefore by the same amount. I.e., it limits all directions assuming perfectly round clusters). Think about Enron, some words (columns) have high count and others have low count. Our radial reach threshold would be based on the highest count and therefore admit many false positives. We can cluster directions (words) by count and limit radial reach differently for different clusters??

For 4 attributes, I count 77 diagonals*3 classes = 231 cases. How many in the Enron email case with 10,000 columns? Too many for sure!!

Page 27: FAUST Analytics X(X 1..X n )  R n, |X|=N. If X is a classified training set with classes=C={C 1..C K }, X((X 1..X n,C}. d=(d 1..d n ), |d|=1. p=(p 1..p

Dot Product SPTS computation:Dot Product SPTS computation: XXooD = D = k=1..nk=1..nXXkkDDkk

/*Calc P/*Calc PXoD,iXoD,i after P after PXoD,i-1XoD,i-1 CarrySet=CAR CarrySet=CARi-1,ii-1,i RawSet=RS RawSet=RSii */ INPUT: CAR */ INPUT: CARi-1,ii-1,i, RS, RSii

ROUTINE: PROUTINE: PXoD,iXoD,i=RS=RSiiCARCARi-1,ii-1,i CAR CARi,i+1i,i+1=RS=RSii&CAR&CARi-1,ii-1,i OUTPUT: P OUTPUT: PXoD,iXoD,i, CAR, CARi,i+1i,i+1 111100

110011

111100

001111

110011

110011

001100

CAR1CAR11,21,2

&&

PPXoD,1XoD,1

110000

&&

000000

001111

&&

000011

CAR2CAR22,32,3

110000 PPXoD,2XoD,2

&&

001111 PPXoD,3XoD,3

000000CAR1CAR13,43,4

3 3 3 3 DD DD1,11,1 DD1,01,0

1 11 1DD2,12,1 DD2,02,01 11 1

113322

110011

XXXX11 X X22

pp1111 p p1010

001111

111100

110011

000000

pp2121 p p2020

669999

XXooDD001111

110000

110000

001111

ppXoD,3XoD,3 ppXoD,2XoD,2 ppXoD,1XoD,1 ppXoD,0XoD,0 ((= = 2222 + 2+ 211 (1 p (1 p1,01,0 + 1 p+ 1 p1111 + 2+ 200 (1 p (1 p1,01,01 p1 p1,11,1 + 1 p+ 1 p2,1 2,1 )) + 1 p+ 1 p2,02,0 + 1 p+ 1 p2,1 2,1 )) + 1 p+ 1 p2,0 2,0 ))

001111

111100

001111

111100

110011

110011

111100

111111

111100

001111

111111

000011 PPXoD,0XoD,0

CAR1CAR10,10,1

&&

111100

001111

001100

001100

000011

&&

PPXoD,3XoD,3

001100 PPXoD,4XoD,4

Different data. Different data.

3 3 3 3 DD DD1,11,1 DD1,01,0

1 11 1DD2,12,1 DD2,02,01 11 1 ((== 2 222 + 2+ 211 (1 p (1 p1,01,0 + 1 p+ 1 p1111 + 2+ 200 (1 p (1 p1,01,0

1 p1 p1,11,1 + 1 p+ 1 p2,1 2,1 )) + 1 p+ 1 p2,02,0 + 1 p+ 1 p2,1 2,1 )) + 1 p+ 1 p2,0 2,0 ))001111

111100

001111

111100

111111

111111

113322

113311

XX pTreespTrees001111

111100

111111

001100

66181899

XXooDD000011

111100

110000

000011

001100

001100

001100

We have extended the Galois field, GF(2)={0,1}, XOR=add, AND=mult to pTrees.We have extended the Galois field, GF(2)={0,1}, XOR=add, AND=mult to pTrees.

001111 PPXoD,0XoD,0

110000

CAR1CAR10,10,1 &&

000000

&&

110011

CAR2CAR21,21,2000011

001100

CAR1CAR12,32,3

&&

001100

&&

PPXoD,1XoD,1

111100

000000

000000

&&

110011

001100

&&

001100

110011

&&

001100

&&

000011

001111

&&

000000

111100

&&

000011

110000

&&

001100

PPXoD,2XoD,2

&&

001111

000000

= (2= (211 pp1,11,1 +2+200 pp1,01,0)) (2(211 pp2,12,1 +2+200 pp2,02,0)) = 2= 222 pp1,11,1 pp2,12,1 +2+211(( pp1,11,1 pp2,02,0++ pp2,12,1 pp1,01,0)) + 2+ 200 pp1,01,0 pp2,02,0XX11**XX22

001111

001100

001111

111100

111111

001100

111100

111111

111100

&&

ppXX11*X*X22,0,0

&&

001111

&&

001100

&&

001100

001100

ppXX11*X*X22,3,3

001100

&&000000

ppXX11*X*X22,2,2

001100

&&

000011ppXX11*X*X22,1,1

SPTS multiplication: SPTS multiplication: (Note, pTree multiplication = &)(Note, pTree multiplication = &)

113322

113311

XXXX11 X X22

pp1111 p p1010 pp2121 p p2020

119922

XX11**XX22

111100

000011

000000

001100

ppXX11*X*X22,3,3

001111

111100

111111

001100

ppXX11*X*X22,2,2 ppXX11*X*X22,1,1 ppXX11*X*X22,0,0

Page 28: FAUST Analytics X(X 1..X n )  R n, |X|=N. If X is a classified training set with classes=C={C 1..C K }, X((X 1..X n,C}. d=(d 1..d n ), |d|=1. p=(p 1..p

RankRankN-1N-1(X(XooD)=RankD)=Rank22(X(XooD)D) 1 1 1 1

D=xD=x11 DD1,11,1 DD1,01,00 10 1

DD2,12,1 DD2,02,00 10 1

113322

110011

XXXX11 X X22

pp1111 p p1010

001111

111100

110011

000000

pp2121 p p2020

223333

XXooDD001111

111111

110000

000000

pp33 pp22 pp11 pp,0,0

RankK: p is what's left of K yet to be counted, initially p=K V is the RankKvalue, initially 0.For i=bitwidth+1 to 0 if Count(P&Pi) p { KVal=KVal+2i; P=P&Pi }; else /* < p */ { p=p-Count(P&Pi); P=P&P'i };

111111

P=P&pP=P&p11

3322

1*21*211++

111111

PP111111

pp11

n=1n=1p=2p=2

001111

P=pP=p00&P&P

2222

1*21*211+1*2+1*200==3 so -2x3 so -2x11ooX = -6 X = -6

111111

PP001111

&p&p00

n=0n=0p=2p=2

RankRankN-1N-1(X(XooD)=RankD)=Rank22(X(XooD)D)

3 0 3 0 D=xD=x22 DD1,11,1 DD1,01,0

1 11 1DD2,12,1 DD2,02,00 00 0

339922

XXooDD111100

110011

000000

001100

pp33 pp22 pp11 pp,0,0 110011

P=P&p'P=P&p'331<1<222-1=12-1=10*20*233++

111111

PP001100

pp33

n=3n=3p=2p=2

110011

P=p'P=p'22&P&P

0<0<111-0=11-0=10*20*233+0*2+0*222

110011

PP000000

&p&p22

n=2n=2p=1p=1

110011

P=pP=p11&P&P

2211

0*20*233+0*2+0*222+1*2+1*211++

110011

PP110011

&p&p11

n=1n=1p=1p=1

110000

P=pP=p00&P&P

1111

0*20*233+0*2+0*222+1*2+1*211+1*2+1*200==33 so -2xso -2x22ooX= -6X= -6

110011

PP111100

&p&p00

n=0n=0p=1p=1

RankRankN-1N-1(X(XooD)=RankD)=Rank22(X(XooD)D) 2 1 2 1

D=xD=x33 DD1,11,1 DD1,01,01 01 0

DD2,12,1 DD2,02,00 10 1

336655

XXooDD110011

111100

001111

000000

pp33 pp22 pp11 pp,0,0

001111

P=P&pP=P&p22

2222

1*21*222++

111111

PP001111

pp22

n=2n=2p=2p=2

000011

P=p'P=p'11&P&P

1<1<222-1=12-1=11*21*222+0*2+0*211

001111

PP111100

&p&p11

n=1n=1p=2p=2

000011

P=pP=p00&P&P

1111

1*21*222+0*2+0*211+1*2+1*200==5 5 so -2xso -2x33ooX= -10X= -10

000011

PP110011

&p&p00

n=0n=0p=1p=1

Example:Example:FAUST Oblique: FAUST Oblique: XXooDD used in CCC, TKO, PLC and LARC) and used in CCC, TKO, PLC and LARC) and (x-X)(x-X)oo(x-X)(x-X) = -2= -2XXooxx+x+xoox+Xx+XooX X is used in TKO.is used in TKO.

So in FAUST, we need to construct lots of SPTSs of the type, X dotted with a fixed vector, a costly pTree calculation So in FAUST, we need to construct lots of SPTSs of the type, X dotted with a fixed vector, a costly pTree calculation (Note that X(Note that XooX is costly too, but it is a 1-time calculation (a pre-calculation?). xX is costly too, but it is a 1-time calculation (a pre-calculation?). xoox is calculated for each individual x but it's x is calculated for each individual x but it's

a scalar calculation and just a read-off of a row of Xa scalar calculation and just a read-off of a row of XooX, once XX, once XooX is calculated.. Thus, we should optimize the living X is calculated.. Thus, we should optimize the living be__ out of the Xbe__ out of the XooD calculation!!! The methods on the previous seem efficient. Is there a better method? Then for D calculation!!! The methods on the previous seem efficient. Is there a better method? Then for TKO we need to computer ranks:TKO we need to computer ranks:

Page 29: FAUST Analytics X(X 1..X n )  R n, |X|=N. If X is a classified training set with classes=C={C 1..C K }, X((X 1..X n,C}. d=(d 1..d n ), |d|=1. p=(p 1..p

So let us look at ways of doing the work to calculate As we recall from the below, So let us look at ways of doing the work to calculate As we recall from the below, the task is to ADD bitslices giving a result bitslice and a set of carry bitslices to carry forwardthe task is to ADD bitslices giving a result bitslice and a set of carry bitslices to carry forward

XXooD = D = k=1..nk=1..nXXkk*D*Dkk

3 3 3 3 DD DD1,11,1 DD1,01,0

1 11 1DD2,12,1 DD2,02,01 11 1

((= 2= 222 + 2+ 211 1 p1 p1,01,0 + 1 p+ 1 p1111 + 2+ 200 1 p1 p1,01,01 p1 p1,11,1 (( ((+ 1 p+ 1 p2,1 2,1 )) + 1 p+ 1 p2,02,0 + 1 p+ 1 p2,1 2,1 )) + 1 p+ 1 p2,0 2,0 ))001111

111100

001111

111100

110011

110011

113322

110011

XX pTreespTrees001111

111100

110011

000000

((= 2= 222 + 2+ 211 1 p1 p1,01,0 + 1 p+ 1 p1111 + 2+ 200 1 p1 p1,01,01 p1 p1,11,1 (( ((+ 1 p+ 1 p2,1 2,1 )) + 1 p+ 1 p2,02,0 + 1 p+ 1 p2,1 2,1 )) + 1 p+ 1 p2,0 2,0 ))001111

111100

001111

000000

110011

111100

110011

I believe we add by successive XORs and the carry set is the raw set with one 1-bit turned off iff the sum at that bit is a 1-bitI believe we add by successive XORs and the carry set is the raw set with one 1-bit turned off iff the sum at that bit is a 1-bitOr we can characterize the carry as the raw set minus the result (always carry forward a set of pTrees plus one negative one). Or we can characterize the carry as the raw set minus the result (always carry forward a set of pTrees plus one negative one). We want a routine that constructs the result pTree from a positive set of pTrees plus a negative set always consisting of 1 We want a routine that constructs the result pTree from a positive set of pTrees plus a negative set always consisting of 1

pTree. pTree. The routine is: successive XORs across the positive set then XOR with the negative set pTree (because the successive pset The routine is: successive XORs across the positive set then XOR with the negative set pTree (because the successive pset

XOR gives us the odd values and if you subtract one pTree, the 1-bits of it change odd to even and vice versa.):XOR gives us the odd values and if you subtract one pTree, the 1-bits of it change odd to even and vice versa.):

/*For P/*For PXoD,iXoD,i (after P (after PXoD,i-1XoD,i-1). CarrySetPos=CSP). CarrySetPos=CSPi-1,ii-1,i CarrySetNeg=CSN CarrySetNeg=CSNi-1,i i-1,i RawSet=RS RawSet=RSii CSP CSP-1-1=CSN=CSN-1-1==*/*/

INPUT: CSPINPUT: CSPi-1i-1, CSN, CSNi-1i-1, RS, RSii

ROUTINE: PROUTINE: PXoD,iXoD,i=RS=RSiiCSPCSPi-1,ii-1,iCSNCSNi-1,ii-1,i CSN CSNi,i+1i,i+1=CSN=CSNi-1,ii-1,iPPXoD,iXoD,i; CSP; CSPi,i+1i,i+1=CSP=CSPi-1,ii-1,iRSRSi-1i-1;;

OUTPUT: POUTPUT: PXoD,iXoD,i, CSN, CSNi,i+1i,i+1 CSP CSPi,i+1 i,i+1

111100

110011

RSRS00

001111

==

669999

XXooDD

PPXoD,0XoD,0

CSPCSP-1,0-1,0=CSN=CSN-1,0-1,0==RSRS11

CSNCSN0,10,1== CSNCSN-1.0-1.0PPXoD,0XoD,0

000000

==

PPXoD,1XoD,1

111100

001111

110011

001111

110000

110000

001111

001111

110011

000000

001111

111100

110011

CSPCSP0,10,1== CSPCSP-1,0-1,0RSRS00

110011

000000

110000

111111

001111

Page 30: FAUST Analytics X(X 1..X n )  R n, |X|=N. If X is a classified training set with classes=C={C 1..C K }, X((X 1..X n,C}. d=(d 1..d n ), |d|=1. p=(p 1..p

XXooD = D = k=1..nk=1..nXXkk*D*Dkk

k=1..nk=1..n ( (= 2= 22B2B

+ 2+ 22B-12B-1 DDk,Bk,B p pk,B-1k,B-1 + D+ Dk,B-1k,B-1 p pk,Bk,B

+ 2+ 22B-22B-2 DDk,Bk,B p pk,B-2k,B-2 + D+ Dk,B-1k,B-1 p pk,B-1k,B-1 + D+ Dk,B-2k,B-2 p pk,Bk,B

+ 2+ 22B-32B-3 DDk,Bk,B p pk,B-3k,B-3 + D+ Dk,B-1k,B-1 p pk,B-2k,B-2 + D+ Dk,B-2k,B-2 p pk,B-1k,B-1 +D+Dk,B-3k,B-3 p pk,Bk,B

+ 2+ 233 DDk,Bk,B p pk,0k,0 + D+ Dk,2k,2 p pk,1k,1 + D+ Dk,1k,1 p pk,2k,2 +D+Dk,0k,0 p pk,3k,3

+ 2+ 222 DDk,2k,2 p pk,0k,0 + D+ Dk,1k,1 p pk,1k,1 + D+ Dk,0k,0 p pk,2k,2

+ 2+ 211 DDk,1k,1 p pk,0k,0 + D+ Dk,0k,0 p pk,1k,1

+ 2+ 200 DDk,0k,0 p pk,0k,0

DDk,Bk,B p pk,Bk,B

k=1..nk=1..n ( (k=1..nk=1..n ( (k=1..nk=1..n ( (

. . .. . .

k=1..nk=1..n ( (k=1..nk=1..n ( (k=1..nk=1..n ( (k=1..nk=1..n ( (

XXooD=D=k=1,2k=1,2XXkk*D*Dk k with pTrees: qwith pTrees: qNN..q..q00, ,

N=2N=22B+roof(log2B+roof(log22n)+2B+1n)+2B+1k=1..2k=1..2 ( (= 2= 222

+ 2+ 211 DDk,1k,1 p pk,0k,0 + D+ Dk,0k,0 p pk,1k,1

+ 2+ 200 DDk,0k,0 p pk,0k,0

DDk,1k,1 p pk,1k,1

k=1..2k=1..2 ( (

k=1..2k=1..2 ( (

113322

110011

XX pTreespTrees001111

111100

110011

000000

1 2 1 2 DD DD1,11,1 DD1,01,0

0 10 1DD2,12,1 DD2,02,01 01 0B=1B=1

((= 2= 222 + 2+ 211 DD1,11,1 pp1,01,0 + D+ D1,01,0 pp1111 + 2+ 200 DD1,01,0 pp1,01,0DD1,11,1 pp1,11,1 (( ((+ D+ D2,12,1 pp2,1 2,1 )) + D+ D2,12,1 pp2,02,0 + D+ D2,02,0 pp2,12,1 )) + D+ D2,02,0 pp2,02,0 ))

((= 2= 222 + 2+ 211 DD1,11,1 p p1,01,0 ++ DD1,01,0 p p1111 + 2+ 200 DD1,01,0 p p1,01,0DD1,11,1 p p1,11,1 (( ((+ D+ D2,12,1 p p2,1 2,1 )) + + DD2,12,1 p p2,02,0 ++ DD2,02,0 p p2,12,1 )) + D+ D2,02,0 p p2,02,0 ))000000

001111

110011

111100

qq0 0 = p= p1,0 1,0 = = no carryno carry111100

qq11= = carrycarry11= =

111100

000011

qq22=carry=carry11= = no carryno carry000011

3 3 3 3 DD DD1,11,1 DD1,01,0

1 11 1DD2,12,1 DD2,02,01 11 1

qq0 0 = = carrycarry00==001111

110000

((= 2= 222 + 2+ 211 1 p1 p1,01,0 + 1 p+ 1 p1111 + 2+ 200 1 p1 p1,01,01 p1 p1,11,1 (( ((+ 1 p+ 1 p2,1 2,1 )) + 1 p+ 1 p2,02,0 + 1 p+ 1 p2,1 2,1 )) + 1 p+ 1 p2,0 2,0 ))001111

111100

001111

111100

110011

000000

110011

qq11=carry=carry00+raw+raw11= = carrycarry11==111111

221111

A carryTree is a valueTree or vTree, as is the rawTree at each level (rawTree = valueTree before carry is incl.). A carryTree is a valueTree or vTree, as is the rawTree at each level (rawTree = valueTree before carry is incl.). In what form is it best to carry the carryTree over? (for speediest of processing?)In what form is it best to carry the carryTree over? (for speediest of processing?)1. multiple pTrees added at next level? (since the pTrees at the next level are in that form and need to be added)1. multiple pTrees added at next level? (since the pTrees at the next level are in that form and need to be added)2. carryTree as a SPTS, s2. carryTree as a SPTS, s11? (next level rawTree=SPTS, s? (next level rawTree=SPTS, s22, then , then ss1010& s& s20 20 = q= qnext_levelnext_level and carry and carrynext_levelnext_level ? ?

qq22=carry=carry11+raw+raw22= = carrycarry22==111111

111111

qq33=carry=carry22 = = carrycarry33==111111

CCC ClustererCCC Clusterer If DT (and/or DUT) not exceeded at C, partition C further by cutting at each gap and PCC in CIf DT (and/or DUT) not exceeded at C, partition C further by cutting at each gap and PCC in CooDD

For a table X(XFor a table X(X11...X...Xnn), the SPTS, X), the SPTS, Xkk*D*Dkk is the column of numbers, x is the column of numbers, xkk*D*Dkk. X. XooD is the sum of those SPTSs, D is the sum of those SPTSs, k=1..nk=1..nXXkk*D*Dkk

XXkk*D*Dkk = D = Dkkbb22bbppk,bk,b = 2= 2BBDDkkppk,Bk,B +..+ 2+..+ 200DDkkppk,0k,0

= D= Dkk(2(2BBppk,Bk,B +..+2+..+200ppk,0k,0) =) = (2(2BBppk,Bk,B +..+2+..+200ppk,0k,0))(2(2BBDDk,Bk,B+..+2+..+200DDk,0k,0))

+ 2+ 22B-12B-1(D(Dk,B-1k,B-1ppk,Bk,B +..+2+..+200DDk,0k,0ppk,0k,0= 2= 22B2B( ( DDk,Bk,Bppk,Bk,B) ) +D+Dk,Bk,Bppk,B-1k,B-1))

So, So, DotProduct DotProduct involves just multi-operand pTree involves just multi-operand pTree addition. (no SPTSs and no multiplications)addition. (no SPTSs and no multiplications)Engineering shortcut tricka would be huge!!!Engineering shortcut tricka would be huge!!!

Page 31: FAUST Analytics X(X 1..X n )  R n, |X|=N. If X is a classified training set with classes=C={C 1..C K }, X((X 1..X n,C}. d=(d 1..d n ), |d|=1. p=(p 1..p

Question: Question: Which primitives are needed Which primitives are needed and how do we compute them?and how do we compute them?

X(XX(X11...X...Xnn) D) D22NN yields a 1.a-type outlier detector (top k objects, x, dissimilarity from X-{x}).NN yields a 1.a-type outlier detector (top k objects, x, dissimilarity from X-{x}). DD22NN = each min[DNN = each min[D22NN(x)] NN(x)]

(x-X)o(x-X)= (x-X)o(x-X)= k=1..nk=1..n(x(xkk-X-Xkk)(x)(xkk-X-Xkk)=)=k=1..nk=1..n((b=B..0b=B..022bbxxk,bk,b-2-2bbppk,bk,b)()( ((b=B..0b=B..022bbxxk,bk,b-2-2bbppk,bk,b))

==k=1..nk=1..n( ( b=B..0b=B..022bb(x(xk,bk,b-p-pk,bk,b) )) ) (( ----a----ak,bk,b------b=B..0b=B..022bb(x(xk,bk,b-p-pk,bk,b) )) )

(2(2BBaak,Bk,B++ 22B-1B-1aak,B-1k,B-1+..++..+ 2211aak, 1k, 1++ 2200aak, 0k, 0)) (2(2BBaak,Bk,B++ 22B-1B-1aak,B-1k,B-1+..++..+ 2211aak, 1k, 1++ 2200aak, 0k, 0))==kk

( 2( 22B2Baak,Bk,Baak,Bk,B + +

222B-12B-1( a( ak,Bk,Baak,B-1k,B-1 + a + ak,B-1k,B-1aak,Bk,B ) + ) + { 2{ 22B2Baak,Bk,Baak,B-1 k,B-1 }}

222B-22B-2( a( ak,Bk,Baak,B-2k,B-2 + a + ak,B-1k,B-1aak,B-1k,B-1 + a + ak,B-2k,B-2aak,Bk,B ) + ) + {{2B-12B-1aak,Bk,Baak,B-2 k,B-2 + 2+ 22B-22B-2aak,B-1k,B-122

222B-32B-3( a( ak,Bk,Baak,B-3k,B-3 + a + ak,B-1k,B-1aak,B-2k,B-2 + a + ak,B-2k,B-2aak,B-1k,B-1 + a + ak,B-3k,B-3aak,B k,B ) +) + { 2{ 22B-22B-2( a( ak,Bk,Baak,B-3 k,B-3 + a+ ak,B-1k,B-1aak,B-2k,B-2 ) } ) }222B-42B-4(a(ak,Bk,Baak,B-4k,B-4+a+ak,B-1k,B-1aak,B-3k,B-3+a+ak,B-2k,B-2aak,B-2k,B-2+a+ak,B-3k,B-3aak,B-1k,B-1+a+ak,B-4k,B-4aak,Bk,B)...)... {2{22B-32B-3( a( ak,Bk,Baak,B-4k,B-4+a+ak,B-1k,B-1aak,B-3k,B-3)+2)+22B-42B-4aak,B-2k,B-2

22}}

=2=22B 2B ( a( ak,Bk,B22 + a + ak,Bk,Baak,B-1 k,B-1 ) +) + 222B-12B-1( a( ak,Bk,Baak,B-2 k,B-2 ) +) +

222B-22B-2( a( ak,B-1k,B-122 222B-32B-3( a( ak,Bk,Baak,B-4k,B-4+a+ak,B-1k,B-1aak,B-3k,B-3) + ) + 222B-42B-4aak,B-2k,B-2

2 2 ......+ a+ ak,Bk,Baak,B-3 k,B-3 + a+ ak,B-1k,B-1aak,B-2k,B-2 ) + ) +

D2NN=multi-op pTree adds?D2NN=multi-op pTree adds?When xWhen xk,bk,b=1, a=1, ak,bk,b=p'=p'k,bk,b and and

when xwhen xk,bk,b=0, a=0, ak,bk,b= -p= -pk.bk.b

So D2NN just multi-op pTree So D2NN just multi-op pTree mults/adds/subtrs? mults/adds/subtrs?

Each D2NN row (each xX) Each D2NN row (each xX) is separate calc.is separate calc.

Should we pre-compute all pShould we pre-compute all pk,ik,i*p*pk,jk,j p'p'k,ik,i*p'*p'k,jk,j ppk,ik,i*p'*p'k,jk,j

ANOTHER TRY!ANOTHER TRY! X(XX(X11...X...Xnn) RKN (Rank K Nbr), K=|X|-1, yields1.a_outlier_detector (top y dissimilarity from X-{x}).) RKN (Rank K Nbr), K=|X|-1, yields1.a_outlier_detector (top y dissimilarity from X-{x}).

Install in RKN, each RankK(D2NN(x)) (1-time construct but for. e.g., 1 trillion xInstall in RKN, each RankK(D2NN(x)) (1-time construct but for. e.g., 1 trillion x ss? |X|=N=1T, slow. Parallelization?)? |X|=N=1T, slow. Parallelization?)

xxX, the square distance from x to its neighbors (near and far) is the column of number (vTree or SPTS)X, the square distance from x to its neighbors (near and far) is the column of number (vTree or SPTS)dd22(x,X)= (x-X)(x,X)= (x-X)oo(x-X)= (x-X)= k=1..nk=1..n|x|xkk-X-Xkk||2

2= = k=1..nk=1..n(x(xkk-X-Xkk)(x)(xkk-X-Xkk)= )= k=1..nk=1..n(x(xkk22-2x-2xkkXXkk+X+Xkk

22))

= -2 = -2 kkxxkkXXkk + + kkxxkk22 + + kkXXkk

22

= -2x= -2xooX + xX + xoox + Xx + XooXX

k=1..nk=1..n i=B..0,j=B..0i=B..0,j=B..022i+ji+jppk,ik,ippk,jk,j

i,j i,j 22i+j i+j kkppk,ik,ippk,jk,j

1. precompute pTree products within each k1. precompute pTree products within each k

2. Calculate this sum one time (independent of the x)2. Calculate this sum one time (independent of the x)

3. Pick this from XoX for each x and add to 2.3. Pick this from XoX for each x and add to 2.

5. Add 3 to this5. Add 3 to this

-2x-2xooX cost is linear in |X|=N.X cost is linear in |X|=N. xxoox cost is ~zero. Xx cost is ~zero. XooX is 1-time -amortized over xX (i.e., =1/N) or precomputedX is 1-time -amortized over xX (i.e., =1/N) or precomputedThe addition cost, -2xThe addition cost, -2xooX + xX + xoox + Xx + XoXoX, is linear in |X|=N So, overall, the cost is linear in |X|=n., is linear in |X|=N So, overall, the cost is linear in |X|=n.Data parallelization? No! (Need all of X at each site.) Code parallelization? Yes! (After replicating X to all sites,Data parallelization? No! (Need all of X at each site.) Code parallelization? Yes! (After replicating X to all sites,Each site creates/saves D2NN for its partition of X, then sends requested number(s) (e.g., RKN(x) ) back.Each site creates/saves D2NN for its partition of X, then sends requested number(s) (e.g., RKN(x) ) back.

Page 32: FAUST Analytics X(X 1..X n )  R n, |X|=N. If X is a classified training set with classes=C={C 1..C K }, X((X 1..X n,C}. d=(d 1..d n ), |d|=1. p=(p 1..p

LSR on IRIS150-3 LSR on IRIS150-3 Here we use the diagonals.Here we use the diagonals.

d=e1 p=AVGs, L=(X-p)od43 58 S 49 70 E 49 79 I

R(p,d,X)

S E I0

128 270 393

1558

3444

[43,49)S(16)

0

128

[49,58)E(24)I(6)

0 S(34)99

393

10961217

1825

[70,79]I(12)

2081

3444

[58,70)E(26)I(32)

270

792

1558

2567

Only overlap L=[58,70), R[792,1557] (E(26), I(5))With just d=e1, we get good hulls using LARC:

While Ip,d containing >1class, for next (d,p) create L(p,d)XXoodd-p-poodd, R(p,d)XXooX+pX+poop-2p-2XXoopp-L-L22

1. MnCls(L), MxCls(L), create a linear boundary.2. MnCls(R), MxCls(R).create a radial boundary.3. Use R&Ck to create intra-Ck radial boundariesHk = {I | Lp,d includes Ck}

R & L

I(1)

I(42)

E(50) I(7)

49 49 (36,7) 63

70 (11)

d=e1 p=AS L=(X-p)od (-pod=-50.06)-7.06 7.94 S&L -1;06 19.94 E&L -1.06 28.94 I&L

-8,-216

[-2,8)34, 24, 6099 393 1096 1217 1825

[20,29]12

[8,20) wp=AvgE26, 321.9 51.878.6 633

<--E=6 I=4 p=AvgE

d=e1 p=AvgS, L=Xod43 58 S&L 49 70 E&L 49 79 I&L

Here we try using other p points for the R step (other than the Here we try using other p points for the R step (other than the one used for the L step).one used for the L step).

d=e1 p=AS L=(X-p)od (-pod=-50.06)-7.06 7.94 S&L -1;06 19.94 E&L -1.06 28.94 I&L

-8,-216

[-2,8)34, 24, 6099 393 1096 1217 1825

[20,29]12

[8,20)26, 32 2707921558 2567

E=26 I=5p=AvgS

30ambigs, 5 errs

d=e1 p=AS L=(X-p)od (-pod=-50.06)-7.06 7.94 S&L -1;06 19.94 E&L -1.06 28.94 I&L

-8,-216

[-2,8)34, 24, 6099 393 1096 1217 1825

[20,29]12

[8,20) wp=AvgI26, 32 0.6234.9387.8 1369

<--E=25 I=10 p=AvgI

There is a best choice of p for the R step (p=AvgE) but how would we decide that ahead of time?

d=e4 p=AvgS, L=(X-p)od-2 4 S&L 7 16 E&L 11 23 I&L

-2,4)50

[7,11) 28

[16,23]I=34

[11,16) 22, 16 127.5648.71554.7 2892

E=22I=7p=AvgS

d=e4 p=AvgS, L=(X-p)od-2 4 S&L 7 16 E&L 11 23 I&L

-2,4)50

[7,11) 28

[16,23]I=34

[11,16) 22, 165.7 36.2151.06 611

E=17I=7p=AvgE

d=e4 p=AvgS, L=(X-p)od-2 4 S&L 7 16 E&L 11 23 I&L

-2,4)50

[7,11) 28

[16,23]I=34[11,16)

22, 16 127.51555 2892

E=22I=8p=AvgI

For e4, the best choice of p for the R step is also p=AvgE.(There are mistakes in this column on the previous slide!)

Page 33: FAUST Analytics X(X 1..X n )  R n, |X|=N. If X is a classified training set with classes=C={C 1..C K }, X((X 1..X n,C}. d=(d 1..d n ), |d|=1. p=(p 1..p

LSR on IRIS150LSR on IRIS150

Dse 9 -6 27 10; xoDes: -184 123 S 590 1331 E 381 2046 I

y isa O if yoD (-,-184)(123,381)(2046,)

y isa O or S(50) if yoD C1,1 [-184 , 123]y isa O or I(1) if yoD C1,2 [ 381 , 590]

y isa O or I(38) if yoD C1,4 [1331 ,2046]y isa O or E(50) or I(11) if yoD C1,3 [ 590 ,1331]

SRR(AVGs,dse) on C1,1 0 154 S

y isa O if y isa C1,1 AND SRR(AVGs,Dse)(154,)y isa O or S(50) if y isa C1,1 AND SRR(AVGs,DSE)[0,154]

SRR(AVGs,dse) on C1,2only one such I

SRR(AVGs,dse) onC1,3 2 137 E 7 143 I

y isa O if y isa C1,3 AND SRR(AVGs,Dse)(-,2)U(143,)y isa O or E(10) if y isa C1,3 AND SRR in [2,7) y isa O or E(40) or I(10) if y isa C1,3 AND SRR in [7,137) = C2,1

y isa O or I(1) if y isa C1,3 AND SRR in [137,143]etc.

We use the Radial steps to remove false positives from gaps and ends. We are effectively projecting onto a 2-dim range, generated by the Dline and the Dline (which measures the perpendicular radial reach from the D-line). In the D projections, we can attempt to cluster directions into "similar" clusters in some way and limit the domain of our projections to one of these clusters at a time, accommodating "oval" shaped or elongated clusters giving a better hull fit. E.g., in the Enron email case the dimensions would be words that have about the same count, reducing false positives.

Dei 1 .7 -7 -4; xoDei on C2,1: 1.4 19 E -2 3 I

y isa O if yoD (-,-2) (19,)y isa O or I(8) if yoD [ -2 , 1.4]

y isa O or E(40) or I(2) if yoD C3,1 [ 1.4 ,19]

SRR(AVGe,dei) onC3,1 2 370 E 8 106 I

y isa O if y isa C3,1 AND SRR(AVGs,Dei)[0,2)(370,)y isa O or E(4) if y isa C3,1 AND SRR(AVGs,Dei)[2,8)y isa O or E(27) or I(2) if y isa C3,1 AND SRR(AVGs,Dei)[8,106)y isa O or E(9) if y isa C3,1 AND SRR(AVGs,Dei)[106,370]

LSR on IRIS150-2 LSR on IRIS150-2 We use the diagonals. We use the diagonals. Also we set a MinGapThres=2 Also we set a MinGapThres=2 which will mean we stay 2 units which will mean we stay 2 units away from any cutaway from any cut

d=e1=1000; The xod limits: 43 58 S 49 70 E 49 79 I

y isa O if yoD(-,43)(79,)y isa O or S( 9) if yoD[43,47]

y isa O or S(41) or E(26) or I( 7) if yoD(47,60) (yC1,2)y isa O or E(24) or I(32) if yoD[60,72] (yC1,3)

y isa O if yoD[43,47]&SRR(-,52)(60,)

y isa O or I(11) if yoD(72,79]y isa O if yoD[72,79]&SRR(-,49)(78,)

d=e3=0010 on C2,2 xod lims: 30 33 S28 32 E 28 30 I

y isa O if yoD(-,28)(33,)y isa O or S(13) or E(10) or I(3) if yoD[28,33]

d=e3=0001 xod lims: 12 18 E 18 24 I

y isa O or S(13) if yoD[1,5]y isa O if yoD(-,1)(5,12)(24,)

y isa O or E( 9) if yoD[12,16)

y isa O or E( 1) or I( 3) if yoD[16,24)

y isa O if yoD[12,16)&SRR[0,208)(558,)

y isa O if yoD[16,24)&SRR[0,1198)(1199,1254)1424,)

y isa O or E(1) if yoD[16,24)&SRR[1198,1199]y isa O or I(3) if yoD[16,24)&SRR[1254,1424]

y isa O or E( 3) if yoD[18,23)y isa O if yoD(-,18)(46,)

y isa O or E(13) or I( 4) if yoD[23,28) (yC2,1)

y isa O or S(13) or E(10) or I( 3) if yoD[28,34) (yC2,2)y isa O or S(28) if yoD[34,46]

y isa O if yoD[18,23)&SRR[0,21)

y isa O if yoD[34,46]&SRR[0,32][46,)

d=e2=0100 on C1,2 xod lims: 30 44 S20 32 E 25 30 I

d=e2=0100 on C1,3 xod lims: 22 34 E 22 34 I zero differentiation!

y isa O or E(17) if yoD[60,72]&SRR[1.2,20]

y isa O or I(25)if yoD[60,72]&SRR[66,799]y isa O or E( 7) or I( 7)if yoD[60,72]&SRR[20, 66]

y isa O if yoD[0,1.2)(799,)

Page 34: FAUST Analytics X(X 1..X n )  R n, |X|=N. If X is a classified training set with classes=C={C 1..C K }, X((X 1..X n,C}. d=(d 1..d n ), |d|=1. p=(p 1..p

LSR LSR IRIS150IRIS150..

d=e1 p=AS L=(X-p)od (-pod=-50.06)-7.06 7.94 S&L -1;06 19.94 E&L -1.06 28.94 I&L

-8,-216

[-2,8)34, 24, 6099 393 1096 1217 1825

[20,29]12

[8,20)26, 32 2707921558 2567

E=26 I=5

30ambigs, 5 errs

d=e4 p=AvgS, L=(X-p)od-2 4 S&L 7 16 E&L 11 23 I&L-2,4)50

[7,11) 28

[16,23]I=34

[11,16) 22, 1611 1611 16 E=22

I=16

38ambigs 16errs

d=e3 p=AvgE, L=(X-p)od-32 -24 S&L -12 9 E&L -25 27 I&L,-25)48

-25,-122 1 1

[9,27] I=34

[-12,9)49, 152(17) 16158 199

E=32 I=14

d=e4 p=AvgE, L=(X-p)od-13 -7 S&L -3 5 E&L 1 12 I&L-7]50

[-3,1) 21

[5,12] 34

[1,5)22, 16.7 .74.8 4.8 E=22

I=16

d=e2 p=AvgS, L=(X-p)od -11 10 S&L-14 0 E&L -13 4 I&L,-13)1

-13,-110, 2, 1all=-11

[0,4) [4,15 3 6

-11,029,47,46066 310 352 1749 4104

1, 1 46,11

2, 1 9, 3

d=e3 p=AvgS, L=(X-p)od-5 5 S&L 15 37 E&L 4 55 I&L-5,4)47

[4,15)3 1

[37,55]I=34

[15,37)50, 15157 297536 792

E=18 I=12

3, 1

d=e1 p=AE L=(X-p)od (-pod=-59.36)-17 -1 S&L -11 11 E&L -11 20 I&L

-17-1116

[-11,-1)33, 21, 3 0 27 107 1727481150

[11,20]I12

[-1,11)26, 321 5179 633

E=7 I=4

E=5I=3

d=e2 p=AvgE, L=(X-p)od -5 `17 S&L-8 7 E&L -6 11 I&L,-6)1

[-6, -5)0, 2, 1 15 18 58 59

[7,11) [11,15 3 61 err

[-5,7)29,47, 46 3 58 234793 11031417

13, 21

21, 3

d=e1 p=AI L=(X-p)od (-pod=-65.88)-22 -8 S&L -17 4 E&L -17 14 I&L

[-17,-8)33, 21, 3 38 126 132 73016222181

[-8,4)26, 32 034 1368730

E=26 I=11

E=2 I=1

d=e2 p=AvgI, L=(X-p)od -7 `15 S&L-10 4 E&L -8 9 I&L,-6)1

[6,11) [11,15 3 6

[-7, 4)29,46,46 5 36 929 140318932823

[-8, -7)2, 1allsame

E=2 I=1

E=47 I=22

[5, 9]9, 2, 1allsameS=9

E=2 I=1

d=e3 p=AvgI, L=(X-p)od-44 -36 S&L -25 -4 E&L -37 14 I&L,-25)48

-25,-122 1 1

[9,27] I=34

[-25,-4)50, 15 511 318453

E=32 I=14E=46 I=14

d=e4 p=AvgI, L=(X-p)od-19 -14 S&L -10 -3 E&L -6 5 I&L

[5,12] 34

[-6,-3)22, 16same range

E=22 I=16

d=AvgEAvgI p=AvgE, L=(X-p)od -36 -25 S -14 11 E -17 33 I

R(p,d,X)

S E I 0 232 76 357514

[-17,-14)]I(1)

[-14,11) (50, 13)0 2.876 134

[11,33] I(36)

E=47I=12

R(p,d,X)

S E I.3 .9 4.7150 204 213

[12,17.5)]I(1)

d=AvgSAvgI p=AvgS, L=(X-p)od -6 5 S 17.5 42 E 12 65 I

[17.5,42)(50,12)4.7 6 192 205

[11,33]I(37)

E=45 I=12

d=AvgSAvgE p=AvgS, L=(X-p)od -6 4 S 18 42 E 11 64 I

R(p,d,X)

S E I0 2 6 137154 393

[11,18)]I(1)

[18,42) (50,11)2 6.92 133137

[42,64] 38

E=39 I=11

d=e1 p=AvgS, L=Xod43 58 S&L 49 70 E&L 49 79 I&L

Note that each L=(X-p)od is just a shiftof Xod by -pod (for a given d).

Next, we examine:For a fixed d, the SPTS, Lp,d. is just a shift of LdLorigin,d by -pod we get the same intervals to apply R to, independent of p (shifted by -pod).

Thus, we calculate once, lld=minXod hld=maxXod, then for each different p we shift these interval limit numbers by -pod since these numbers are really all we need for our hulls (Rather than going thru the SPTS calculation of (X-p)od anew new p).

There is no reason we have to use the same p on each of those intervals either.

So on the next slide, we consider all 3 functionals, L, S and R. E.g., Why not apply S first to limit the spherical reach (eliminate FPs). S is calc'ed anyway?

Page 35: FAUST Analytics X(X 1..X n )  R n, |X|=N. If X is a classified training set with classes=C={C 1..C K }, X((X 1..X n,C}. d=(d 1..d n ), |d|=1. p=(p 1..p

XoX402635013406330639964742347738852977358845143720340128715112542646224031499142794365421135164004382536603928415840603493352543134611498935883672442335883009398639032732313340174422340943053340440737898329737083485323735062277523416674825150422563705784696754427582628658746578540371336274722068586955

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475

736679088178669152505166507057587186606670377884660358865419578169335784421857986057602367034247 5883 9283 7055 9863 8270 897311473 534010463 880210826 8250 7995 8990 6774 7325 8458 84741234611895 6809 9563 672111602 7423 926810132 7256 7346 8457 97041034212181 8500 7579 772911079 8837 8406 514890799162885270559658945286227455822984457306

767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146146148149150

FAUST Oblique, LSR FAUST Oblique, LSR Linear, Spherical, Radial classifierLinear, Spherical, Radial classifier

p,p, ((pre-ccompute?pre-ccompute?))

LLd,pd,p(X-p)(X-p)ood=d=LLdd-p-pood d nnk,L,d,pk,L,d,pmin(Cmin(Ckk&L&Ld,pd,p)=)=nnk,L,dk,L,d-p-pood d xxk,L,d.pk,L,d.pmax(Cmax(Ckk&L&Ld,pd,p)=)=xxk,L,dk,L,d-p-poodd

On IRIS150 d, precompute! XoX, Ld=Xod nk,L,d Lmin(Ck&Ld) xk,L,d max(Ck&Ld)

d=1000 p=AS=(50 34 15 2) -7 8 -1 20 -1 29

d=1000 p=AE=(59 28 43 13) -16 -1 -10 11 -10 20

d=1000 p=AI=(66 30 55 20) -23 -8 -17 4 -17 13

p=AvgS p=AvgE p=AvgI

d=0100 p=AS=(50 34 15 2) -11 10 -14 0 -12 4

d=0100 p=AE=(59 28 43 13) -5 16 -8 6 -6 10

d=0100 p=AI=(66 30 55 20) -7 14-10 4 -8 8

d=0010 p=AS=(50 34 15 2) -5 4 15 36 3 54

d=0010 p=AE=(59 28 43 13) -33 -24 -13 8 -25 26

d=0010 p=AI=(66 30 55 20)-45 -36 -25 -4 -37 14

d=0001 p=AS=(50 34 15 2) -1 4 8 16 12 23

d=0001 p=AE=(59 28 43 13)-12 -7 -3 5 1 12

d=0001 p=AI=(66 30 55 20)-25 -20 -16 -8 -12 -1

We have introduce 36 linear bookends to the class hulls, 1 pair for each of 4 ds, 3 ps , 3 class. For fixed d, Ck, the pTree mask is the same over the 3 p's. However we need to differentiate anyway to calculate R correctly.

That is, for each d-line we get the same set of intervals for every p (just shifted by -pThat is, for each d-line we get the same set of intervals for every p (just shifted by -pood). The only reason we need to d). The only reason we need to have them all is to accurately compute R on each min-max interval. In fact, we computer R on all intervals (even have them all is to accurately compute R on each min-max interval. In fact, we computer R on all intervals (even those where a single class has been isolated) to eliminate False Positives (if FPs are possible - sometimes they are those where a single class has been isolated) to eliminate False Positives (if FPs are possible - sometimes they are not, e.g., if we are to classify IRIS samples known to be Setosa, vErsicolor or vIriginica, then there is no "other").not, e.g., if we are to classify IRIS samples known to be Setosa, vErsicolor or vIriginica, then there is no "other").

Assuming Ld, nk,L,d and xk,L,d have been pre-computed and stored, the cut-pt pairs of (nk,L,d,p; xk,L,d,p) are computed

without further pTree processing, by the scalar computations: nnk,L,d,p k,L,d,p = = nnk,L,dk,L,d-p-pood d xxk,L,d.p k,L,d.p = = xxk,L,dk,L,d-p-pood.d.

Ld514947465054465044495448484358575451575154514651485050525247485452554950554944515045445051485146535070646955655763496652505960615667565862565961636164

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475

d=1000666867605755555860546067635655556158505657576251576358716365764973677265646857586465777760695677636772626164727479646361776364606967695868676763656259

767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146146148149150

Lp,d

=Ld-pod

d=e1

d=e2

d=e3

d=e4

d=1000 p=0000 nk,L,d xk,L,d S 43 58E 49 70I 49 79

S 23 44E 20 34I 22 38

d=0100 p=0000 nk,L,d xk,L,d

S 10 19E 30 51I 18 69

d=0010 p=0000 nk,L,d xk,L,d

S 1 6E 10 18I 14 25

d=0001 p=0000 nk,L,d xk,L,d

Form Class Hulls using linear d boundaries thru min and max of Lk.d,p=(Ck&(X-p))od On every Ik,p,d{[epi,epi+1) | epj=minLk,p,d or maxLk,p,d for some k,p,d} interval add spherical and barrel boundaries with Sk,p and Rk,p,d similarly (use enough (p,d) pairs so that no 2 class hulls overlap) Points outside all hulls are declared as "other". all p,ddis(y,Ik,p,d) = unfitness of y being classed in k. Fitness of y in k is f(y,k) = 1/(1-uf(y,k))

Page 36: FAUST Analytics X(X 1..X n )  R n, |X|=N. If X is a classified training set with classes=C={C 1..C K }, X((X 1..X n,C}. d=(d 1..d n ), |d|=1. p=(p 1..p

LSR IRIS150 LSR IRIS150 ee11 only only

SSp p (X-p) (X-p)oo(X-p) = (X-p) = XXooX X + L+ L-2p -2p + p+ poop p nnk,S,p k,S,p = min(C= min(Ckk&S&Spp) ) xxk,S,p k,S,p max(C max(Ckk&S&Spp))RRp,dp,d S Spp-L-L22

p,d p,d = L= L-2p-(2p-2p-(2pood)d d)d + p+ poop + pp + poodd2 2 + + XXooX X - - LL22dd nnk,R,p,d k,R,p,d = min(C= min(Ckk&R&Rp,dp,d) ) xxk,R,p,d k,R,p,d max(C max(Ckk&R&Rp,dp,d))

Analyze R:RnR1 (and S:RnR1?) projections on each interval formed by consecutive L:RnR1 cut-pts.

d=1000 p=AS=(50 34 15 2)-7 8 -1 20 -1 29

d=1000 p=AE=(59 28 43 13)-16 -1 -10 11 -10 20

d=1000 p=AI=(66 30 55 20)-23 -8 -17 4 -17 13

Ld d=1000 p=origin Setosa 43 58vErsicolor 49 70vIrginica 49 79

26 32 270792 26 51558 2568

16 0128

24 634 099 393 1096 1217 1826

12 20813445

26 321 517,479 633

16 7231258

34 24 6 0 279 5 171 186748998

12 249794

16 16412391

34 24 6 24 126 2 1 132 73016222281

12 17220

26 32 0 3426 10 388 1369

If we have computed, S:RnR1, how can we utilize it?. We can, of course simply put spherical hulls boundaries by centering on the class Avgs, e.g., Sp p=AvgS

Setosa 0 154 E=50 I=11vErsicolor 394 1767vIrginica 369 4171

with AI 17220

with AE 1 517,478 633

eliminates FPs better?

What is the cost for these additional cuts (at new p-values in an L-interval)? It looks like: make the one additional calculation: LL-2p-(2p-2p-(2pood)dd)d then AND the interval masks, then AND the class masks? (Or if we already have all interval-class mask, only one mask AND step.)

Recursion works wonderfully on IRIS: The only hull overlaps after only d=1000 areAnd the 4 i's common to both are {i24 i27 i28 i34}. We could call those "errors".

If on the L 1000,avgE interval, [-1, 11) we recurse using SavgI we get7 436 540,4 72170

Thus, for IRIS at least, with only d=e1=(1000), with only the 3 ps avgS, avgE, avgI, using full linear rounds, 1 R round on each resulting interval and 1 S, the hulls end up completely disjoint. That's pretty good news!

There is a lot of interesting and potentially productive (career building) engineering to do here.What is precisely the best way to intermingle p, d, L, R, S? (minimizing time and False Positives)?