User Tools

Site Tools


rame.r

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
rame.r [2007/05/03 03:02] – dirtyrame.r [2011/01/28 04:15] (current) – old revision restored dirty
Line 16: Line 16:
 rame.r now provides two types of transformation function.  The first one is: rame.r now provides two types of transformation function.  The first one is:
  
-{{ polynomial_transformation.png?385 }}+{{ rame.r:polynomial_transformation.png?385 }}
  
 In this transformation function, users should specify //α// and //β//.   In this transformation function, users should specify //α// and //β//.  
Line 23: Line 23:
 Suppose there is a dataset { //s//<sub>1</sub>, //s//<sub>2</sub>, ..., //s<sub>n</sub>// } of with each instance has a function value { //f//(//s//<sub>1</sub>), //f//(//s//<sub>2</sub>), ..., //f//(//s<sub>n</sub>//) }.  You might regard each sample //s<sub>i</sub>// as a //d//-dimensional vector <//f//<sub>1</sub>, //f//<sub>2</sub>, ..., //f<sub>d</sub>//>.  In general, [[wp>multiple_linear_regression|Multiple Linear Regression]] transforms a //d//-dimensional dataset into an 1-dimensional dataset to fit the corresponding function values.  As the following figure shown, there are 4 samples { //s//<sub>1</sub>, //s//<sub>2</sub>, //s//<sub>3</sub>, //s//<sub>4</sub> } on a 2-dimensional plane. Suppose there is a dataset { //s//<sub>1</sub>, //s//<sub>2</sub>, ..., //s<sub>n</sub>// } of with each instance has a function value { //f//(//s//<sub>1</sub>), //f//(//s//<sub>2</sub>), ..., //f//(//s<sub>n</sub>//) }.  You might regard each sample //s<sub>i</sub>// as a //d//-dimensional vector <//f//<sub>1</sub>, //f//<sub>2</sub>, ..., //f<sub>d</sub>//>.  In general, [[wp>multiple_linear_regression|Multiple Linear Regression]] transforms a //d//-dimensional dataset into an 1-dimensional dataset to fit the corresponding function values.  As the following figure shown, there are 4 samples { //s//<sub>1</sub>, //s//<sub>2</sub>, //s//<sub>3</sub>, //s//<sub>4</sub> } on a 2-dimensional plane.
  
-{{ linear_transformation.png?226 }}+{{ rame.r:linear_transformation.png?226 }}
  
 We can use a **linear transformation function //T//()** to transform these points, that is, //T//(//s<sub>i</sub>//) = //T//(<//f//<sub>1</sub>, //f//<sub>2</sub>>) = //w//<sub>0</sub> + //w//<sub>1</sub>//f//<sub>1</sub> + //w//<sub>2</sub>//f//<sub>2</sub>.  The goal of most regression tools is to determine { //w//<sub>0</sub>, //w//<sub>1</sub>, //w//<sub>2</sub> } for maximizing the correlation between { //f//(//s//<sub>1</sub>), //f//(//s//<sub>2</sub>), //f//(//s//<sub>3</sub>), //f//(//s//<sub>4</sub>) } and { //T//(//s//<sub>1</sub>), //T//(//s//<sub>2</sub>), //T//(//s//<sub>3</sub>), //T//(//s//<sub>4</sub>) }.  We can use a **measure function //M//()** to see how fit are {//f//(//s<sub>i</sub>//)} and {//T//(//s<sub>i</sub>//)}.  One typical measure function is [[wp>root_mean_square_deviation|Root Mean Square Deviation]] as shown in the next figure. We can use a **linear transformation function //T//()** to transform these points, that is, //T//(//s<sub>i</sub>//) = //T//(<//f//<sub>1</sub>, //f//<sub>2</sub>>) = //w//<sub>0</sub> + //w//<sub>1</sub>//f//<sub>1</sub> + //w//<sub>2</sub>//f//<sub>2</sub>.  The goal of most regression tools is to determine { //w//<sub>0</sub>, //w//<sub>1</sub>, //w//<sub>2</sub> } for maximizing the correlation between { //f//(//s//<sub>1</sub>), //f//(//s//<sub>2</sub>), //f//(//s//<sub>3</sub>), //f//(//s//<sub>4</sub>) } and { //T//(//s//<sub>1</sub>), //T//(//s//<sub>2</sub>), //T//(//s//<sub>3</sub>), //T//(//s//<sub>4</sub>) }.  We can use a **measure function //M//()** to see how fit are {//f//(//s<sub>i</sub>//)} and {//T//(//s<sub>i</sub>//)}.  One typical measure function is [[wp>root_mean_square_deviation|Root Mean Square Deviation]] as shown in the next figure.
  
-{{ rmsd.png?211 }}+{{ rame.r:rmsd.png?211 }}
  
 So we got an optimization problem: __to determine variables in the transformation function //T//() for optimizing the measure function //M//()__.  Conventional techniques assume that //T//() and //M//() have good properties (ex. differentiable).  These assumptions make the optimization process easier, faster, and (probably) deterministic.  However, these assumptions also imply limitations on //T//() and //M//().  That's why we introduce rame.r which could support any //T//() and //M//(), i.e. have no limitations! So we got an optimization problem: __to determine variables in the transformation function //T//() for optimizing the measure function //M//()__.  Conventional techniques assume that //T//() and //M//() have good properties (ex. differentiable).  These assumptions make the optimization process easier, faster, and (probably) deterministic.  However, these assumptions also imply limitations on //T//() and //M//().  That's why we introduce rame.r which could support any //T//() and //M//(), i.e. have no limitations!
rame.r.1178161336.txt.gz · Last modified: by dirty