Re: Want to learn Thin Plate Spline



goodjeff ha scritto:

Dear dl:

Thank you for the kind reply. Actually I have googled for nearly one
day, and I can barely found a online text that explain this variational
problem in detail. A friend just refered me to a link which clearly
explains a simplified problem:
http://www-cse.ucsd.edu/classes/fa01/cse291/hhyu-presentation.pdf

Your explanation on the selection of \lambda is very interesting.
Could you please explain a little more on this point:
If f(x) has not enough degrees of freedom, the two objectives are not
compatible and you must specify how much each objective should be
optimized.
I do not understand what is "enough degrees of freedom", and based on
what measurement can we "specify how much each objective should be".

Say we has 100 points for {x}, 100 points for {y}, and each point is 2
dimensional. If f(x) is set to be affine transform function which
should have 9 degree of freedom, and we want the two objective
"equally" optimized, what \lambda should be specified?


Suppose you have just two points (x_1, y_1) and (x_2, y_2) (with x_1
!= x_2).

You can fit a straight line y = a + b * x to these points.

To do so, you use up your two degrees of freedom a and b to satisfy the
two conditions (the line must pass through (x_1, y_1) and (x_2, y_2))
and there is nothing more you can do.

Now suppose that you fit a quadratic parabola y = a + b * x + c * x^2
to the same points.

A quadratic parabola needs three points to be specified, you only have
two points, so you have one spare degree of freedom. You could use it,
as an instance, to ask that the slope (first derivative) of the
parabola be a specified value in one of the two points.

If you use a cubic parabola, once it hits the two points, you have
still two degrees of freedom. You could use them to ask that the slope
be a specified value in one of the two points plus something else, eg
that the integral of the square of the second derivative be minimal.

But what if you want to use a low degree polynomial to fit more points
than needed to specify the polynomial itself? Of course it won't hit
all of the points except in special cases when they happen to be in the
right places, but you still can find a polynomial that "does its best"
at fitting the points.

You decide a quantity describing how good the polynomial is at fitting
the points; as an instance, it could be the sum of the squared
differences between y_i and the polynomial value at x_i, or the sum of
the squared normal distances between the points and the polynomial
curve. Then you can find a set of coefficients for the polynomial, so
that it is the best possible in minimizing the quantity you decided.

Now go one step further and say that you want to use a low degree
polynomial not only to fit more points than needed, but also to satisfy
some other requirement, eg smoothness. Is it possible to do something
in this case?

Yes it is. But you now have two quantities to be minimized: one, as
before, concerning the goodness of fit, and the new one concerning the
smoothness. In general, these two requirements won't agree: they will
"pull in opposite directions".

So it is not possible to fully satisfy both of them. You must decide a
tradeoff: how much to satisfy the first and how much the second. Hence
the (in)famous lambda.

In general it is not easy to say how to "equally" optimize the two
objectives. There should be a way to compare them. How could you say
that the polynomial is as much close to the points as it is smooth?

Suppose that x and y are both measured in meters. Then the
goodness-of-fit quantity would be square meters, while the smoothness
quantity (integral of the square of the second derivative) would be
inverse meters. You cannot compare m^2 to m^-1 unless you introduce a
conversion factor: lambda, again.

A possibility of comparison could be if both quantities had a
"translation" in a common unit of measure: say, money. Suppose you are
charged a duty d_1 for every m^2 the polynomial stays away from the
points to be fitted, and a duty d_2 for every m^-1 of non-smoothness.
Then you could minimize your loss by taking lambda = d_2 / d_1 (or the
reverse according to where you put it).

btw, the examples were for polynomials but what said holds in general.

hth

.



Relevant Pages

  • Re: Want to learn Thin Plate Spline
    ... Now I think I understand your opinion on the selection of the ... When fhas full degree of freedom, the first item in the cost ... what measurement can we "specify how much each objective should be". ... the examples were for polynomials but what said holds in general. ...
    (sci.math)
  • Re: Discontinuity
    ... By convention, if a function of real variable is described by giving ... domain to be "the natural domain." ... So, by convention, if you specify a function by saying that f= ... u/vwhere u and v are polynomials, ...
    (sci.math)
  • Re: Discontinuity
    ... So, by convention, if you specify a function by saying that f= ... u/vwhere u and v are polynomials, ... when we proceed to the derivate. ... Every point of the domain of the derivate is a removable discontinuity ...
    (sci.math)
  • Re: Fundimentals of Elliptic Curves for a newbe
    ... of order a power of a prime. ... describe using polynomials, but this is not always the case. ... you need to specify that you are taking these ... "GF" means Galois Fields, and is simply another name for finite ...
    (sci.crypt)
  • Re: More about --- Formulae for Latin squares of size 2^n
    ... Galois Field to the prime base q; for mod 2 polynomials, ... "To get primitives of non-Mersenne prime degree n, ... > standard 4x4 square. ... > permutation is orthogonal to is also orthogonal to 23 others. ...
    (sci.crypt)