Skip to main content
25 events
when toggle format what by license comment
Apr 13, 2017 at 12:57 history edited CommunityBot
replaced http://mathoverflow.net/ with https://mathoverflow.net/
Feb 22, 2010 at 2:43 comment added fedja We are just talking of different things here. What I'm talking about is the following. Take 800 random vectors, split them into 2 groups, take the unit bisector $w$ of the smaller group. Then I claim 2 things: (1) its maximal scalar product with a vector in the larger group is at most 4 with high probability ($\exp(4^2/2)>2900$); (2) its minimal scalar product with a vector in a smaller group is at least 25-4=21 with high probability. This gives a high probability margin of 17 for the random set, which is a bit lower than for the orthogonal set but still too large.
Feb 20, 2010 at 5:51 comment added user3035 But these are not unit vectors. These are vectors of 250,000 +-1's.
Feb 20, 2010 at 2:55 comment added fedja The standard deviation of the scalar product with any unit vector is just 1 (the sum of the squares of the coordinates of the unit vector).
Feb 20, 2010 at 1:38 comment added user3035 OK, I see. Seems correct for orthogonal vectors. 25 is not a large margin, though. We have 250,000 random +-1 numbers; the average dot product is clearly zero, but I suspect that standard deviation will be much larger than 25.
Feb 20, 2010 at 0:43 comment added fedja The SVM searches for a unit vector $w$ and the largest $A$ such that $(w,x)>c+A$ on good points and $(w,x)<c$ on bad points, $A$ being the "margin", right? If so, my claim is merely that any partition of 800 pairwise (almost) orthogonal vectors of length 500 into two groups can be separated with margin 25 (take $w$ to be the unit "bisector" of the smaller group; its scalar product with any vector in the larger group is 0 and with any vector in the smaller group at least 500/20=25). Of course, the orthogonality assumption is somewhat dubious, but still...
Feb 18, 2010 at 16:52 comment added user3035 Now, the probability that one probe is always +1 on a set of N positive examples is 1/2^N. If N = 100, then 2^N ~= 1000^10 ~= 10^30. I.e. you'd need an input dimensionality of at least 10^30 to have a spurious correlation among 100 positive examples.
Feb 18, 2010 at 16:48 comment added user3035 Second, the correct solution for this training set is the hyperplane p_0 = 0; or, in terms of weights, w_0 = 1, w_i = 0 for i > 0. It looks like SVM will find exactly this solution in most cases. Basically, if a probe p_i takes on both +1 and -1 values in the positive set, then its weight w_i will be 0. The only way a weight could be non-zero is if a probe is always +1 or always -1 in the positive set (and an additional condition on top of that, which is that it should always be the opposite value in the negative set, which we will ignore for now).
Feb 18, 2010 at 16:41 comment added user3035 I'm not sure where the numbers like 25 and 144 come from. Let me try to state it in terms I understand and see if that's useful. Suppose we are splitting on probe p_0. I.e. p_0 = +1 in all positive examples, p_0 = -1 in all negative examples. The rest of the probes are +- 1 at random. So, first, this is the only split I care about. It may be true that other splits of the same set of vectors give bigger margins, but that doesn't seem relevant. Since this is the split I want to learn, all I care about is this split and the margins of different planes separating it.
Feb 18, 2010 at 7:26 comment added fedja Suppose the probes are independent. If you use $36^2/2<800$ training vectors of $\pm 1$, they'll be essentially orthogonal and have length 500. Then with the classical SVM, you'll be able to get margin 25 on the unit vector for every splitting in a totally meaningless way. The pure separation in one position gives just margin 2, so you need 144 very well-correlated positions for the meaningful part to beat the meaningless one. That's why I believe we should severely restrict the separation directions to get a meaningful outcome. Am I wrong?
Feb 17, 2010 at 21:37 vote accept Lisa
Feb 17, 2010 at 18:38 comment added user3035 fedja: For many classifiers, overfitting like that is a concern. For SVM specifically, less so. There are two reasons. First, for $n$ training points SVM effectively has only $n$ (or $n+1$) parameters, regardless of input dimensionality. Second, the risk of SVM is bounded by a number that doesn't depend on input dimension (it depends on the margin instead). In fact, SVM in infinite-dimensional spaces is routinely used (via Gaussian kernel) with success. 36 is still a small number (but note that training would be done on pairs, and there are a few hundred possible pairs), but I think worth tryi
Feb 17, 2010 at 14:36 comment added fedja Even if you know which samples match the array on each probe, it seems to me that 36 is far too low a number to train a binary classifier in 250,000 dimensions to output anything meaningful. I mean, any 2 subsets of a generic $m$-point set in $R^n$ can be separated by a hyperplane when $m<n$, and that is what a typical binary classifier will be most happy to do, won't it? (moreover, that separating plane will need to involve just $m$ arbitrary coordinates and, again, 36 doesn't sound like a lot). Needless to say, such a decision-maker will be worthless. Am I missing something?
Feb 17, 2010 at 6:41 comment added user3035 OK, so let's assume for a moment that you are only interested in one probe. The task is, given two microarrays, to determine whether they are the same or different at that probe. But it doesn't look like you have training data suitable for that task directly. To apply classification, you'd need a set of microarray pairs, and for each pair whether the two arrays are the same or different AT THAT PROBE. But what you have is only whether or not the two arrays are from the same strain. This is more difficult, since two arrays from the same strain might be different at that probe, right?
Feb 17, 2010 at 6:33 history edited user3035 CC BY-SA 2.5
added 1461 characters in body
Feb 17, 2010 at 6:17 comment added Lisa How do you edit comments, It's late and my ability to type is going down hill fast.
Feb 17, 2010 at 6:15 comment added Lisa What I have now is 36 observations/samples, 4 are a match to the array(I know it is the same strain) there other are from know strain and I know which strain. I have 1-3 samples of each. My collaborator says there are more samples(of both types) but not many more so I can't be specific.
Feb 17, 2010 at 6:11 comment added Lisa @sheldon-cooper, Determining if the sample is a match to the array (the same parasite) is a solved problem. I am interested in finding unique parasites. That is they are different in unique was at specific probes. So yes is a unknown parasite different at a specific probe?
Feb 17, 2010 at 6:02 comment added user3035 Is the original individual also a parasite, similar to the other 15 parasites? If yes, you could use other parasites as examples too. A training example is really a pair of microarrays with a label "same" or "different". You have 12 arrays for the main subject; you can build 66 positive pairs from them. But if you have a parasite you sampled 3 times, you can build 3 more positive pairs from it too. That can be useful if you think they are all similar. If they are very different (e.g. one is a human and others are worms), this will not work.
Feb 17, 2010 at 5:54 comment added Lisa The array is specific to a individual and those are the only arrays I have. I have 15 or so other individuals and they have been sampled 1-3 times each. (these are parasites and I have 15 different strains/hybridization, I have sampled each strain 1-3 times. The array is specific to one of the strains)
Feb 17, 2010 at 5:48 comment added Lisa "collaborative filtering", How does a single model work, how do you choose the helper probes? I guess I should read about this more. That said I had assumed I would need a "test" for each probe. I can do the programing so that's not a problem.
Feb 17, 2010 at 5:37 history edited user3035 CC BY-SA 2.5
added 222 characters in body; edited body
Feb 17, 2010 at 5:33 comment added Lisa I have considered this. Lots for me to learn. I have about 12 samples that match the array do derive the mean and sd at each of the probes. And I have a small training set of about 40 sample that don't and again there are about 250,000 probes. Do you have an classifier method/algorithm you would recommended I look at?
Feb 17, 2010 at 5:31 history edited user3035 CC BY-SA 2.5
added 960 characters in body
Feb 17, 2010 at 5:24 history answered user3035 CC BY-SA 2.5