Download presentation
Presentation is loading. Please wait.
Published byDana Shelton Modified over 6 years ago
1
From: Perrizo, William Sent: Thursday, February 02, 2012 10:45 AM To: 'Mark Silverman'
The Satlog (Landsat Satellite) data set from UCI Machine Learning Repository is a good one for image classification trials. I have created level-1 pTrees for the impure predicate “> 50% 1’s” using 64 bit strides. It is surprising how accurately one seems to be able to classify using only level-1 impure pTress (the speedup is a given). An aside: The longer term project of changing the horizontal mindset to a vertical mindset, is ongoing. I’m pretty sure CCD cameras produce vertical data, not horizontal. A embedded device might strip off bitslices as the image bands come out of these cameras and produce stride=64, level-1 “50% ones” pTrees on-the-fly (using FPGAs?)) Suppose the task is to identify tanks from photos (many, large photos) and we get only one quick (software) look at them. We want to have an Oblique FAUST classifier trained from previous images containing identified tanks. I.e., We want an accurate cut-hyperplane (if there are n bands, the cut-hyperplane is n-1 dimensional and divides the space in half) From training data, we calculate vector, D≡ meanTankmeanNotTank, (d≡D/|D|) and constant, a≡ ½domT + ½domNT then all points in the pTree, Pxod<a are classified as tanks. Note a ≡ domT domNT is better (stdT = standard deviation of the projection of T on the d-line). stdT+stdNT stdNT stdT With multilevel pTrees, the row ordering is important (for speed and accuracy (and zoomability of images) ). If pixels are raster ordered, it is unlikely that tank-pixel runs will cover any level-1 stride (if Z or Hilbert ordered, maybe?). But we can sort the training set on class (training is a 1-time process). Once a good cut-plane is identified, then it can be used to classify all incoming images using Mohammad's formula for Pxod<a (one AND program across). Since training is a one-time process, it should be done for maximum accuracy, not speed (so level-1 training may be dumb?). If the flood of images to be classified come in as level-1 50% pTrees, Mo's formula can be used for very fast classification (using FPGAs?). The accuracy of this classification depends only on the quality of the training step (cut-planes). So, train slowly (obtain optimal d and a) using level-0 pTrees, then classify using level-1 50% pTrees and Mo's formula? The classification will be fast even using level-0 pTrees (using Mo's formula implemented on FPGAs?)
2
D≡ mrmv. FAUST Oblique formula: P(Xod)<a X any set of vectors (e.g., a training class). Let d = D/|D|. To separate rs from vs using means_midpoint as the cut-point, calculate a as follows: Viewing mr, mv as vectors ( e.g., mr ≡ originpt_mr ), a = ( mr+(mv-mr)/2 ) o d = (mr+mv)/2 o d What if d points away from the intersection, , of the Cut-hyperplane (Cut-line in this 2-D case) and the d-line (as it does for class=V, where d = (mvmr)/|mvmr| ? Then a is the negative of the distance shown (the angle is obtuse so its cosine is negative). But each vod is a larger negative number than a=(mr+mv)/2od, so we still want vod < ½(mv+mr) o d r r r v v r mr r v v v r r v mv v r v v r v d d a
3
FAUST Oblique vector of stds D≡ mrmv , d=D/|D| PX o d < a
= PdiXi<a To separate r from v: Using the vector of stds cutpoint , calculate a as follows: Viewing mr, mv as vectors, a = ( mr mv ) o d stdr+stdv stdr stdv What are the purple stds? approach-1: for each coordinate (or dimension) calculate the stds of the coordinate values and for the vector of those stds. Let's remind ourselves that the formula given Md's formula, does not require looping through the X-values but requires only one AND program across the pTrees. PX o d < a = PdiXi<a r r r v v r mr r v v v r r v mv v r v v r v d
4
FAUST Oblique D≡ mrmv , d=D/|D|
PXod<a = PdiXi<a FAUST Oblique D≡ mrmv , d=D/|D| Approach 2 To separate r from v: Using the stds of the projections , calculate a as follows: a = pmr (pmv-pmr) = pstdr+pstdv pstdr pmr*pstdr + pmr*pstdv + pmv*pstdr - pmr*pstdr pstdr +pstdv next? pmr (pmv-pmr) = pstdv+2pstdr 2pstdr pmr*2pstdr + pmr*pstdv + pmv*2pstdr - pmr*2pstdr 2pstdr +pstdv In this case the predicted classes will overlap (i.e., a given sample point may be assigned multiple classes) therefore we will have to order the class predictions. r r r v v r mr r v v v r r v mv v r v v r v By pmr, we mean this distance, mrod, which is also mean{rod|rR} r | v | d r | pmr | By pstdr, std{rod|rR} | r | r | r v | pmv | | v | v | v
5
FAUST for Satlog(landsat) NonOblique lev-0 1's 2's 3's 4's 5's 7's
R G ir ir2 means R G irR ir stds NonOblique lev-0 1's 's 's 's 's 's True Positives: Class Totals-> NonOblq lev-1 50% 1's 's 's 's 's 's True Positives: False Positives: Oblique level-0 using midpoint of means 1's 's 's 's 's 's True Positives: False Positives: Oblique level-0 using means and stds of projections (w/o class elimination) 1's 's 's 's 's 's True Positives: False Positives: Oblique lev-0, means, stds of projs (with class elimination in 2,3,4,5,6,7,1 order) Note that no elimination occurs! 1's 's 's 's 's 's True Positives: False Positives:
6
FAUST X any set of vectors. D≡ mrmv , d=D/|D| PX dot d<a
= PdiXi<a To separate r from v: Using the mean and std of the projections cutpoint , and: a = pmr (pmv-pmr) = pstdv+2pstdr 2pstdr pmr*2pstdr + pmr*pstdv + pmv*2pstdr - pmr*2pstdr pstdr +2pstdv Oblique level-0 using means and stds of projections 1's 's 's 's 's 's True Positives: False Positives: Class Totals-> Oblique level-0 using means and stds of projections, doubling pstdr as above 1's 's 's 's 's 's True Positives: False Positives: Oblique lev-0, means, stds of projs, doubling pstdr, classify, eliminate in 2,3,4,5,7,1 order 1's 's 's 's 's 's True Positives: False Positives: So the number of FPs is drastically reduced and TPs somewhat reduced. Is that better? If we parameterize the 2 (doubling) and adjust to max TPs and min FPs, what is the optimal multiplier parameter value? Next slide shows low-to-high std elimination ordering. r r r v v r mr r v v v r r v mv v r v v r v pmr | d r pmv v
7
FAUST Oblique: X any set of vectors. D≡ mrmv , d=D/|D| PX dot d<a
= PdiXi<a To separate r from v: Using the mean and std of the projections cutpoint , and: a = pmr (pmv-pmr) = pstdv+2pstdr 2pstdr pmr*2pstdr + pmr*pstdv + pmv*2pstdr - pmr*2pstdr pstdr +2pstdv Class Totals-> Oblique level-0 using means and stds of projections 1's 's 's 's 's 's True Positives: False Positives: Oblique level-0 using means and stds of projections, doubling pstdr as above 1's 's 's 's 's 's True Positives: False Positives: Oblique lev-0, means, stds of projs, doubling pstdr, classify, eliminate in 2,3,4,5,7,1 order 1's 's 's 's 's 's True Positives: False Positives: low-to-high std elimination ordering: Oblique lev-0, means, stds of projs, doubling pstdr, classify, eliminate in 3,4,7,5,1,2 order 1's 's 's 's 's 's True Positives: False Positives:
8
FAUST Oblique lev-0 std1/(std1+std2) 1's 2's 3's 4's 5's 7's
True Positives: False Positives: lev0 2std1/(2std1+std2) TP: FP: 2s1/(2s1+s2) elim ord: TP: FP: 2s1/(2s1+s2) elim ord: TP: FP: 2s1/(2s1+s2) elim ord: TP: FP: above=(std+stdup)/gap below=(std+stddn)/gapdn which suggest elim order 425713: above below above below above below above below avg |cls avg | | | | | | red green ir ir2 best to use s1/(s1+s2) total TP s1/(s1+s2) FP TP 2s1/(2s1+s2) FP TP 2s1/(2s1+s2) FP TP 2s1/(2s1+s2) FP TP 2s1/(2s1+s2) FP TP s1/(s1+s2) level-1 50% FP FAUST Oblique
9
FAUST Oblique: D≡ mrmv , d=D/|D|
lev-0 std1/(std1+std2) 1's 's 's 's 's 's True Positives: False Positives: lev0 2std1/(2std1+std2) TP: FP: 2s1/(2s1+s2) elim ord: TP: FP: 2s1/(2s1+s2) elim ord: TP: FP: 2s1/(2s1+s2) elim ord: TP: FP: total TP s1/(s1+s2) FP TP 2s1/(2s1+s2) FP NonOblq lev-1 50% 1's 's 's 's 's 's True Positives: False Positives:
10
6-hop myrrh example (from Damian).
We are looking for real-life examples, e.g., “friends of friends of those who buy X, buy Y”. 2 3 4 5 J=Person AreGivenBy=U(H,I) I=Customers C 1 4 1 1 1 3 1 6-hop myrrh example (from Damian). Market agency targeting advertising to friends of customers: Entities: 1. advertisements markets merchants products 5. reviews customers 7. friends The hop logic would be: 1. Advertisements target specific markets. 2. Markets have particular merchants 3. Merchants sell individual products. 4. Products have reviews. 5. Reviews are provided by customers. 6. Customers have friends. 1 2 1 1 1 1 1 IsAFriend?(I,J) 2 3 4 5 H=rating Sell=S(F,G) G=products 1 4 1 1 1 3 1 1 2 1 1 1 1 1 RatedAt(G,H) 2 3 4 5 F=merchants targetsQ(D,E) E=Markets 1 4 1 1 3 1 1 2 1 1 1 1 IsUsedBy= R(E,F) 2 3 4 5 D=Ads A Another example (from Ya). In 779 slide "03vertical_audio1.ppt", 2 techniques to address the curse of cardinality and dimensionality are: Parallelizing the processing engine. ... Parallelize the greyware engine on clusters of people (i.e., enable visualization and use the web...). There is a good example of the "visualization and use the web": Crystal structure of a monomeric retroviral protease solved by protein folding game players Although this is a protein structure problem, not a curse of cardinality or curse of dimensionality problem.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.