I'm trying to come up with a way to explain what the code does
Let's see, do you know what IndexToAssignment does?
A = IndexToAssignment(I, D) converts an index, I, into the .val vector
% into an assignment over variables with cardinality D. If I is a vector,
% then the function produces a matrix of assignments, one assignment
% per row.
That sounds really intuitive, its kind of said that they have to use such complicated data structures, without ever explaining them properly to make us program that
@Phonon Sorry man, havent been following it just yet - completely swamped with CS373, Venture Labs, Workx2, waiting for CV, hehe
Im just going to do a cursory scan of the PGM for now, its a great topic but my god.. her teaching is not... the best...
@IvoFlipse Exactly! I said the same thing to myself after the first couple of lectures. The whole point of those things is to make it "as simple as possible but not any simpler", and I feel as though there is a lot of work they need to do in that dept.
@Mohammad Well I'm working on the last CS373 assignment, having some problems with picking the right indices, but after that I plan to do some reading for Algorithms and PGM
@IvoFlipse Yeah exactly. I think I was really just after the statistical/probabilistic aspects of the course in CS373 - although I have fallen in love with TWIDDLE! Very useful tool.
@Mohammad pretty much yeah, its already been done with humans
not totally accurate, but it doesn't have to be
it would just help me keep track of things like: if one paw is in contact with the ground, then the next contact can't be from the paw that's still on the ground elsewhere
or if I have a print which I'm certain is the front left paw and another hits right next to it, I could predict it was the right hind paw, but then if there also lands one near my front right paw, then obviously its highly unlikely that first one was a right hind paw :P
@IvoFlipse Well, lets say you have a particular pressure reading in time/space, (lets fix it), then cant you say 'the gait is equal to so and so' - unique answer?
I would train a model for several gait patterns or learn how to pick the right one based on patterns in the distribution (both spatial/temporal, but also for each paw)
for example in this case there's a pattern that's repeated in almost all trials for that dog (and quite a lot of others as well)
left front, right hind, right front, left hind, etc...
So obviously I would need to train it to try and recognize which pressure distribution belongs to which paw, then have it to make a 'robot model' walk the same way
honestly there's only a limited amount of combinations, if you can accurately find repeated patterns, so I could model every possibility and pick the most 'natural' one :P
@IvoFlipse Yeah I mean, certainly the PGM model would help, to just model all this with all those varaibles. What I am wondering is, lets say you fix pressure amount, (either pressure or no pressure for simplicity), and let us also fix the number of pressure points that come in, (lets say 4 - in other words, you always get 4 points).
@IvoFlipse Now the only thing to determine is that pattern of points. So given this example, how does one determine a 'gait' from it?You know, 'Gait_number_1' is simply 'this' pattern of the dots, and 'Gait_number_2' is simply some other pattern of the dots?
Ah I didn't necessarily wanted to use a PGM, but more something that actually 'models' the movements, like a stick figure, but without any fancy graphics :P
Though I'm obviously curious what a PGM could help me do
probably help me reason about a large group of variables, like I collect certain variables for each paw, which may or may not make it likely that its a left or right paw or a front or hind paw
@IvoFlipse Yes exactly, collecting all that data about everything you can measure so to speak, and there will be some redundancy. Then you can also use PCA to do dimensionality reduction. I have used it for detecting certain patterns in my work as well
@IvoFlipse I am guessing PGM will show you which data are independent of likelihood of which animal it is
In my previous question I got an excellent answer that helped me detect where a paw hit a pressure plate, but now I'm struggling to link these results to their corresponding paws:
I manually annotated the paws (RF=right front, RH= right hind, LF=left front, LH=left hind).
As you can see there...
@Phonon I can tell you the things I learnt about so far, pretty cool, histogram/kalman/particle filters, twiddle algorithm, (helps you set parameters for whatever algorithm you made - 'local hill climber), and some smoothing techniques
@Phonon Wait what class are you taking from udacity right now?
@Phonon I thought they started this past Tuesday but I was too busy to check it out...
@IvoFlipse What are your thoughts on using artificial training data, as you might have done with the paw example - is using artificial data 'cheating' in a way?
@Mohammad I only know what Andrew Ng said: its kind of cheating, because you can't tell if you can accurately predict if it'll work on actual samples, because you didn't train it on them
@IvoFlipse What I am thinking of doing for my problem is to make artificial data sets for all images, shifted, and scaled. Then I will get my eigen-dictionary off of that, and project any new set on those to detect occurance.
@Phonon Hmm thats weird...I could have sworn I thought this started this week ..heh
@Phonon Thats awesome - actually probability-based DSP is something that I think is really really powerful - and not something that we traditionally do - which is why once stuff calms down a little I migth have to revisit. Ill have to khan academy it a little bit for probability. Really it seems to just come down to Total Prob, and Bayes rule.
@Phonon I think its the same thing - I printed a paper about it last night and read it, essentially its a (constrained) minimization problem. On the one hand, make your estimate of x have the least error to what noisy x, but on the other hand punish your estimate of x for having large variance
@Phonon The 'total variance' seems to just be sum(diff(x)).