Re: Want to learn Thin Plate Spline
- From: "dl" <daniele.lugli@xxxxxxxxxxxxxxxx>
- Date: 3 Nov 2006 15:31:47 -0800
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 notI do not understand what is "enough degrees of freedom", and based on
compatible and you must specify how much each objective should be
optimized.
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
.
- Follow-Ups:
- Re: Want to learn Thin Plate Spline
- From: goodjeff
- Re: Want to learn Thin Plate Spline
- References:
- Want to learn Thin Plate Spline
- From: goodjeff
- Re: Want to learn Thin Plate Spline
- From: dl
- Re: Want to learn Thin Plate Spline
- From: goodjeff
- Want to learn Thin Plate Spline
- Prev by Date: Re: Intersection points of y=x^12 and y=2^x????
- Next by Date: Re: Calc Problem
- Previous by thread: Re: Want to learn Thin Plate Spline
- Next by thread: Re: Want to learn Thin Plate Spline
- Index(es):
Relevant Pages
|