Finding the closest matching curve I have a set of curves in different shapes.  For eg, the graphs I have are 1/x, a parabola etc.  Given x and y values from observations, how can I find a closest curve.
I tried to fit a linear regression for y = 1/ax by transforming into log(y) = -log(a) - log(x) and another linear regression for y = ax^2 + b.  By comparing the sum of the squared residuals (since linear regression minmizes that) I can choose the curve.
Is it a good method?
If I have multiple such curves, how can I generalizes that?  
Do I need to normalize the data?  If I normalize the data between 0 and 1, log is giving an error for the minimum values.
Is there a better method to do this?
 A: *

*Defining Close (choice of loss function). Your method does not compare like with like; one transforms the y to linearize the relationship but another leaves the y untransformed. You then minimized the sums of squares on whatever scale you had linearity. Even if you transform back after calculating the fit, you haven't optimized on the scale you're comparing on; you still aren't comparing like with like. 
This will give a fit, but not one that matches a single definition of "close".
You must begin by defining "closeness" in order to optimize it (find the closest).
If, for example, you decided to minimize the sums of squares of errors on the scale of the data, then taking logs to linearize the fit will not minimize the sums of squares of errors for that functional fit (it might be a good way to get starting values for an algorithm that did, though).
Once you have a single criterion of closeness, you can compare that criterion across possible fits.

*An example criterion. In the question you mention minimizing sum of squares. Whether this is suitable depends on the details of the problem and what you're trying to achieve (e.g. one important/relevant detail is whether the y-values are equally precise; with situations where people are comparing curve fits it's very often the case that they are not -- e.g. many such data are much less variable when values are near zero than when they are somewhat larger). 
You also mention taking logs; in many cases it may be that this is indeed a more suitable scale on which to compare fits. Specifically if the spread of the errors about the curve followed by the data is approximately proportional to the height of the curve, then the log-scale is typically a good choice.
If after proper consideration it does turn out that minimizing sums of squares is a good choice on some scale, that's a basis that should be applied to all the fits on the same scale. 
You would then (for many of the fits) have a nonlinear-least-squares criterion, which can be fitted in many packages. (e.g. in R it's possible to achieve this with nls)

*Number of parameters. Not all potential curves necessarily have the same number of parameters, and so should not be expected to fit equally well. Imagine comparing the following two models: $E(y) = ax^2 + bx$ and $E(y) = ax^2 + bx + c$.
If there's any noise in the y-values, the second will always fit the data more closely than the first by a raw fit criterion like least squares (or least absolute values or a likelihood criterion etc), even if you generated the data from the smaller model.
So a raw criterion like that doesn't make a good model ("curve") selection criterion unless all the candidates have the same number of parameters. If that's not the case, you might choose a penalized criterion (such as one of the information criteria) or you might focus on out-of-sample prediction - such as via cross-validation.

*Laundry list of models. Taking some arbitrary subset of models and optimizing fit is not a very good basis to arrive at a model choice. You'll tend to get fits that look better than they really are, and the model search will lead to a number of problems (which get worse as you make your laundry-list longer -- beware programs that offer something like "over 80 models!" - or worse, hundreds). Choice of models are much better made via theoretical considerations or insight gained across a range of related data (i.e. different sets of data on the same variables). 
If you do still have more than one model after applying such considerations, out of sample criteria (perhaps evaluates using a cross-validation approach as mentioned above) will tend to give fits which more reliably indicate their ability to tell you about data you don't have.

*If you just want a curve through the data. If you're not really after some simple-if-arbitrary formula and just want a curve through the data, you may be better off with nonparametric curve estimation methods than a long list of models. Something like local-linear (/local-polynomial) regression - kernel methods - or perhaps a spline model of some kind (cubic smoothing splines for example).
