SJinping / GMM-overlap-rate

Implement a measurement of overlap rate in Gaussian mixture model
7 stars 2 forks source link

Function RC #1

Open jchambyd opened 7 years ago

jchambyd commented 7 years ago

Hi SJinping, nice work,

I do not understand why your function RC need only one parameter x and return y. Your algorithm works for problems with two dimensions (each instance has the form (x, y) ), so, in my opinion (probably wrong) your function RC needs to receive x and y and return a new value that would be the same of p(X) (where X is (x,y)). In fact, in your function OLR you do not need to use the function pdf because I think that the value of pdf should be obtain from the RC (because this points are on the ridge curve).

Regards

SJinping commented 7 years ago

@jchambyd

Good questions!

This algorithm works for 2-D Gaussian only.

RC function is supposed to calculate y given x, which guarantees the point (x,y) is on the curve. For a given point (x,y), we don't really know it is on the curve or not. Since the mean point (peak point) is on the curve, the algo works like this: start with x of the mean point, then add a small increment to x, denoting as x_step; given x_step, the algo is going to find a y, making sure (x_step, y) is on the curve. The equation of the RC is described as Eq. 7 in the paper.

Yes, for a 2-D Gaussian distribution, the curve should be in a 3-D space, that is it should consist of (x,y,z). According to your question, input (x,y) and output z, intuitive. However, actually, the RC function is used to find a point (x,y) that on the projection of the curve on x-y space, and the point (x, y) is also on the pdf of the distributions. Remember that for a 2-D Gaussian, only a 2-D point is given, will we obtain the probability density. So, still, we need to call pdf function to obtain the probability density.

I wrote a blog to illustrate how the algorithm works, but it is written in Chinese. I will translate it into English later.

If you have any question, plz post here.

jchambyd commented 7 years ago

Thanks a lot! Finally I can understand how the algorithm works for two dimensions. Now, for a 3-D Gaussian, with a peak point (x,y,z) and the RC defined by 2 equations, the process for calculate one point (x_step, y', z') on the curve would be very similar?, probably: 1- Given a x_step, the algorithm is going to find a y' (projection of the curve on x-y space) (with the first equation) 2- With the value y' (from the first step), the algorithm is going to find a 'z'' (projection of the curve on y-z space) (with the second equation) 3- And finally we obtain the point (x_step, y', z') Is correct?

SJinping commented 7 years ago

@jchambyd Yes, a 3-D Gaussian is very similar to 2-D Gaussian. The ridge curve will be a ridge surface. But I'm not sure the process is correct or not. I didn't focus on that thoroughly :). For a 3-D Gaussian, I think the process should be finding z for a given (x,y)? In theory, the algorithm can be generalized to n-D Gaussian, but the equations should be also changed.